diff --git a/plugins/dynamic-scoreboard.user.js b/plugins/dynamic-scoreboard.user.js
index 62747b44..90a8efad 100644
--- a/plugins/dynamic-scoreboard.user.js
+++ b/plugins/dynamic-scoreboard.user.js
@@ -27,22 +27,182 @@ function wrapper(plugin_info) {
//END PLUGIN AUTHORS NOTE
// PLUGIN START //
-
+
+ // use own namespace for plugin
+ window.plugin.scoreboard = function() {};
+
+
+
+
+
+ //gets data of all the visible portals on the screen
+ window.plugin.scoreboard.getPortals = function() {
+
+ var retval=false;
+
+ var displayBounds = map.getBounds();
+
+ //variable declaration and set to zero
+ window.plugin.scoreboard.enlP = 0;
+ window.plugin.scoreboard.resP = 0;
+ window.plugin.scoreboard.enlEightLevelP = 0;
+ window.plugin.scoreboard.resEightLevelP = 0;
+ window.plugin.scoreboard.enlPorLevels = 0;
+ window.plugin.scoreboard.resPorLevels = 0;
+ window.plugin.scoreboard.maxEnl=0;
+ window.plugin.scoreboard.maxRes=0;
+ window.plugin.scoreboard.healthEnl = 0;
+ window.plugin.scoreboard.healthRes = 0;
+
+
+ //get all portals on screen
+ $.each(window.portals, function(i, portal) {
+ // eliminate offscreen portals (selected, and in padding)
+ if(!displayBounds.contains(portal.getLatLng())) return true;
+ //if there are any portals return true
+ retval=true;
+
+ //variable that contains portal data
+ var d = portal.options.data;
+ //variable that contains each portal's team value
+ var teamN = portal.options.team;
+
+ switch (teamN) {
+ case TEAM_RES: //if the portal is captured by the resistance,increase each counter's value for resistance counters
+ window.plugin.scoreboard.healthRes += d.health;
+ window.plugin.scoreboard.resP++;
+ window.plugin.scoreboard.resPorLevels = window.plugin.scoreboard.resPorLevels + portal.options.level;
+ if(portal.options.level===8){window.plugin.scoreboard.resEightLevelP++;}
+ if(portal.options.level>window.plugin.scoreboard.maxRes){window.plugin.scoreboard.maxRes = portal.options.level;}
+ break;
+ case TEAM_ENL: //if the portal is captured by the enlightened,increase each counter's value for resistance counters
+ window.plugin.scoreboard.healthEnl += d.health;
+ window.plugin.scoreboard.enlP++;
+ window.plugin.scoreboard.enlPorLevels = window.plugin.scoreboard.enlPorLevels + portal.options.level;
+ if(portal.options.level===8){window.plugin.scoreboard.enlEightLevelP++;}
+ if(portal.options.level>window.plugin.scoreboard.maxEnl){window.plugin.scoreboard.maxEnl = portal.options.level;}
+ break;
+ }
+
+
+
+
+
+
+ });
+
+ return retval;
+ }
+ //---- function that gets all visible enlightened links on screen
+
+ window.plugin.scoreboard.getEnlLinks = function() {
+ var displayBounds = map.getBounds();
+ window.plugin.scoreboard.enlL=0;
+ // now every link that starts/ends at a point on screen
+ $.each(window.links, function(guid, link) {
+ // only consider links that start/end on-screen
+ var points = link.getLatLngs();
+ if (displayBounds.contains(points[0]) || displayBounds.contains(points[1])) {
+ if (link.options.team == TEAM_ENL) {
+ window.plugin.scoreboard.enlL++;
+ }
+ }
+ });
+ return window.plugin.scoreboard.enlL;
+ }
+
+ //----function that gets all visible resistance links on screen
+
+ window.plugin.scoreboard.getResLinks = function() {
+ var displayBounds = map.getBounds();
+ window.plugin.scoreboard.resL=0;
+ // now every link that starts/ends at a point on screen
+ $.each(window.links, function(guid, link) {
+ // only consider links that start/end on-screen
+ var points = link.getLatLngs();
+ if (displayBounds.contains(points[0]) || displayBounds.contains(points[1])) {// boroume na kanoume ta 2 if ena
+ if (link.options.team == TEAM_RES) {
+ window.plugin.scoreboard.resL++;
+ }
+ }
+ });
+ return window.plugin.scoreboard.resL;
+ }
+
+
+
+
+ //----function that gets all visible enlightened fields on screen
+
+ window.plugin.scoreboard.getEnlFields = function() {
+ var displayBounds = map.getBounds();
+ window.plugin.scoreboard.enlF=0;
+ // and now all fields that have a vertex on screen
+ $.each(window.fields, function(guid, field) {
+ // only consider fields with at least one vertex on screen
+ var points = field.getLatLngs();
+ if (displayBounds.contains(points[0]) || displayBounds.contains(points[1]) || displayBounds.contains(points[2])) {
+ if (field.options.team == TEAM_ENL) {
+ window.plugin.scoreboard.enlF++;
+ }
+ }
+ });
+ return window.plugin.scoreboard.enlF;
+ }
+
+
+ //----function that gets all visible resistance fields on screen
+
+ window.plugin.scoreboard.getResFields = function() {
+ var displayBounds = map.getBounds();
+ window.plugin.scoreboard.resF=0;
+ // and now all fields that have a vertex on screen
+ $.each(window.fields, function(guid, field) {
+ // only consider fields with at least one vertex on screen
+ var points = field.getLatLngs();
+ if (displayBounds.contains(points[0]) || displayBounds.contains(points[1]) || displayBounds.contains(points[2])) {
+ if (field.options.team == TEAM_RES) {
+ window.plugin.scoreboard.resF++;
+ }
+ }
+ });
+ return window.plugin.scoreboard.resF;
+ }
+
+ //-----------------------------------------------------------
var setup = function() {
- if(window.useAndroidPanes()) {
+ if(window.useAndroidPanes()) { // use android panes,texture and style
android.addPane("plugin-Scoreboard", "Scoreboard", "ic_action_paste");
addHook("paneChanged", window.plugin.scoreboard.onPaneChanged);
} else {
$('#toolbox').append(' Scoreboard');
}
-
- }
-
- // PLUGIN END //////////////////////////////////////////////////////////
+ $('head').append('');
+ }
+
+
+ // PLUGIN END //////////////////////////////////////////////////////////
setup.info = plugin_info; //add the script info data to the function as a property
@@ -56,4 +216,5 @@ var script = document.createElement('script');
var info = {};
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 };
script.appendChild(document.createTextNode('('+ wrapper +')('+JSON.stringify(info)+');'));
-(document.body || document.head || document.documentElement).appendChild(script);
\ No newline at end of file
+(document.body || document.head || document.documentElement).appendChild(script);
+
\ No newline at end of file