IITC plugin: Highlight portals by level

Highlight portals by level

  1. // ==UserScript==
  2. // @author Odrick
  3. // @name IITC plugin: Highlight portals by level
  4. // @description Highlight portals by level
  5. // @category Highlighter
  6. // @version 0.0.1
  7. // @id highlight-portals-by-level
  8. // @match https://*.ingress.com/intel*
  9. // @match http://*.ingress.com/intel*
  10. // @match https://*.ingress.com/mission/*
  11. // @match http://*.ingress.com/mission/*
  12. // @include https://*.ingress.com/intel*
  13. // @include http://*.ingress.com/intel*
  14. // @include https://*.ingress.com/mission/*
  15. // @include http://*.ingress.com/mission/*
  16. // @grant none
  17. // @namespace https://greasyfork.org/users/410740
  18. // ==/UserScript==
  19.  
  20. function wrapper(plugin_info) {
  21.  
  22. if(typeof window.plugin !== 'function') window.plugin = function() {};
  23.  
  24. plugin_info.buildName = 'odrick@highlight-portals-by-level';
  25. plugin_info.dateTimeVersion = '2020-05-19-160405';
  26. plugin_info.pluginId = 'highlight-portals-by-level';
  27.  
  28. window.plugin.highlightPortalsByLevel = function() {};
  29.  
  30. function highlight(data, level) {
  31. if (data.portal.options.data.level === level) {
  32. data.portal.setStyle({fillColor: '#ff0000', fillOpacity: 0.75});
  33. }
  34. }
  35.  
  36. window.plugin.highlightPortalsByLevel.colorLevel1 = function(data) {highlight(data, 1)};
  37. window.plugin.highlightPortalsByLevel.colorLevel2 = function(data) {highlight(data, 2)};
  38. window.plugin.highlightPortalsByLevel.colorLevel3 = function(data) {highlight(data, 3)};
  39. window.plugin.highlightPortalsByLevel.colorLevel4 = function(data) {highlight(data, 4)};
  40. window.plugin.highlightPortalsByLevel.colorLevel5 = function(data) {highlight(data, 5)};
  41. window.plugin.highlightPortalsByLevel.colorLevel6 = function(data) {highlight(data, 6)};
  42. window.plugin.highlightPortalsByLevel.colorLevel7 = function(data) {highlight(data, 7)};
  43. window.plugin.highlightPortalsByLevel.colorLevel8 = function(data) {highlight(data, 8)};
  44.  
  45. var setup = function() {
  46. window.addPortalHighlighter('Level 1', window.plugin.highlightPortalsByLevel.colorLevel1);
  47. window.addPortalHighlighter('Level 2', window.plugin.highlightPortalsByLevel.colorLevel2);
  48. window.addPortalHighlighter('Level 3', window.plugin.highlightPortalsByLevel.colorLevel3);
  49. window.addPortalHighlighter('Level 4', window.plugin.highlightPortalsByLevel.colorLevel4);
  50. window.addPortalHighlighter('Level 5', window.plugin.highlightPortalsByLevel.colorLevel5);
  51. window.addPortalHighlighter('Level 6', window.plugin.highlightPortalsByLevel.colorLevel6);
  52. window.addPortalHighlighter('Level 7', window.plugin.highlightPortalsByLevel.colorLevel7);
  53. window.addPortalHighlighter('Level 8', window.plugin.highlightPortalsByLevel.colorLevel8);
  54. }
  55.  
  56. setup.info = plugin_info;
  57. if(!window.bootPlugins) window.bootPlugins = [];
  58. window.bootPlugins.push(setup);
  59.  
  60. if(window.iitcLoaded && typeof setup === 'function') setup();
  61.  
  62. }
  63.  
  64. var script = document.createElement('script');
  65. var info = {};
  66. if (typeof GM_info !== 'undefined' && GM_info && GM_info.script) info.script = { version: GM_info.script.version, name: GM_info.script.name, description: GM_info.script.description };
  67. script.appendChild(document.createTextNode('('+ wrapper +')('+JSON.stringify(info)+');'));
  68. (document.body || document.head || document.documentElement).appendChild(script);