From ca23b7de4d897018c29fb685e90b74e0696da269 Mon Sep 17 00:00:00 2001 From: RJ Bernau Date: Mon, 29 Feb 2016 08:14:32 -0600 Subject: [PATCH] Added a Beacon layer. Adding a Beacon layer so that you can turn off Beacons if you so choose and still keep other Ornaments on as Beacons have no effect on game play and just clutter the map. --- code/ornaments.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/code/ornaments.js b/code/ornaments.js index e5b35633..d1a57000 100644 --- a/code/ornaments.js +++ b/code/ornaments.js @@ -1,12 +1,17 @@ // ORNAMENTS /////////////////////////////////////////////////////// -// added as part of the ingress #helios in 2014, ornaments -// are additional image overlays for portals -// currently there are 28 known ornaments: ap$x$suffix +// Added as part of the Ingress #Helios in 2014, ornaments +// are additional image overlays for portals. +// currently there are 6 known types of ornaments: ap$x$suffix // - cluster portals (without suffix) // - volatile portals (_v) // - meeting points (_start) // - finish points (_end) +// +// Beacons and Frackers were introduced at the launch of the Ingress +// ingame store on November 1st, 2015 +// - Beacons (pe$TAG - $NAME) ie: 'peNIA - NIANTIC' +// - Frackers ('peFRACK') // (there are 7 different colors for each of them) @@ -17,7 +22,9 @@ window.ornaments.OVERLAY_OPACITY = 0.6; window.ornaments.setup = function() { window.ornaments._portals = {}; window.ornaments._layer = L.layerGroup(); + window.ornaments._beacons = L.layerGroup(); window.addLayerGroup('Ornaments', window.ornaments._layer, true); + window.addLayerGroup('Beacons', window.ornaments._beacons, true); } // quick test for portal having ornaments @@ -35,14 +42,18 @@ window.ornaments.addPortal = function(portal) { if (portal.options.data.ornaments) { window.ornaments._portals[guid] = portal.options.data.ornaments.map(function(ornament) { + var layer = window.ornaments._layer; + if (ornament.startsWith("pe") && ornament != "peFRACK") { + layer = window.ornaments._beacons; + } var icon = L.icon({ - iconUrl: "//commondatastorage.googleapis.com/ingress.com/img/map_icons/marker_images/"+ornament+".png", + iconUrl: "//commondatastorage.googleapis.com/ingress.com/img/map_icons/marker_images/" + ornament + ".png", iconSize: [size, size], - iconAnchor: [size/2,size/2], + iconAnchor: [size/2, size/2], className: 'no-pointer-events' // the clickable: false below still blocks events going through to the svg underneath }); - return L.marker(latlng, {icon: icon, clickable: false, keyboard: false, opacity: window.ornaments.OVERLAY_OPACITY }).addTo(window.ornaments._layer); + return L.marker(latlng, {icon: icon, clickable: false, keyboard: false, opacity: window.ornaments.OVERLAY_OPACITY }).addTo(layer); }); } } @@ -52,6 +63,7 @@ window.ornaments.removePortal = function(portal) { if(window.ornaments._portals[guid]) { window.ornaments._portals[guid].forEach(function(marker) { window.ornaments._layer.removeLayer(marker); + window.ornaments._beacon.removeLayer(marker); }); delete window.ornaments._portals[guid]; }