diff --git a/binaries/data/mods/public/gui/summary/summary.js b/binaries/data/mods/public/gui/summary/summary.js
index 66af6fc8ec..9e75d6f94d 100644
--- a/binaries/data/mods/public/gui/summary/summary.js
+++ b/binaries/data/mods/public/gui/summary/summary.js
@@ -1,8 +1,8 @@
// Max player slots for any map (should read from config)
const MAX_SLOTS = 8;
-var panelNames = [ 'unitsBuildingsPanel', 'conquestPanel', 'resourcesPanel', 'marketPanel' ];
-var panelButtonNames = [ 'unitsBuildingsPanelButton', 'conquestPanelButton', 'resourcesPanelButton', 'marketPanelButton' ];
+var panelNames = [ 'scorePanel', 'unitsBuildingsPanel', 'conquestPanel', 'resourcesPanel', 'marketPanel' ];
+var panelButtonNames = [ 'scorePanelButton', 'unitsBuildingsPanelButton', 'conquestPanelButton', 'resourcesPanelButton', 'marketPanelButton' ];
/**
* Select active panel
@@ -86,6 +86,13 @@ function init(data)
var width = 100;
var playerNameHeadingWidth = 200;
getGUIObjectByName("playerName0Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
+ getGUIObjectByName("economyScoreHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
+ getGUIObjectByName("militaryScoreHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
+ getGUIObjectByName("explorationScoreHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
+ getGUIObjectByName("totalScoreHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
+
+ left = 50;
+ getGUIObjectByName("playerName1Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
getGUIObjectByName("unitsTrainedHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
getGUIObjectByName("unitsLostHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
getGUIObjectByName("enemyUnitsKilledHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
@@ -94,13 +101,13 @@ function init(data)
getGUIObjectByName("enemyBuildingsDestroyedHeading").size = left + " 6 " + (left + width) + " 100%"; left += width;
left = 50;
- getGUIObjectByName("playerName1Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
+ getGUIObjectByName("playerName2Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
getGUIObjectByName("civCentresBuiltHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
getGUIObjectByName("enemyCivCentresDestroyedHeading").size = left + " 6 " + (left + width) + " 100%"; left += width;
getGUIObjectByName("mapExplorationHeading").size = left + " 6 " + (left + width) + " 100%"; left += width;
left = 50;
- getGUIObjectByName("playerName2Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
+ getGUIObjectByName("playerName3Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
getGUIObjectByName("resourceHeading").size = left + " 16 " + (left + width * 4) + " 100%";
getGUIObjectByName("foodGatheredHeading").size = left + " 34 " + (left + width) + " 100%"; left += width;
getGUIObjectByName("woodGatheredHeading").size = left + " 34 " + (left + width) + " 100%"; left += width;
@@ -110,7 +117,7 @@ function init(data)
getGUIObjectByName("treasuresCollectedHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
left = 50;
- getGUIObjectByName("playerName3Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
+ getGUIObjectByName("playerName4Heading").size = left + " 26 " + (left + playerNameHeadingWidth) + " 100%"; left += playerNameHeadingWidth;
getGUIObjectByName("exchangedFoodHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
getGUIObjectByName("exchangedWoodHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
getGUIObjectByName("exchangedStoneHeading").size = left + " 16 " + (left + width) + " 100%"; left += width;
@@ -147,6 +154,11 @@ function init(data)
getGUIObjectByName("civIcon"+k+"["+i+"]").tooltip = civData[playerState.civ].Name;
}
+ var economyScore = getGUIObjectByName("economyScore["+i+"]");
+ var militaryScore = getGUIObjectByName("militaryScore["+i+"]");
+ var explorationScore = getGUIObjectByName("explorationScore["+i+"]");
+ var totalScore = getGUIObjectByName("totalScore["+i+"]");
+
var unitsTrained = getGUIObjectByName("unitsTrained["+i+"]");
var unitsLost = getGUIObjectByName("unitsLost["+i+"]");
var enemyUnitsKilled = getGUIObjectByName("enemyUnitsKilled["+i+"]");
@@ -176,23 +188,32 @@ function init(data)
left = 240;
width = 100;
+ economyScore.size = left + " 2 " + (left + width) + " 100%"; left += width;
+ militaryScore.size = left + " 2 " + (left + width) + " 100%"; left += width;
+ explorationScore.size = left + " 2 " + (left + width) + " 100%"; left += width;
+ totalScore.size = left + " 2 " + (left + width) + " 100%"; left += width;
+ size = getGUIObjectByName("playerBox0["+i+"]").size;
+ size.right = left + 10;
+ getGUIObjectByName("playerBox0["+i+"]").size = size;
+
+ left = 240;
unitsTrained.size = left + " 2 " + (left + width) + " 100%"; left += width;
unitsLost.size = left + " 2 " + (left + width) + " 100%"; left += width;
enemyUnitsKilled.size = left + " 2 " + (left + width) + " 100%"; left += width;
buildingsConstructed.size = left + " 2 " + (left + width) + " 100%"; left += width;
buildingsLost.size = left + " 2 " + (left + width) + " 100%"; left += width;
enemyBuildingsDestroyed.size = left + " 2 " + (left + width) + " 100%"; left += width;
- size = getGUIObjectByName("playerBox0["+i+"]").size;
+ size = getGUIObjectByName("playerBox1["+i+"]").size;
size.right = left + 10;
- getGUIObjectByName("playerBox0["+i+"]").size = size;
+ getGUIObjectByName("playerBox1["+i+"]").size = size;
left = 240;
civCentresBuilt.size = left + " 2 " + (left + width) + " 100%"; left += width;
enemyCivCentresDestroyed.size = left + " 2 " + (left + width) + " 100%"; left += width;
mapExploration.size = left + " 2 " + (left + width) + " 100%"; left += width;
- size = getGUIObjectByName("playerBox1["+i+"]").size;
+ size = getGUIObjectByName("playerBox2["+i+"]").size;
size.right = left + 10;
- getGUIObjectByName("playerBox1["+i+"]").size = size;
+ getGUIObjectByName("playerBox2["+i+"]").size = size;
left = 240;
foodGathered.size = left + " 2 " + (left + width) + " 100%"; left += width;
@@ -201,9 +222,9 @@ function init(data)
metalGathered.size = left + " 2 " + (left + width) + " 100%"; left += width;
vegetarianRatio.size = left + " 2 " + (left + width) + " 100%"; left += width;
treasuresCollected.size = left + " 2 " + (left + width) + " 100%"; left += width;
- size = getGUIObjectByName("playerBox2["+i+"]").size;
+ size = getGUIObjectByName("playerBox3["+i+"]").size;
size.right = left + 10;
- getGUIObjectByName("playerBox2["+i+"]").size = size;
+ getGUIObjectByName("playerBox3["+i+"]").size = size;
left = 240;
exchangedFood.size = left + " 2 " + (left + width) + " 100%"; left += width;
@@ -212,11 +233,17 @@ function init(data)
exchangedMetal.size = left + " 2 " + (left + width) + " 100%"; left += width;
barterEfficiency.size = left + " 2 " + (left + width) + " 100%"; left += width;
tradeIncome.size = left + " 2 " + (left + width) + " 100%"; left += width;
- size = getGUIObjectByName("playerBox3["+i+"]").size;
+ size = getGUIObjectByName("playerBox4["+i+"]").size;
size.right = left + 10;
- getGUIObjectByName("playerBox3["+i+"]").size = size;
+ getGUIObjectByName("playerBox4["+i+"]").size = size;
// display counters
+ economyScore.caption = Math.round((playerState.statistics.resourcesGathered.food + playerState.statistics.resourcesGathered.wood +
+ playerState.statistics.resourcesGathered.stone + playerState.statistics.resourcesGathered.metal) / 10);
+ militaryScore.caption = Math.round((playerState.statistics.enemyUnitsKilledValue + playerState.statistics.enemyBuildingsDestroyedValue) / 10);
+ explorationScore.caption = playerState.statistics.percentMapExplored * 10;
+ totalScore.caption = Number(economyScore.caption) + Number(militaryScore.caption) + Number(explorationScore.caption);
+
unitsTrained.caption = playerState.statistics.unitsTrained;
unitsLost.caption = playerState.statistics.unitsLost;
enemyUnitsKilled.caption = playerState.statistics.enemyUnitsKilled;
diff --git a/binaries/data/mods/public/gui/summary/summary.xml b/binaries/data/mods/public/gui/summary/summary.xml
index c2ac5d6597..1e52a6f463 100644
--- a/binaries/data/mods/public/gui/summary/summary.xml
+++ b/binaries/data/mods/public/gui/summary/summary.xml
@@ -57,32 +57,72 @@
-