From e6305a0aa97d5da658720cae046d3f07ed25d298 Mon Sep 17 00:00:00 2001 From: Jon Atkins Date: Sat, 23 Nov 2013 09:01:22 +0000 Subject: [PATCH] getAvgResDist - return a small, but non-zero, value for zero distance resonator deployments (zero is already assumed to be no resonators deployed) portal-highlighter-bad-deployment-distance: highlight colour based on resonatror range: purple: likely 0m deployment (spoofer?), red <10m, orange under 24m, yellow under 36m otherwise no highlight --- code/portal_info.js | 4 +++- ...portal-highlighter-bad-deployment-distance.user.js | 11 +++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/code/portal_info.js b/code/portal_info.js index 569f8f0f..fd27b4ee 100644 --- a/code/portal_info.js +++ b/code/portal_info.js @@ -91,7 +91,9 @@ window.getAvgResoDist = function(d) { var sum = 0, resos = 0; $.each(d.resonatorArray.resonators, function(ind, reso) { if(!reso) return true; - sum += parseInt(reso.distanceToPortal); + var resDist = parseInt(reso.distanceToPortal); + if (resDist == 0) resDist = 0.01; // set a non-zero but very small distance for zero deployment distance. allows the return value to distinguish between zero deployment distance average and zero resonators + sum += resDist; resos++; }); return resos ? sum/resos : 0; diff --git a/plugins/portal-highlighter-bad-deployment-distance.user.js b/plugins/portal-highlighter-bad-deployment-distance.user.js index 2f44eb32..73c0cc3b 100644 --- a/plugins/portal-highlighter-bad-deployment-distance.user.js +++ b/plugins/portal-highlighter-bad-deployment-distance.user.js @@ -2,7 +2,7 @@ // @id iitc-plugin-highlight-bad-deployment-distance@cathesaurus // @name IITC plugin: highlight badly-deployed portals // @category Highlighter -// @version 0.1.0.@@DATETIMEVERSION@@ +// @version 0.1.1.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ @@ -25,12 +25,15 @@ window.plugin.portalHighlighterBadDeploymentDistance.highlight = function(data) var d = data.portal.options.details; var portal_deployment = 0; if(getTeam(d) !== 0) { - if(window.getAvgResoDist(d) > 0 && window.getAvgResoDist(d) < window.HACK_RANGE*0.9) { - portal_deployment = (window.HACK_RANGE - window.getAvgResoDist(d))/window.HACK_RANGE; + var avgDist = window.getAvgResoDist(d); + if(avgDist > 0 && avgDist < window.HACK_RANGE*0.9) { + portal_deployment = (window.HACK_RANGE - avgDist)/window.HACK_RANGE; } if(portal_deployment > 0) { var fill_opacity = portal_deployment*.85 + .15; - color = 'red'; + // magenta for *exceptionally* close deployments (spoofing? under 1m average), then shades of + // red, orange and yellow for further out + color = avgDist < 1 ? 'magenta' : avgDist < (window.HACK_RANGE*.25) ? 'red' : avgDist < (window.HACK_RANGE*.6) ? 'orange' : 'yellow'; var params = {fillColor: color, fillOpacity: fill_opacity}; data.portal.setStyle(params); }