From fc74c3e342dbaf099a93c3f7fe2e01b545198ac6 Mon Sep 17 00:00:00 2001 From: vita10gy Date: Tue, 28 May 2013 21:10:14 -0500 Subject: [PATCH] New Highlighters --- .../portal-highlighter-my-8-portals.user.js | 68 +++++++++++++++++++ .../portal-highlighter-needs-recharge.user.js | 61 +++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 plugins/portal-highlighter-my-8-portals.user.js create mode 100644 plugins/portal-highlighter-needs-recharge.user.js diff --git a/plugins/portal-highlighter-my-8-portals.user.js b/plugins/portal-highlighter-my-8-portals.user.js new file mode 100644 index 00000000..0693e9e6 --- /dev/null +++ b/plugins/portal-highlighter-my-8-portals.user.js @@ -0,0 +1,68 @@ +// ==UserScript== +// @id iitc-plugin-highlight-portals-my-portals@vita10gy +// @name IITC plugin: highlight my level 8's on portals +// @version 0.1.0.@@DATETIMEVERSION@@ +// @namespace https://github.com/jonatkins/ingress-intel-total-conversion +// @updateURL @@UPDATEURL@@ +// @downloadURL @@DOWNLOADURL@@ +// @description [@@BUILDNAME@@-@@BUILDDATE@@] Uses the fill color of the portals to denote portals you have a level 8 on. +// @include https://www.ingress.com/intel* +// @include http://www.ingress.com/intel* +// @match https://www.ingress.com/intel* +// @match http://www.ingress.com/intel* +// @grant none +// ==/UserScript== + +function wrapper() { +// ensure plugin framework is there, even if iitc is not yet loaded +if(typeof window.plugin !== 'function') window.plugin = function() {}; + + +// PLUGIN START //////////////////////////////////////////////////////// + +// use own namespace for plugin +window.plugin.portalHighligherMy8sOnPortals = function() {}; + +window.plugin.portalHighligherMy8sOnPortals.highlight = function(data) { + var d = data.portal.options.details; + var portal_weakness = 0; + if(getTeam(d) !== 0) { + var color = 'red'; + var opacity = .7; + + var resCount = false; + $.each(d.resonatorArray.resonators, function(ind, reso) { + if(reso !== null && reso.ownerGuid === PLAYER.guid && reso.level == 8) { + resCount = true; + } + }); + + if(resCount) { + data.portal.setStyle({fillColor: color, fillOpacity: opacity}); + } + } + window.COLOR_SELECTED_PORTAL = '#f0f'; +} + +var setup = function() { + //Don't list it if it isn't applicable yet + if(PLAYER.level == 8) { + window.addPortalHighlighter('My Level 8 Resonators', window.plugin.portalHighligherMy8sOnPortals.highlight); + } +} + +// PLUGIN END ////////////////////////////////////////////////////////// + +if(window.iitcLoaded && typeof setup === 'function') { + setup(); +} else { + if(window.bootPlugins) + window.bootPlugins.push(setup); + else + window.bootPlugins = [setup]; +} +} // wrapper end +// inject code into site context +var script = document.createElement('script'); +script.appendChild(document.createTextNode('('+ wrapper +')();')); +(document.body || document.head || document.documentElement).appendChild(script); diff --git a/plugins/portal-highlighter-needs-recharge.user.js b/plugins/portal-highlighter-needs-recharge.user.js new file mode 100644 index 00000000..c48e8c25 --- /dev/null +++ b/plugins/portal-highlighter-needs-recharge.user.js @@ -0,0 +1,61 @@ +// ==UserScript== +// @id iitc-plugin-show-portal-weakness@vita10gy +// @name IITC plugin: show portal weakness +// @version 0.7.0.@@DATETIMEVERSION@@ +// @namespace https://github.com/jonatkins/ingress-intel-total-conversion +// @updateURL @@UPDATEURL@@ +// @downloadURL @@DOWNLOADURL@@ +// @description [@@BUILDNAME@@-@@BUILDDATE@@] 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 https://www.ingress.com/intel* +// @include http://www.ingress.com/intel* +// @match https://www.ingress.com/intel* +// @match http://www.ingress.com/intel* +// @grant none +// ==/UserScript== + +function wrapper() { +// ensure plugin framework is there, even if iitc is not yet loaded +if(typeof window.plugin !== 'function') window.plugin = function() {}; + + +// PLUGIN START //////////////////////////////////////////////////////// + +// use own namespace for plugin +window.plugin.portalWeakness = function() {}; + +window.plugin.portalWeakness.portalHighligherNeedsRecharge = function(data) { + var d = data.portal.options.details; + var portal_weakness = 0; + if(getTeam(d) !== 0) { + if(window.getTotalPortalEnergy(d) > 0 && window.getCurrentPortalEnergy(d) < window.getTotalPortalEnergy(d)) { + portal_weakness = 1 - (window.getCurrentPortalEnergy(d)/window.getTotalPortalEnergy(d)); + } + if(portal_weakness > 0) { + var fill_opacity = portal_weakness*.85 + .15; + color = 'red'; + var params = {fillColor: color, fillOpacity: fill_opacity}; + data.portal.setStyle(params); + } + } + window.COLOR_SELECTED_PORTAL = '#f0f'; +} + +var setup = function() { + window.addPortalHighlighter('Needs Recharge', window.plugin.portalWeakness.portalHighligherNeedsRecharge); +} + +// PLUGIN END ////////////////////////////////////////////////////////// + +if(window.iitcLoaded && typeof setup === 'function') { + setup(); +} else { + if(window.bootPlugins) + window.bootPlugins.push(setup); + else + window.bootPlugins = [setup]; +} +} // wrapper end +// inject code into site context +var script = document.createElement('script'); +script.appendChild(document.createTextNode('('+ wrapper +')();')); +(document.body || document.head || document.documentElement).appendChild(script);