From a80833801c4341d2a524a156d1e4a9074efe2449 Mon Sep 17 00:00:00 2001 From: vita10gy Date: Wed, 6 Mar 2013 01:26:52 -0600 Subject: [PATCH] Finishing up release .1 --- plugins/scoreboard.user.js | 221 ++++++++++++++++++++++++++----------- 1 file changed, 156 insertions(+), 65 deletions(-) diff --git a/plugins/scoreboard.user.js b/plugins/scoreboard.user.js index 757bbb4f..977561b0 100644 --- a/plugins/scoreboard.user.js +++ b/plugins/scoreboard.user.js @@ -23,67 +23,135 @@ window.plugin.scoreboard = function() {}; window.plugin.scoreboard.resetTeam = function(team) { window.plugin.scoreboard.scores['team'][team] = {}; window.plugin.scoreboard.scores['team'][team]['mu'] = 0; - window.plugin.scoreboard.scores['team'][team]['count'] = {}; - window.plugin.scoreboard.scores['team'][team]['count']['fields'] = 0; + window.plugin.scoreboard.scores['team'][team]['count_fields'] = 0; + window.plugin.scoreboard.scores['team'][team]['count_links'] = 0; + window.plugin.scoreboard.scores['team'][team]['count_portals'] = 0; + window.plugin.scoreboard.scores['team'][team]['count_resonators'] = 0; window.plugin.scoreboard.scores['team'][team]['largest'] = {}; }; -window.plugin.scoreboard.compileStats = function(){ - window.plugin.scoreboard.scores = {"team": {}, "player": {}}; - window.plugin.scoreboard.resetTeam(TEAM_RES); - window.plugin.scoreboard.resetTeam(TEAM_ENL); - - $.each(window.fields, function(qk, val) { - var team = getTeam(val.options.data); - var player = val.options.data.creator.creatorGuid; - //Init Team info - - //Init Player info - if(window.plugin.scoreboard.scores['player'][player] === undefined) { - window.plugin.scoreboard.scores['player'][player] = {}; - } - if(window.plugin.scoreboard.scores['player'][player]['mu'] === undefined) { - window.plugin.scoreboard.scores['player'][player]['mu'] = 0; - } - if(window.plugin.scoreboard.scores['player'][player]['count'] === undefined) { - window.plugin.scoreboard.scores['player'][player]['count'] = {}; - } - if(window.plugin.scoreboard.scores['player'][player]['count']['fields'] === undefined) { - window.plugin.scoreboard.scores['player'][player]['count']['fields'] = 0; - } - if(window.plugin.scoreboard.scores['player'][player]['largest'] === undefined) { - window.plugin.scoreboard.scores['player'][player]['largest'] = {}; - } - +window.plugin.scoreboard.initPlayer = function(player,team) { + //Init Player info + if(window.plugin.scoreboard.scores['player'][player] === undefined) { + window.plugin.scoreboard.scores['player'][player] = {}; + window.plugin.scoreboard.scores['player'][player]['team'] = team; + } + if(window.plugin.scoreboard.scores['player'][player]['mu'] === undefined) { + window.plugin.scoreboard.scores['player'][player]['mu'] = 0; + } + if(window.plugin.scoreboard.scores['player'][player]['count_fields'] === undefined) { + window.plugin.scoreboard.scores['player'][player]['count_fields'] = 0; + } + if(window.plugin.scoreboard.scores['player'][player]['count_links'] === undefined) { + window.plugin.scoreboard.scores['player'][player]['count_links'] = 0; + } + if(window.plugin.scoreboard.scores['player'][player]['count_portals'] === undefined) { + window.plugin.scoreboard.scores['player'][player]['count_portals'] = 0; + } + if(window.plugin.scoreboard.scores['player'][player]['count_resonators'] === undefined) { + window.plugin.scoreboard.scores['player'][player]['count_resonators'] = 0; + } + if(window.plugin.scoreboard.scores['player'][player]['largest'] === undefined) { + window.plugin.scoreboard.scores['player'][player]['largest'] = {}; + } +} - if(window.portals[val.options.vertices.vertexA.guid] !== undefined || - window.portals[val.options.vertices.vertexB.guid] !== undefined || - window.portals[val.options.vertices.vertexC.guid] !== undefined ) { +window.plugin.scoreboard.compileStats = function() { + window.plugin.scoreboard.scores = {"team": {}, "player": {}}; + window.plugin.scoreboard.resetTeam(TEAM_RES); + window.plugin.scoreboard.resetTeam(TEAM_ENL); + + $.each(window.fields, function(qk, val) { + var team = getTeam(val.options.data); + var player = val.options.data.creator.creatorGuid; + + window.plugin.scoreboard.initPlayer(player,team); + + if(window.portals[val.options.vertices.vertexA.guid] !== undefined || + window.portals[val.options.vertices.vertexB.guid] !== undefined || + window.portals[val.options.vertices.vertexC.guid] !== undefined ) { + + window.plugin.scoreboard.scores['team'][team]['mu'] += parseInt(val.options.data.entityScore.entityScore); + window.plugin.scoreboard.scores['player'][player]['mu'] += parseInt(val.options.data.entityScore.entityScore); + window.plugin.scoreboard.scores['team'][team]['count_fields']++; + window.plugin.scoreboard.scores['player'][player]['count_fields']++; - window.plugin.scoreboard.scores['team'][team]['mu'] += parseInt(val.options.data.entityScore.entityScore); - window.plugin.scoreboard.scores['player'][player]['mu'] += parseInt(val.options.data.entityScore.entityScore); - window.plugin.scoreboard.scores['team'][team]['count']['fields']++; - window.plugin.scoreboard.scores['player'][player]['count']['fields']++; - - if(window.plugin.scoreboard.scores['team'][team]['largest']['mu'] === undefined) { - window.plugin.scoreboard.scores['team'][team]['largest']['mu'] = val; - } - else if(window.plugin.scoreboard.scores['team'][team]['largest']['mu'].options.data.entityScore.entityScore < val.options.data.entityScore.entityScore) { - window.plugin.scoreboard.scores['team'][team]['largest']['mu'] = val; - } - if(window.plugin.scoreboard.scores['player'][player]['largest']['mu'] === undefined) { - window.plugin.scoreboard.scores['player'][player]['largest']['mu'] = val; - } - else if(window.plugin.scoreboard.scores['player'][player]['largest']['mu'].options.data.entityScore.entityScore < val.options.data.entityScore.entityScore) { - window.plugin.scoreboard.scores['player'][player]['largest']['mu'] = val; - } - //console.log(val.options.data.controllingTeam.team); - //console.log(val.options.data.entityScore.entityScore); - //console.log(window.plugin.muTotal.portalAddress(window.portals[val.options.vertices.vertexA.guid])); - //console.log(window.plugin.muTotal.portalAddress(window.portals[val.options.vertices.vertexB.guid])); - //console.log(window.plugin.muTotal.portalAddress(window.portals[val.options.vertices.vertexC.guid])); + if(window.plugin.scoreboard.scores['team'][team]['largest']['mu'] === undefined) { + window.plugin.scoreboard.scores['team'][team]['largest']['mu'] = val; } + else if(window.plugin.scoreboard.scores['team'][team]['largest']['mu'].options.data.entityScore.entityScore < val.options.data.entityScore.entityScore) { + window.plugin.scoreboard.scores['team'][team]['largest']['mu'] = val; + } + if(window.plugin.scoreboard.scores['player'][player]['largest']['mu'] === undefined) { + window.plugin.scoreboard.scores['player'][player]['largest']['mu'] = val; + } + else if(window.plugin.scoreboard.scores['player'][player]['largest']['mu'].options.data.entityScore.entityScore < val.options.data.entityScore.entityScore) { + window.plugin.scoreboard.scores['player'][player]['largest']['mu'] = val; + } + } }); + $.each(window.links, function(qk, link) { + var team = getTeam(link.options.data); + var player = link.options.data.creator.creatorGuid; + window.plugin.scoreboard.initPlayer(player,team); + window.plugin.scoreboard.scores['team'][team]['count_links']++; + window.plugin.scoreboard.scores['player'][player]['count_links']++; + }); + $.each(window.portals, function(qk, portal) { + var team = getTeam(portal.options.details); + var player = portal.options.details.captured.capturingPlayerId; + window.plugin.scoreboard.initPlayer(player,team); + window.plugin.scoreboard.scores['team'][team]['count_portals']++; + window.plugin.scoreboard.scores['player'][player]['count_portals']++; + + $.each(portal.options.details.portalV2.linkedModArray, function(ind, mod) { + if(mod !== null) { + window.plugin.scoreboard.scores['team'][team]['count_resonators']++; + window.plugin.scoreboard.scores['player'][player]['count_resonators']++; + } + }); + }); + +}; + +window.plugin.scoreboard.percentSpan = function(percent,css_class) { + var retVal = ''; + if(percent > 0) { + retVal += ''; + if(percent >= 7) { //anything less than this and the text doesnt fit in the span. + retVal += percent; + } + retVal += '%'; + } + return(retVal); +}; + +window.plugin.scoreboard.teamTableRow = function(field,title) { + var retVal = '' + + title + + '' + + window.plugin.scoreboard.scores['team'][TEAM_RES][field] + + '' + + window.plugin.scoreboard.scores['team'][TEAM_ENL][field] + + ''; + return(retVal); +}; + +window.plugin.scoreboard.playerTableRow = function(player_guid) { + + var retVal = '' + + window.getPlayerName(player_guid); + + ''; + + $.each(['mu','count_fields','count_links','count_portals','count_resonators'], function(i,field) { + retVal += '' + + window.plugin.scoreboard.scores['player'][player_guid][field] + + ''; + }); + retVal += ''; + return(retVal); }; window.plugin.scoreboard.display = function() { @@ -95,20 +163,35 @@ window.plugin.scoreboard.display = function() { var score_html = ''; if(res_mu + enl_mu > 0) { var res_mu_percent = Math.round((res_mu / (res_mu + enl_mu)) * 100); - score_html += '
'; - if(res_mu_percent > 0) { - score_html += '' + res_mu_percent +'%'; - } - if(res_mu_percent < 100) { - score_html += ' ' + (100 - res_mu_percent) +'%'; - } - score_html += '
' + score_html += '
' + + window.plugin.scoreboard.percentSpan(res_mu_percent,'res') + + window.plugin.scoreboard.percentSpan(100-res_mu_percent,'enl') + + '
'; + + score_html += '' + + ''; + score_html += window.plugin.scoreboard.teamTableRow('mu','Mu'); + score_html += window.plugin.scoreboard.teamTableRow('count_fields','Fields'); + score_html += window.plugin.scoreboard.teamTableRow('count_links','Links'); + score_html += window.plugin.scoreboard.teamTableRow('count_portals','Portals'); + score_html += window.plugin.scoreboard.teamTableRow('count_resonators','Resonators'); + score_html += '
ResistanceEnlightened
'; + + score_html += '' + + ''; + $.each(window.plugin.scoreboard.scores['player'], function(guid, player_data) { + score_html += window.plugin.scoreboard.playerTableRow(guid); + }); + score_html += '
PlayerMuFieldsLinksPortalsResonators
'; + } + score_html += '
Score is subject to portals available based on zoom level. If names are unresolved try again. For best results wait until updates are fully loaded.
'; $('#scoreboard').html(score_html); - $( "#scoreboard" ).dialog({ autoOpen: true, - modal: true, - buttons: [ { text: "Close", click: function() { $( this ).dialog( "close" ); } } ]}); + $( "#scoreboard" ).dialog({autoOpen: true, + modal: true, + width: 500, + buttons: [ { text: "Close", click: function() { $( this ).dialog( "close" ); } } ]}); } var setup = function() { @@ -116,6 +199,14 @@ var setup = function() { $('body').append(''); $('#toolbox').append('scoreboard'); + $('head').append(''); }