// ==UserScript== // @id iitc-plugin-portals-count@yenky // @name IITC plugin: Show total counts of portals // @version 0.0.3.@@DATETIMEVERSION@@ // @namespace https://github.com/jonatkins/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ // @description [@@BUILDNAME@@-@@BUILDDATE@@] Display a list of all localized portals by level and faction // @include https://www.ingress.com/intel* // @include http://www.ingress.com/intel* // @match https://www.ingress.com/intel* // @match http://www.ingress.com/intel* // ==/UserScript== /* whatsnew * 0.0.3 : fixed incorrect rounded portal levels, adjusted viewport * 0.0.2 : fixed counts to be reset after scrolling * 0.0.1 : initial release, show count of portals * todo : */ 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.portalcounts = function() {}; window.VIEWPORT_PAD_RATIO = 0.1; //count portals for each level avalaible on the map window.plugin.portalcounts.getPortals = function(){ //console.log('** getPortals'); // just count portals in viewport, default: 0.3 var retval=false; window.plugin.portalcounts.enlP = 0; window.plugin.portalcounts.resP = 0; window.plugin.portalcounts.neuP = 0; window.plugin.portalcounts.PortalsEnl = new Array(); window.plugin.portalcounts.PortalsEnl[1] = 0; window.plugin.portalcounts.PortalsEnl[2] = 0; window.plugin.portalcounts.PortalsEnl[3] = 0; window.plugin.portalcounts.PortalsEnl[4] = 0; window.plugin.portalcounts.PortalsEnl[5] = 0; window.plugin.portalcounts.PortalsEnl[6] = 0; window.plugin.portalcounts.PortalsEnl[7] = 0; window.plugin.portalcounts.PortalsEnl[8] = 0; window.plugin.portalcounts.PortalsRes= new Array(); window.plugin.portalcounts.PortalsRes[1] = 0; window.plugin.portalcounts.PortalsRes[2] = 0; window.plugin.portalcounts.PortalsRes[3] = 0; window.plugin.portalcounts.PortalsRes[4] = 0; window.plugin.portalcounts.PortalsRes[5] = 0; window.plugin.portalcounts.PortalsRes[6] = 0; window.plugin.portalcounts.PortalsRes[7] = 0; window.plugin.portalcounts.PortalsRes[8] = 0; //get portals informations from IITC var minlvl = getMinPortalLevel(); $.each(window.portals, function(i, portal) { retval=true; var d = portal.options.details; var team = portal.options.team; var level = Math.floor(getPortalLevel(d)); switch (team){ case 1 : window.plugin.portalcounts.resP++; window.plugin.portalcounts.PortalsRes[level]++; break; case 2 : window.plugin.portalcounts.enlP++; window.plugin.portalcounts.PortalsEnl[level]++; break; default: window.plugin.portalcounts.neuP++; break; } }); var counts = '
Enlightment: '+window.plugin.portalcounts.enlP+' Portal(s) | |
---|---|
Level '+level+' | '; if(minlvl > level) counts += 'zoom in'; else counts += window.plugin.portalcounts.PortalsEnl[level]; counts += ' |
  | |
Resistance: '+window.plugin.portalcounts.resP+' Portal(s) | |
Level '+level+' | ' if(minlvl > level) counts += 'zoom in'; else counts += window.plugin.portalcounts.PortalsRes[level]; counts += ' |
  | |
Neutral: '; if(minlvl > 0) counts += 'zoom in to see unclaimed'; else counts += window.plugin.portalcounts.neuP; counts += ' Portal(s) | |
No Portals in range ! |