diff --git a/plugins/portal-highlighter-missing-resonators.user.js b/plugins/portal-highlighter-missing-resonators.user.js index edff68ed..8788467a 100644 --- a/plugins/portal-highlighter-missing-resonators.user.js +++ b/plugins/portal-highlighter-missing-resonators.user.js @@ -22,20 +22,18 @@ window.plugin.portalsMissingResonators = function() {}; window.plugin.portalsMissingResonators.highlight = function(data) { - var d = data.portal.options.details; if(data.portal.options.team != TEAM_NONE) { - var missing_res = 8-data.portal.options.data.resCount; - - if(missing_res > 0) { - var fill_opacity = ((8-missing_res)/8)*.85 + .15; + var res_count = data.portal.options.data.resCount; + + if(res_count < 8) { + var fill_opacity = ((8-res_count)/8)*.85 + .15; var color = 'red'; - fill_opacity = Math.round(fill_opacity*100)/100; var params = {fillColor: color, fillOpacity: fill_opacity}; // Hole per missing resonator - var dash = new Array(missing_res + 1).join("1,4,") + "100,0" - params["dashArray"] = dash; + var dash = new Array((8 - res_count) + 1).join("1,4,") + "100,0" + params.dashArray = dash; data.portal.setStyle(params); } diff --git a/plugins/show-portal-weakness.user.js b/plugins/show-portal-weakness.user.js index c7622d3e..72c4c99b 100644 --- a/plugins/show-portal-weakness.user.js +++ b/plugins/show-portal-weakness.user.js @@ -2,7 +2,7 @@ // @id iitc-plugin-show-portal-weakness@vita10gy // @name IITC plugin: show portal weakness // @category Highlighter -// @version 0.7.1.@@DATETIMEVERSION@@ +// @version 0.7.2.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ @@ -22,66 +22,29 @@ window.plugin.portalWeakness = function() {}; window.plugin.portalWeakness.highlightWeakness = function(data) { - var d = data.portal.options.details; - var portal_weakness = 0; - if(getTeam(d) !== 0) { - var only_mods = true; - var missing_mods = 0; - if(window.getTotalPortalEnergy(d) > 0 && window.getCurrentPortalEnergy(d) < window.getTotalPortalEnergy(d)) { - portal_weakness = 1 - (window.getCurrentPortalEnergy(d)/window.getTotalPortalEnergy(d)); - only_mods = false; - } - //Ding the portal for every unapplicable mod. - $.each(d.portalV2.linkedModArray, function(ind, mod) { - if(mod === null || mod.type == 'MULTIHACK' || mod.type == 'HEATSINK' || mod.type == 'LINK_AMPLIFIER') { - if(mod === null) { - missing_mods++; - } - portal_weakness += .08; - } - }); - //Ding the portal for every missing resonator. - var resCount = 0; - $.each(d.resonatorArray.resonators, function(ind, reso) { - if(reso === null) { - portal_weakness += .125; - only_mods = false; - } else { - resCount++; - } - }); - if(portal_weakness < 0) { - portal_weakness = 0; - } - if(portal_weakness > 1) { - portal_weakness = 1; - } - if(portal_weakness > 0) { - var fill_opacity = portal_weakness*.85 + .15; - var color = 'orange'; - if(only_mods) { - color = 'yellow'; - //If only mods are missing, make portal yellow - // but fill more than usual since pale yellow is basically invisible - fill_opacity = missing_mods*.15 + .1; - } else if(missing_mods > 0) { - color = 'red'; - } + if(data.portal.options.team != TEAM_NONE) { + var res_count = data.portal.options.data.resCount; + var portal_health = data.portal.options.data.health/100; + + var weakness = (res_count/8) * (portal_health/100); + + if(weakness < 1) { + var fill_opacity = weakness*.85 + .15; + var color = 'red'; fill_opacity = Math.round(fill_opacity*100)/100; var params = {fillColor: color, fillOpacity: fill_opacity}; - if(resCount < 8) { - // Hole per missing resonator - var dash = new Array(8-resCount + 1).join("1,4,") + "100,0" - params["dashArray"] = dash; + + // Hole per missing resonator + if (res_count < 8) { + var dash = new Array((8 - res_count) + 1).join("1,4,") + "100,0" + params.dashArray = dash; } + data.portal.setStyle(params); - } else { - data.portal.setStyle({fillColor: COLORS[getTeam(data.portal.options.details)], - fillOpacity: 0.5, - dashArray: null}); - } + } } + } var setup = function() {