diff --git a/binaries/data/mods/public/gui/summary/counters.js b/binaries/data/mods/public/gui/summary/counters.js
index f5c13f6..a3d1853 100644
a
|
b
|
function calculateColorsTeam(counters)
|
157 | 157 | function calculateUnits(playerState, position) |
158 | 158 | { |
159 | 159 | let type = g_UnitsTypes[position]; |
160 | | return g_TrainedColor + playerState.statistics.unitsTrained[type] + '[/color] / ' + |
161 | | g_LostColor + playerState.statistics.unitsLost[type] + '[/color] / ' + |
162 | | g_KilledColor + playerState.statistics.enemyUnitsKilled[type] + '[/color]'; |
| 160 | |
| 161 | if (type == "total") { |
| 162 | return g_TrainedColor + (playerState.statistics.unitsTrained[type] - playerState.statistics.unitsTrained['Animal']) + '[/color] / ' + |
| 163 | g_LostColor + playerState.statistics.unitsLost[type] + '[/color] / ' + |
| 164 | g_KilledColor + playerState.statistics.enemyUnitsKilled[type] + '[/color]'; |
| 165 | } else { |
| 166 | return g_TrainedColor + playerState.statistics.unitsTrained[type] + '[/color] / ' + |
| 167 | g_LostColor + playerState.statistics.unitsLost[type] + '[/color] / ' + |
| 168 | g_KilledColor + playerState.statistics.enemyUnitsKilled[type] + '[/color]'; |
| 169 | } |
163 | 170 | } |
164 | 171 | |
165 | 172 | function calculateResources(playerState, position) |
diff --git a/binaries/data/mods/public/gui/summary/layout.js b/binaries/data/mods/public/gui/summary/layout.js
index 9ed33b9..f8dcac7 100644
a
|
b
|
var g_ScorePanelsData = [
|
53 | 53 | { "caption": translate("Champion"), "yStart": 34, "width": 100 }, |
54 | 54 | { "caption": translate("Heroes"), "yStart": 34, "width": 100 }, |
55 | 55 | { "caption": translate("Navy"), "yStart": 34, "width": 100 }, |
56 | | { "caption": translate("Traders"), "yStart": 34, "width": 100 } |
| 56 | { "caption": translate("Traders"), "yStart": 34, "width": 100 }, |
| 57 | { "caption": translate("Animals"), "yStart": 34, "width": 100 } |
57 | 58 | ], |
58 | 59 | "titleHeadings": [ |
59 | | { "caption": translate("Units Statistics (Trained / Lost / Killed)"), "yStart": 16, "width": (100 * 7 + 120) }, // width = 820 |
| 60 | { "caption": translate("Units Statistics (Trained / Lost / Killed)"), "yStart": 16, "width": (100 * 8 + 120) }, // width = 920 |
60 | 61 | ], |
61 | 62 | "counters": [ // counters on units panel |
62 | 63 | { "width": 120, "fn": calculateUnits }, |
… |
… |
var g_ScorePanelsData = [
|
66 | 67 | { "width": 100, "fn": calculateUnits }, |
67 | 68 | { "width": 100, "fn": calculateUnits }, |
68 | 69 | { "width": 100, "fn": calculateUnits }, |
| 70 | { "width": 100, "fn": calculateUnits }, |
69 | 71 | { "width": 100, "fn": calculateUnits } |
70 | 72 | ], |
71 | 73 | "teamCounterFn": calculateColorsTeam |
diff --git a/binaries/data/mods/public/gui/summary/summary.js b/binaries/data/mods/public/gui/summary/summary.js
index d1bf648..d2d81bc 100644
a
|
b
|
|
1 | | const g_MaxHeadingTitle= 8; |
| 1 | const g_MaxHeadingTitle= 9; |
2 | 2 | |
3 | 3 | // const for filtering long collective headings |
4 | 4 | const g_LongHeadingWidth = 250; |
… |
… |
const g_LostColor = '[color="255 213 213"]';
|
18 | 18 | const g_KilledColor = '[color="196 198 255"]'; |
19 | 19 | |
20 | 20 | const g_BuildingsTypes = [ "total", "House", "Economic", "Outpost", "Military", "Fortress", "CivCentre", "Wonder" ]; |
21 | | const g_UnitsTypes = [ "total", "Infantry", "Worker", "Cavalry", "Champion", "Hero", "Ship", "Trader" ]; |
| 21 | const g_UnitsTypes = [ "total", "Infantry", "Worker", "Cavalry", "Champion", "Hero", "Ship", "Trader", "Animal" ]; |
22 | 22 | const g_ResourcesTypes = [ "food", "wood", "stone", "metal" ]; |
23 | 23 | |
24 | 24 | // Colors used for gathered and traded resources |
diff --git a/binaries/data/mods/public/gui/summary/summary.xml b/binaries/data/mods/public/gui/summary/summary.xml
index 8178571..21d6e87 100644
a
|
b
|
|
106 | 106 | <object name="playerNameHeading" type="text" style="ModernLeftTabLabelText"> |
107 | 107 | <translatableAttribute id="caption">Player name</translatableAttribute> |
108 | 108 | </object> |
109 | | <repeat var="x" count="8"> |
| 109 | <repeat var="x" count="9"> |
110 | 110 | <object name="titleHeading[x]" type="text" style="ModernTabLabelText"> |
111 | 111 | </object> |
112 | 112 | </repeat> |
113 | | <repeat var="x" count="8"> |
| 113 | <repeat var="x" count="9"> |
114 | 114 | <object name="Heading[x]" type="text" style="ModernTabLabelText"> |
115 | 115 | </object> |
116 | 116 | </repeat> |
… |
… |
|
120 | 120 | <object type="image" name="teamBoxt[i]" size="0 65 100% 100%-50" hidden="true"> |
121 | 121 | <object type="text" name="teamNameHeadingt[i]" size="15 5 100% 100%" style="ModernLeftTabLabelText"/> |
122 | 122 | <object size="0 30 100% 100%"> |
123 | | <repeat count="8" var="n"> |
| 123 | <repeat count="9" var="n"> |
124 | 124 | <object type="image" name="playerBoxt[i][n]" size="10 0 10 30" hidden="true"> |
125 | 125 | <object name="playerColorBoxt[i][n]" type="image" size="10 4 30 24"/> |
126 | 126 | <object name="playerNamet[i][n]" type="text" size="40 2 208 100%" style="ModernLeftLabelText" /> |
127 | 127 | <object name="civIcont[i][n]" type="image" size="208 0 240 32"/> |
128 | | <repeat var="x" count="8"> |
| 128 | <repeat var="x" count="9"> |
129 | 129 | <object name="valueDataTeam[i][n][x]" type="text" style="ModernTabLabelText"> |
130 | 130 | </object> |
131 | 131 | </repeat> |
… |
… |
|
133 | 133 | </repeat> |
134 | 134 | </object> |
135 | 135 | <object name="teamHeadingt[i]" type="text" style="ModernLeftTabLabelText"/> |
136 | | <repeat var="x" count="8"> |
| 136 | <repeat var="x" count="9"> |
137 | 137 | <object name="valueDataTeam[i][x]" type="text" style="ModernTabLabelText"> |
138 | 138 | </object> |
139 | 139 | </repeat> |
… |
… |
|
141 | 141 | </repeat> |
142 | 142 | |
143 | 143 | <object type="image" name="noTeamsBox" size="0 65 100% 100%-50" hidden="true"> |
144 | | <repeat count="8"> |
| 144 | <repeat count="9"> |
145 | 145 | <object type="image" name="playerBox[n]" size="10 0 10 30" hidden="true"> |
146 | 146 | <object type="image" sprite="ForegroundBox" size="10 4 34 28"> |
147 | 147 | <object name="playerColorBox[n]" type="image" size="2 2 22 22"/> |
148 | 148 | </object> |
149 | 149 | <object name="playerName[n]" type="text" size="40 2 208 100%" style="ModernLeftLabelText"/> |
150 | 150 | <object name="civIcon[n]" type="image" size="208 0 240 32"/> |
151 | | <repeat var="x" count="8"> |
| 151 | <repeat var="x" count="9"> |
152 | 152 | <object name="valueData[n][x]" type="text" style="ModernTabLabelText"> |
153 | 153 | </object> |
154 | 154 | </repeat> |
diff --git a/binaries/data/mods/public/simulation/components/StatisticsTracker.js b/binaries/data/mods/public/simulation/components/StatisticsTracker.js
index 9b8e7ce..59355f0 100644
a
|
b
|
StatisticsTracker.prototype.Init = function()
|
14 | 14 | "Champion", |
15 | 15 | "Hero", |
16 | 16 | "Ship", |
17 | | "Trader" |
| 17 | "Trader", |
| 18 | "Animal" |
18 | 19 | ]; |
19 | 20 | this.unitsTrained = { |
20 | 21 | "Infantry": 0, |
… |
… |
StatisticsTracker.prototype.Init = function()
|
25 | 26 | "Hero": 0, |
26 | 27 | "Ship": 0, |
27 | 28 | "Trader": 0, |
| 29 | "Animal": 0, |
28 | 30 | "total": 0 |
29 | 31 | }; |
30 | 32 | this.unitsLost = { |
… |
… |
StatisticsTracker.prototype.Init = function()
|
36 | 38 | "Hero": 0, |
37 | 39 | "Ship": 0, |
38 | 40 | "Trader": 0, |
| 41 | "Animal": 0, |
39 | 42 | "total": 0 |
40 | 43 | }; |
41 | 44 | this.unitsLostValue = 0; |
… |
… |
StatisticsTracker.prototype.Init = function()
|
48 | 51 | "Hero": 0, |
49 | 52 | "Ship": 0, |
50 | 53 | "Trader": 0, |
| 54 | "Animal": 0, |
51 | 55 | "total": 0 |
52 | 56 | }; |
53 | 57 | this.enemyUnitsKilledValue = 0; |