Ticket #3150: team_exploration_score_v5.1.patch
File team_exploration_score_v5.1.patch, 9.6 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/gui/credits/texts/programming.json
83 83 {"nick": "h20", "name": "Daniel Wilhelm"}, 84 84 {"nick": "historic_bruno", "name": "Ben Brian"}, 85 85 {"nick": "idanwin"}, 86 {"nick": "Imarok", "name": "J. S."}, 86 87 {"nick": "infyquest", "name": "Vijay Kiran Kamuju"}, 87 88 {"nick": "IronNerd", "name": "Matthew McMullan"}, 88 89 {"nick": "Itms", "name": "Nicolas Auvray"}, -
binaries/data/mods/public/gui/summary/counters.js
1 1 // FUNCTIONS FOR CALCULATING SCORES 2 var g_Team MiscHelperData = [];2 var g_TeamHelperData = []; 3 3 4 4 function resetDataHelpers() 5 5 { 6 g_Team MiscHelperData = [];6 g_TeamHelperData = []; 7 7 } 8 8 9 9 function updateCountersPlayer(playerState, counters, idGUI) … … 15 15 } 16 16 } 17 17 18 function calculateTeamCounters(playerState) 19 { 20 if (!g_TeamHelperData[playerState.team]) 21 g_TeamHelperData[playerState.team] = {}; 22 23 if (!g_TeamHelperData[playerState.team].food) 24 g_TeamHelperData[playerState.team].food = 0; 25 26 g_TeamHelperData[playerState.team].food += playerState.statistics.resourcesGathered.food; 27 28 if (!g_TeamHelperData[playerState.team].vegetarianFood) 29 g_TeamHelperData[playerState.team].vegetarianFood = 0; 30 31 g_TeamHelperData[playerState.team].vegetarianFood += playerState.statistics.resourcesGathered.vegetarianFood; 32 33 if (!g_TeamHelperData[playerState.team].female) 34 g_TeamHelperData[playerState.team].female = 0; 35 36 g_TeamHelperData[playerState.team].female = playerState.statistics.unitsTrained.Female; 37 38 if (!g_TeamHelperData[playerState.team].worker) 39 g_TeamHelperData[playerState.team].worker = 0; 40 41 g_TeamHelperData[playerState.team].worker = playerState.statistics.unitsTrained.Worker; 42 43 if (!g_TeamHelperData[playerState.team].enemyUnitsKilled) 44 g_TeamHelperData[playerState.team].enemyUnitsKilled = 0; 45 46 g_TeamHelperData[playerState.team].enemyUnitsKilled = playerState.statistics.enemyUnitsKilled.total; 47 48 if (!g_TeamHelperData[playerState.team].unitsLost) 49 g_TeamHelperData[playerState.team].unitsLost = 0; 50 51 g_TeamHelperData[playerState.team].unitsLost = playerState.statistics.unitsLost.total; 52 53 if (!g_TeamHelperData[playerState.team].percentMapControlled) 54 g_TeamHelperData[playerState.team].percentMapControlled = 0; 55 56 g_TeamHelperData[playerState.team].percentMapControlled = playerState.statistics.teamPercentMapControlled; 57 58 if (!g_TeamHelperData[playerState.team].peakPercentMapControlled) 59 g_TeamHelperData[playerState.team].peakPercentMapControlled = 0; 60 61 g_TeamHelperData[playerState.team].peakPercentMapControlled = playerState.statistics.teamPeakPercentMapControlled; 62 63 if (!g_TeamHelperData[playerState.team].percentMapExplored) 64 g_TeamHelperData[playerState.team].percentMapExplored = 0; 65 66 g_TeamHelperData[playerState.team].percentMapExplored = playerState.statistics.teamPercentMapExplored; 67 } 68 18 69 function calculateEconomyScore(playerState, position) 19 70 { 20 71 let total = 0; … … 52 103 for (let w in counters) 53 104 { 54 105 let total = 0; 55 for (let p = 0; p < g_Teams[t]; ++p) 56 total += (+Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + p + "][" + w + "]").caption); 106 // w == 2 is the team exploration score 107 // The players exploration score can't be added because there might be regions both players explored 108 if(w == 2) 109 total = g_TeamHelperData[t].percentMapExplored * 10; 110 else 111 for (let p = 0; p < g_Teams[t]; ++p) 112 total += (+Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + p + "][" + w + "]").caption); 57 113 58 114 Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + w + "]").caption = total; 59 115 } … … 262 318 263 319 function calculateVegetarianRatio(playerState, position) 264 320 { 265 if (!g_TeamMiscHelperData[playerState.team])266 g_TeamMiscHelperData[playerState.team] = [];267 268 if (!g_TeamMiscHelperData[playerState.team][position])269 g_TeamMiscHelperData[playerState.team][position] = { "food": 0, "vegetarianFood": 0 };270 271 321 if (playerState.statistics.resourcesGathered.vegetarianFood && playerState.statistics.resourcesGathered.food) 272 {273 g_TeamMiscHelperData[playerState.team][position].food += playerState.statistics.resourcesGathered.food;274 g_TeamMiscHelperData[playerState.team][position].vegetarianFood += playerState.statistics.resourcesGathered.vegetarianFood;275 322 return Math.floor((playerState.statistics.resourcesGathered.vegetarianFood / playerState.statistics.resourcesGathered.food) * 100) + "%"; 276 }277 323 else 278 324 return 0 + "%"; 279 325 } … … 280 326 281 327 function calculateFeminization(playerState, position) 282 328 { 283 if (!g_TeamMiscHelperData[playerState.team])284 g_TeamMiscHelperData[playerState.team] = [];285 286 if (!g_TeamMiscHelperData[playerState.team][position])287 g_TeamMiscHelperData[playerState.team][position] = { "Female": 0, "Worker": 0 };288 289 329 if (playerState.statistics.unitsTrained.Worker && playerState.statistics.unitsTrained.Female) 290 {291 g_TeamMiscHelperData[playerState.team][position].Female = playerState.statistics.unitsTrained.Female;292 g_TeamMiscHelperData[playerState.team][position].Worker = playerState.statistics.unitsTrained.Worker;293 330 return Math.floor((playerState.statistics.unitsTrained.Female / playerState.statistics.unitsTrained.Worker) * 100) + "%"; 294 }295 331 else 296 332 return 0 + "%"; 297 333 } … … 298 334 299 335 function calculateKillDeathRatio(playerState, position) 300 336 { 301 if (!g_TeamMiscHelperData[playerState.team])302 g_TeamMiscHelperData[playerState.team] = [];303 304 if (!g_TeamMiscHelperData[playerState.team][position])305 g_TeamMiscHelperData[playerState.team][position] = { "enemyUnitsKilled": 0, "unitsLost": 0 };306 307 g_TeamMiscHelperData[playerState.team][position].enemyUnitsKilled = playerState.statistics.enemyUnitsKilled.total;308 g_TeamMiscHelperData[playerState.team][position].unitsLost = playerState.statistics.unitsLost.total;309 310 337 if (!playerState.statistics.enemyUnitsKilled.total) 311 338 return g_DefaultDecimal; 312 339 … … 318 345 319 346 function calculateMapExploration(playerState, position) 320 347 { 321 if (!g_TeamMiscHelperData[playerState.team])322 g_TeamMiscHelperData[playerState.team] = [];323 324 g_TeamMiscHelperData[playerState.team][position] = playerState.statistics.teamPercentMapExplored;325 326 348 return playerState.statistics.percentMapExplored + "%"; 327 349 } 328 350 329 351 function calculateMapFinalControl(playerState, position) 330 352 { 331 if (!g_TeamMiscHelperData[playerState.team])332 g_TeamMiscHelperData[playerState.team] = [];333 334 g_TeamMiscHelperData[playerState.team][position] = playerState.statistics.teamPercentMapControlled;335 336 353 return playerState.statistics.percentMapControlled + "%"; 337 354 } 338 355 339 356 function calculateMapPeakControl(playerState, position) 340 357 { 341 if (!g_TeamMiscHelperData[playerState.team])342 g_TeamMiscHelperData[playerState.team] = [];343 344 g_TeamMiscHelperData[playerState.team][position] = playerState.statistics.teamPeakPercentMapControlled;345 346 358 return playerState.statistics.peakPercentMapControlled + "%"; 347 359 } 348 360 … … 358 370 let teamTotal = "undefined"; 359 371 360 372 if (w == 0) 361 teamTotal = (g_Team MiscHelperData[t][w].food == 0 ? "0" : Math.floor((g_TeamMiscHelperData[t][w].vegetarianFood / g_TeamMiscHelperData[t][w].food) * 100)) + "%";373 teamTotal = (g_TeamHelperData[t].food == 0 ? "0" : Math.floor((g_TeamHelperData[t].vegetarianFood / g_TeamHelperData[t].food) * 100)) + "%"; 362 374 else if (w == 1) 363 teamTotal = (g_Team MiscHelperData[t][w].Worker == 0 ? "0" : Math.floor((g_TeamMiscHelperData[t][w].Female / g_TeamMiscHelperData[t][w].Worker) * 100)) + "%";375 teamTotal = (g_TeamHelperData[t].worker == 0 ? "0" : Math.floor((g_TeamHelperData[t].female / g_TeamHelperData[t].worker) * 100)) + "%"; 364 376 else if (w == 2) 365 377 { 366 if (!g_Team MiscHelperData[t][w].enemyUnitsKilled)378 if (!g_TeamHelperData[t].enemyUnitsKilled) 367 379 teamTotal = g_DefaultDecimal; 368 else if (!g_Team MiscHelperData[t][w].unitsLost) // and enemyUnitsKilled.total > 0380 else if (!g_TeamHelperData[t].unitsLost) // and enemyUnitsKilled.total > 0 369 381 teamTotal = g_InfiniteSymbol; // infinity symbol 370 382 else 371 teamTotal = Math.round((g_Team MiscHelperData[t][w].enemyUnitsKilled / g_TeamMiscHelperData[t][w].unitsLost) * 100) / 100;383 teamTotal = Math.round((g_TeamHelperData[t].enemyUnitsKilled / g_TeamHelperData[t].unitsLost) * 100) / 100; 372 384 } 373 else if (w >= 3) 374 teamTotal = g_TeamMiscHelperData[t][w] + "%"; 385 else if (w == 3) 386 teamTotal = g_TeamHelperData[t].percentMapExplored + "%"; 387 else if (w == 4) 388 teamTotal = g_TeamHelperData[t].percentMapControlled + "%"; 389 else if (w == 5) 390 teamTotal = g_TeamHelperData[t].peakPercentMapControlled + "%"; 375 391 376 Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + w + "]").caption = teamTotal ;392 Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + w + "]").caption = teamTotal + "%"; 377 393 } 378 394 } 379 395 } -
binaries/data/mods/public/gui/summary/summary.js
119 119 120 120 // Update counters 121 121 updateCountersPlayer(playerState, panelInfo.counters, playerCounterValue); 122 123 // Calculate g_TeamHelperData 124 calculateTeamCounters(playerState); 122 125 } 123 126 // Update team counters 124 127 let teamCounterFn = panelInfo.teamCounterFn;