Merge pull request #284 from vita10gy/weak-colors
Portal Weakness Colors
This commit is contained in:
		| @@ -12,7 +12,7 @@ Available Plugins | |||||||
| - [**Compute AP Stats**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/compute-ap-stats.user.js) Shows the potential AP an agent could obtain by destroying and rebuilding all the portals in the current zoom area. | - [**Compute AP Stats**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/compute-ap-stats.user.js) Shows the potential AP an agent could obtain by destroying and rebuilding all the portals in the current zoom area. | ||||||
| - [**Draw Tools**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/draw-tools.user.js) allows to draw circles and lines on the map to aid you with planning your next big field. [View screenshot](http://breunigs.github.com/ingress-intel-total-conversion/screenshots/plugin_draw_tools.png) | - [**Draw Tools**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/draw-tools.user.js) allows to draw circles and lines on the map to aid you with planning your next big field. [View screenshot](http://breunigs.github.com/ingress-intel-total-conversion/screenshots/plugin_draw_tools.png) | ||||||
| - [**Guess Player Level**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/guess-player-levels.user.js) looks for the highest placed resonator per player in the current view to guess the player level. | - [**Guess Player Level**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/guess-player-levels.user.js) looks for the highest placed resonator per player in the current view to guess the player level. | ||||||
| - [**Highlight Weakened Portals**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-portal-weakness.user.js) fill portals with red to indicate portal's state of disrepair. The brighter the color the more attention needed (recharge, shields, resonators). A dashed portal means a resonator is missing. | - [**Highlight Weakened Portals**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-portal-weakness.user.js) fill portals with red to indicate portal's state of disrepair. The brighter the color the more attention needed (recharge, shields, resonators). A dashed portal means a resonator is missing.   Red, needs energy and shields. Orange, only needs energy (either recharge or resonators). Yellow, only needs shields. | ||||||
| - [**Player Tracker**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/player-tracker.user.js) Draws trails for user actions in the last hour. At the last known location there’s a tooltip that shows the data in a table. [View screenshot](http://breunigs.github.com/ingress-intel-total-conversion/screenshots/plugin_player_tracker.png). | - [**Player Tracker**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/player-tracker.user.js) Draws trails for user actions in the last hour. At the last known location there’s a tooltip that shows the data in a table. [View screenshot](http://breunigs.github.com/ingress-intel-total-conversion/screenshots/plugin_player_tracker.png). | ||||||
| - [**Render Limit Increase**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/render-limit-increase.user.js) increases render limits. Good for high density areas (e.g. London, UK) and faster PCs. | - [**Render Limit Increase**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/render-limit-increase.user.js) increases render limits. Good for high density areas (e.g. London, UK) and faster PCs. | ||||||
| - [**Resonator Display Zoom Level Decrease**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/resonator-display-zoom-level-decrease.user.js) Resonator start displaying earlier. | - [**Resonator Display Zoom Level Decrease**](https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/resonator-display-zoom-level-decrease.user.js) Resonator start displaying earlier. | ||||||
|   | |||||||
| @@ -1,11 +1,11 @@ | |||||||
| // ==UserScript== | // ==UserScript== | ||||||
| // @id             iitc-plugin-show-portal-weakness@vita10gy | // @id             iitc-plugin-show-portal-weakness@vita10gy | ||||||
| // @name           iitc: show portal weakness | // @name           iitc: show portal weakness | ||||||
| // @version        0.2 | // @version        0.3 | ||||||
| // @namespace      https://github.com/breunigs/ingress-intel-total-conversion | // @namespace      https://github.com/breunigs/ingress-intel-total-conversion | ||||||
| // @updateURL      https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-portal-weakness.user.js | // @updateURL      https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-portal-weakness.user.js | ||||||
| // @downloadURL    https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-portal-weakness.user.js | // @downloadURL    https://raw.github.com/breunigs/ingress-intel-total-conversion/gh-pages/plugins/show-portal-weakness.user.js | ||||||
| // @description    Uses the fill color of the portals to denote if the portal is weak (Needs recharging, missing a resonator, needs shields) | // @description    Uses the fill color of the portals to denote if the portal is weak (Needs recharging, missing a resonator, needs shields)  Red, needs energy and shields. Orange, only needs energy (either recharge or resonators). Yellow, only needs shields. | ||||||
| // @include        http://www.ingress.com/intel* | // @include        http://www.ingress.com/intel* | ||||||
| // @match          http://www.ingress.com/intel* | // @match          http://www.ingress.com/intel* | ||||||
| // ==/UserScript== | // ==/UserScript== | ||||||
| @@ -24,46 +24,51 @@ window.plugin.portalWeakness.portalAdded = function(data) { | |||||||
|    |    | ||||||
|   var d = data.portal.options.details; |   var d = data.portal.options.details; | ||||||
|   var portal_weakness = 0; |   var portal_weakness = 0; | ||||||
|   if(getTeam(d) != 0) |   if(getTeam(d) !== 0) { | ||||||
|   { |     var only_shields = true; | ||||||
|     if(window.getTotalPortalEnergy(d)> 0 && window.getCurrentPortalEnergy(d) < window.getTotalPortalEnergy(d)) |     var missing_shields = 0; | ||||||
|     { |     if(window.getTotalPortalEnergy(d) > 0 && window.getCurrentPortalEnergy(d) < window.getTotalPortalEnergy(d)) { | ||||||
|       portal_weakness = 1 - (window.getCurrentPortalEnergy(d)/window.getTotalPortalEnergy(d)); |       portal_weakness = 1 - (window.getCurrentPortalEnergy(d)/window.getTotalPortalEnergy(d)); | ||||||
|  |       only_shields = false; | ||||||
|     } |     } | ||||||
|     //Ding the portal for every missing sheild.  |     //Ding the portal for every missing sheild.  | ||||||
|     $.each(d.portalV2.linkedModArray, function(ind, mod) |     $.each(d.portalV2.linkedModArray, function(ind, mod) { | ||||||
|     { |       if(mod === null) { | ||||||
|       if(mod == null) |         missing_shields++; | ||||||
|       { |         portal_weakness += .08; | ||||||
|         portal_weakness += .03; |  | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|     //Ding the portal for every missing resonator. |     //Ding the portal for every missing resonator. | ||||||
|     var resCount = 0; |     var resCount = 0; | ||||||
|     $.each(d.resonatorArray.resonators, function(ind, reso) |     $.each(d.resonatorArray.resonators, function(ind, reso) { | ||||||
|     { |       if(reso === null) { | ||||||
|       if(reso == null) { |  | ||||||
|         portal_weakness += .125; |         portal_weakness += .125; | ||||||
|       } |         only_shields = false; | ||||||
|       else { |       } else { | ||||||
|         resCount++; |         resCount++; | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|     if(portal_weakness < 0) { |     if(portal_weakness < 0) { | ||||||
|       portal_weakness = 0; |       portal_weakness = 0; | ||||||
|     } |     } | ||||||
|     if(portal_weakness>1) |     if(portal_weakness > 1) { | ||||||
|     { |  | ||||||
|       portal_weakness = 1; |       portal_weakness = 1; | ||||||
|     }  |     }  | ||||||
|      |      | ||||||
|     if(portal_weakness>0) |     if(portal_weakness > 0) { | ||||||
|     { |       var fill_opacity = portal_weakness*.7 + .3; | ||||||
|       var color = 'red'; |       var color = 'orange'; | ||||||
|       var fill_opacity = Math.round((portal_weakness*.8 + .2)*100)/100; |       if(only_shields) { | ||||||
|       var params = {fillColor: color, fillOpacity: fill_opacity, radius: data.portal.options.radius+1}; |         color = 'yellow'; | ||||||
|       if(resCount<8) |         //If only shields are missing, make portal yellow | ||||||
|       { |         // but fill more than usual since pale yellow is basically invisible | ||||||
|  |         fill_opacity = missing_shields*.15 + .1; | ||||||
|  |       } else if(missing_shields > 0) { | ||||||
|  |         color = 'red'; | ||||||
|  |       } | ||||||
|  |       fill_opacity = Math.round(fill_opacity*100)/100; | ||||||
|  |       var params = {fillColor: color, fillOpacity: fill_opacity}; | ||||||
|  |       if(resCount < 8) { | ||||||
|         // Hole per missing resonator |         // Hole per missing resonator | ||||||
|         var dash = new Array(8-resCount + 1).join("1,4,") + "100,0" |         var dash = new Array(8-resCount + 1).join("1,4,") + "100,0" | ||||||
|         params["dashArray"] = dash; |         params["dashArray"] = dash; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user