Ticket #3150: team_exploration_score_v4.1.patch
File team_exploration_score_v4.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) … … 32 32 33 33 function calculateExplorationScore(playerState, position) 34 34 { 35 if (!g_TeamHelperData[playerState.team]) 36 g_TeamHelperData[playerState.team] = {}; 37 38 if (!g_TeamHelperData[playerState.team].percentMapExplored) 39 g_TeamHelperData[playerState.team].percentMapExplored = 0; 40 41 g_TeamHelperData[playerState.team].percentMapExplored = playerState.statistics.teamPercentMapExplored; 42 35 43 return playerState.statistics.percentMapExplored * 10; 36 44 } 37 45 … … 52 60 for (let w in counters) 53 61 { 54 62 let total = 0; 55 for (let p = 0; p < g_Teams[t]; ++p) 56 total += (+Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + p + "][" + w + "]").caption); 63 //w == 2 is the team exploration score 64 //the players exploration score can't be added because there might be regions both players explored 65 if(w == 2) 66 total = g_TeamHelperData[t].percentMapExplored * 10; 67 else 68 for (let p = 0; p < g_Teams[t]; ++p) 69 total += (+Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + p + "][" + w + "]").caption); 57 70 58 71 Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + w + "]").caption = total; 59 72 } … … 262 275 263 276 function calculateVegetarianRatio(playerState, position) 264 277 { 265 if (!g_Team MiscHelperData[playerState.team])266 g_Team MiscHelperData[playerState.team] = [];278 if (!g_TeamHelperData[playerState.team]) 279 g_TeamHelperData[playerState.team] = {}; 267 280 268 if (!g_Team MiscHelperData[playerState.team][position])269 g_Team MiscHelperData[playerState.team][position] = { "food": 0, "vegetarianFood": 0 };281 if (!g_TeamHelperData[playerState.team].food) 282 g_TeamHelperData[playerState.team].food = 0; 270 283 284 if (!g_TeamHelperData[playerState.team].vegetarianFood) 285 g_TeamHelperData[playerState.team].vegetarianFood = 0; 286 271 287 if (playerState.statistics.resourcesGathered.vegetarianFood && playerState.statistics.resourcesGathered.food) 272 288 { 273 g_Team MiscHelperData[playerState.team][position].food += playerState.statistics.resourcesGathered.food;274 g_Team MiscHelperData[playerState.team][position].vegetarianFood += playerState.statistics.resourcesGathered.vegetarianFood;289 g_TeamHelperData[playerState.team].food += playerState.statistics.resourcesGathered.food; 290 g_TeamHelperData[playerState.team].vegetarianFood += playerState.statistics.resourcesGathered.vegetarianFood; 275 291 return Math.floor((playerState.statistics.resourcesGathered.vegetarianFood / playerState.statistics.resourcesGathered.food) * 100) + "%"; 276 292 } 277 293 else … … 280 296 281 297 function calculateFeminization(playerState, position) 282 298 { 283 if (!g_Team MiscHelperData[playerState.team])284 g_Team MiscHelperData[playerState.team] = [];299 if (!g_TeamHelperData[playerState.team]) 300 g_TeamHelperData[playerState.team] = {}; 285 301 286 if (!g_Team MiscHelperData[playerState.team][position])287 g_Team MiscHelperData[playerState.team][position] = { "Female": 0, "Worker": 0 };302 if (!g_TeamHelperData[playerState.team].female) 303 g_TeamHelperData[playerState.team].female = 0; 288 304 305 if (!g_TeamHelperData[playerState.team].worker) 306 g_TeamHelperData[playerState.team].worker = 0; 307 289 308 if (playerState.statistics.unitsTrained.Worker && playerState.statistics.unitsTrained.Female) 290 309 { 291 g_Team MiscHelperData[playerState.team][position].Female = playerState.statistics.unitsTrained.Female;292 g_Team MiscHelperData[playerState.team][position].Worker = playerState.statistics.unitsTrained.Worker;310 g_TeamHelperData[playerState.team].female = playerState.statistics.unitsTrained.Female; 311 g_TeamHelperData[playerState.team].worker = playerState.statistics.unitsTrained.Worker; 293 312 return Math.floor((playerState.statistics.unitsTrained.Female / playerState.statistics.unitsTrained.Worker) * 100) + "%"; 294 313 } 295 314 else … … 298 317 299 318 function calculateKillDeathRatio(playerState, position) 300 319 { 301 if (!g_Team MiscHelperData[playerState.team])302 g_Team MiscHelperData[playerState.team] = [];320 if (!g_TeamHelperData[playerState.team]) 321 g_TeamHelperData[playerState.team] = {}; 303 322 304 if (!g_Team MiscHelperData[playerState.team][position])305 g_Team MiscHelperData[playerState.team][position] = { "enemyUnitsKilled": 0, "unitsLost": 0 };323 if (!g_TeamHelperData[playerState.team].enemyUnitsKilled) 324 g_TeamHelperData[playerState.team].enemyUnitsKilled = 0; 306 325 307 g_TeamMiscHelperData[playerState.team][position].enemyUnitsKilled = playerState.statistics.enemyUnitsKilled.total;308 g_TeamMiscHelperData[playerState.team][position].unitsLost = playerState.statistics.unitsLost.total;326 if (!g_TeamHelperData[playerState.team].unitsLost) 327 g_TeamHelperData[playerState.team].unitsLost = 0; 309 328 329 g_TeamHelperData[playerState.team].enemyUnitsKilled = playerState.statistics.enemyUnitsKilled.total; 330 g_TeamHelperData[playerState.team].unitsLost = playerState.statistics.unitsLost.total; 331 310 332 if (!playerState.statistics.enemyUnitsKilled.total) 311 333 return g_DefaultDecimal; 312 334 … … 318 340 319 341 function calculateMapExploration(playerState, position) 320 342 { 321 if (!g_Team MiscHelperData[playerState.team])322 g_Team MiscHelperData[playerState.team] = [];343 if (!g_TeamHelperData[playerState.team]) 344 g_TeamHelperData[playerState.team] = {}; 323 345 324 g_TeamMiscHelperData[playerState.team][position] = playerState.statistics.teamPercentMapExplored; 346 if (!g_TeamHelperData[playerState.team].percentMapExplored) 347 g_TeamHelperData[playerState.team].percentMapExplored = 0; 325 348 349 g_TeamHelperData[playerState.team].percentMapExplored = playerState.statistics.teamPercentMapExplored; 350 326 351 return playerState.statistics.percentMapExplored + "%"; 327 352 } 328 353 329 354 function calculateMapFinalControl(playerState, position) 330 355 { 331 if (!g_Team MiscHelperData[playerState.team])332 g_Team MiscHelperData[playerState.team] = [];356 if (!g_TeamHelperData[playerState.team]) 357 g_TeamHelperData[playerState.team] = {}; 333 358 334 g_TeamMiscHelperData[playerState.team][position] = playerState.statistics.teamPercentMapControlled; 359 if (!g_TeamHelperData[playerState.team].percentMapControlled) 360 g_TeamHelperData[playerState.team].percentMapControlled = 0; 335 361 362 g_TeamHelperData[playerState.team].percentMapControlled = playerState.statistics.teamPercentMapControlled; 363 336 364 return playerState.statistics.percentMapControlled + "%"; 337 365 } 338 366 339 367 function calculateMapPeakControl(playerState, position) 340 368 { 341 if (!g_Team MiscHelperData[playerState.team])342 g_Team MiscHelperData[playerState.team] = [];369 if (!g_TeamHelperData[playerState.team]) 370 g_TeamHelperData[playerState.team] = {}; 343 371 344 g_TeamMiscHelperData[playerState.team][position] = playerState.statistics.teamPeakPercentMapControlled; 372 if (!g_TeamHelperData[playerState.team].peakPercentMapControlled) 373 g_TeamHelperData[playerState.team].peakPercentMapControlled = 0; 345 374 375 g_TeamHelperData[playerState.team].peakPercentMapControlled = playerState.statistics.teamPeakPercentMapControlled; 376 346 377 return playerState.statistics.peakPercentMapControlled + "%"; 347 378 } 348 379 … … 358 389 let teamTotal = "undefined"; 359 390 360 391 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)) + "%";392 teamTotal = (g_TeamHelperData[t].food == 0 ? "0" : Math.floor((g_TeamHelperData[t].vegetarianFood / g_TeamHelperData[t].food) * 100)) + "%"; 362 393 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)) + "%";394 teamTotal = (g_TeamHelperData[t].worker == 0 ? "0" : Math.floor((g_TeamHelperData[t].female / g_TeamHelperData[t].worker) * 100)) + "%"; 364 395 else if (w == 2) 365 396 { 366 if (!g_Team MiscHelperData[t][w].enemyUnitsKilled)397 if (!g_TeamHelperData[t].enemyUnitsKilled) 367 398 teamTotal = g_DefaultDecimal; 368 else if (!g_Team MiscHelperData[t][w].unitsLost) // and enemyUnitsKilled.total > 0399 else if (!g_TeamHelperData[t].unitsLost) // and enemyUnitsKilled.total > 0 369 400 teamTotal = g_InfiniteSymbol; // infinity symbol 370 401 else 371 teamTotal = Math.round((g_Team MiscHelperData[t][w].enemyUnitsKilled / g_TeamMiscHelperData[t][w].unitsLost) * 100) / 100;402 teamTotal = Math.round((g_TeamHelperData[t].enemyUnitsKilled / g_TeamHelperData[t].unitsLost) * 100) / 100; 372 403 } 373 else if (w >= 3) 374 teamTotal = g_TeamMiscHelperData[t][w] + "%"; 404 else if (w == 3) 405 teamTotal = g_TeamHelperData[t].percentMapExplored + "%"; 406 else if (w == 4) 407 teamTotal = g_TeamHelperData[t].percentMapControlled + "%"; 408 else if (w == 5) 409 teamTotal = g_TeamHelperData[t].peakPercentMapControlled + "%"; 375 410 376 411 Engine.GetGUIObjectByName("valueDataTeam[" + t + "][" + w + "]").caption = teamTotal; 377 412 }