diff --git a/code/portal_marker.js b/code/portal_marker.js index c88f78f05..b9bfb764c 100644 --- a/code/portal_marker.js +++ b/code/portal_marker.js @@ -52,6 +52,13 @@ window.getMarkerStyleOptions = function(details) { var lvlWeight = LEVEL_TO_WEIGHT[level] * Math.sqrt(scale); var lvlRadius = LEVEL_TO_RADIUS[level] * scale; + var dashArray = null; + // thinner and dashed outline for placeholder portals + if (details.team != TEAM_NONE && level==0) { + lvlWeight = 1; + dashArray = [1,2]; + } + var options = { radius: lvlRadius, stroke: true, @@ -61,7 +68,7 @@ window.getMarkerStyleOptions = function(details) { fill: true, fillColor: COLORS[details.team], fillOpacity: 0.5, - dashArray: null + dashArray: dashArray }; return options; diff --git a/plugins/uniques.user.js b/plugins/uniques.user.js index ed33718fe..c14b4077d 100644 --- a/plugins/uniques.user.js +++ b/plugins/uniques.user.js @@ -2,7 +2,7 @@ // @id iitc-plugin-uniques@3ch01c // @name IITC plugin: Uniques // @category Misc -// @version 0.2.3.@@DATETIMEVERSION@@ +// @version 0.2.4.@@DATETIMEVERSION@@ // @namespace https://github.com/3ch01c/ingress-intel-total-conversion // @updateURL @@UPDATEURL@@ // @downloadURL @@DOWNLOADURL@@ @@ -99,6 +99,17 @@ window.plugin.uniques.onPublicChatDataAvailable = function(data) { && markup[0][0] == 'PLAYER' && markup[0][1].plain == nick && markup[1][0] == 'TEXT' + && markup[1][1].plain == ' deployed a Resonator on ' + && markup[2][0] == 'PORTAL') { + // search for "x deployed a Resonator on z" + var portal = markup[2][1]; + var guid = window.findPortalGuidByPositionE6(portal.latE6, portal.lngE6); + if(guid) plugin.uniques.setPortalVisited(guid); + } else if(plext.plextType == 'SYSTEM_BROADCAST' + && markup.length==3 + && markup[0][0] == 'PLAYER' + && markup[0][1].plain == nick + && markup[1][0] == 'TEXT' && markup[1][1].plain == ' captured ' && markup[2][0] == 'PORTAL') { // search for "x captured y" @@ -188,6 +199,8 @@ window.plugin.uniques.updateCheckedAndHighlight = function(guid) { window.plugin.uniques.setPortalVisited = function(guid) { var uniqueInfo = plugin.uniques.uniques[guid]; if (uniqueInfo) { + if(uniqueInfo.visited) return; + uniqueInfo.visited = true; } else { plugin.uniques.uniques[guid] = { @@ -203,6 +216,8 @@ window.plugin.uniques.setPortalVisited = function(guid) { window.plugin.uniques.setPortalCaptured = function(guid) { var uniqueInfo = plugin.uniques.uniques[guid]; if (uniqueInfo) { + if(uniqueInfo.visited && uniqueInfo.captured) return; + uniqueInfo.visited = true; uniqueInfo.captured = true; } else { @@ -227,6 +242,8 @@ window.plugin.uniques.updateVisited = function(visited, guid) { }; } + if(visited == uniqueInfo.visited) return; + if (visited) { uniqueInfo.visited = true; } else { // not visited --> not captured @@ -249,6 +266,8 @@ window.plugin.uniques.updateCaptured = function(captured, guid) { }; } + if(captured == uniqueInfo.captured) return; + if (captured) { // captured --> visited uniqueInfo.captured = true; uniqueInfo.visited = true;