Better summary screen. Fixes #686. Patch by Bajter and Kabzerek

This was SVN commit r14703.
This commit is contained in:
sanderd17 2014-01-29 18:30:56 +00:00
parent 459f13e72b
commit 1d3ac14d35
6 changed files with 1960 additions and 614 deletions

View File

@ -850,119 +850,166 @@ function reportGame(extendedSimState)
{
if (!Engine.HasXmppClient())
return;
// units
var unitsClasses = [
"total",
"Infantry",
"Worker",
"Female",
"Cavalry",
"Champion",
"Hero",
"Ship"
];
var unitsCountersTypes = [
"unitsTrained",
"unitsLost",
"enemyUnitsKilled"
];
// buildings
var buildingsClasses = [
"total",
"CivCentre",
"House",
"Economic",
"Outpost",
"Military",
"Fortress",
"Wonder"
];
var buildingsCountersTypes = [
"buildingsConstructed",
"buildingsLost",
"enemyBuildingsDestroyed"
];
// resources
var resourcesTypes = [
"wood",
"food",
"stone",
"metal"
];
var resourcesCounterTypes = [
"resourcesGathered",
"resourcesUsed",
"resourcesSold",
"resourcesBought"
];
// Resources gathered and used
var playerFoodGatheredString = "";
var playerWoodGatheredString = "";
var playerStoneGatheredString = "";
var playerMetalGatheredString = "";
var playerFoodUsedString = "";
var playerWoodUsedString = "";
var playerStoneUsedString = "";
var playerMetalUsedString = "";
// Resources exchanged
var playerFoodBoughtString = "";
var playerWoodBoughtString = "";
var playerStoneBoughtString = "";
var playerMetalBoughtString = "";
var playerFoodSoldString = "";
var playerWoodSoldString = "";
var playerStoneSoldString = "";
var playerMetalSoldString = "";
var playerTradeIncomeString = "";
var playerStatistics = { };
// Unit Stats
var playerUnitsLostString = "";
var playerUnitsTrainedString = "";
var playerEnemyUnitsKilledString = "";
for each (var unitCounterType in unitsCountersTypes)
{
if (!playerStatistics[unitCounterType])
playerStatistics[unitCounterType] = { };
for each (var unitsClass in unitsClasses)
playerStatistics[unitCounterType][unitsClass] = "";
}
playerStatistics.unitsLostValue = "";
playerStatistics.unitsKilledValue = "";
// Building stats
var playerBuildingsConstructedString = "";
var playerBuildingsLostString = "";
var playerEnemyBuildingsDestroyedString = "";
var playerCivCentersBuiltString = "";
var playerEnemyCivCentersDestroyedString = "";
for each (var buildingCounterType in buildingsCountersTypes)
{
if (!playerStatistics[buildingCounterType])
playerStatistics[buildingCounterType] = { };
for each (var buildingsClass in buildingsClasses)
playerStatistics[buildingCounterType][buildingsClass] = "";
}
playerStatistics.buildingsLostValue = "";
playerStatistics.enemyBuildingsDestroyedValue = "";
// Resources
for each (var resourcesCounterType in resourcesCounterTypes)
{
if (!playerStatistics[resourcesCounterType])
playerStatistics[resourcesCounterType] = { };
for each (var resourcesType in resourcesTypes)
playerStatistics[resourcesCounterType][resourcesType] = "";
}
playerStatistics.resourcesGathered.vegetarianFood = "";
playerStatistics.tradeIncome = "";
// Tribute
var playerTributeSentString = "";
var playerTributeReceivedString = "";
playerStatistics.tributesSent = "";
playerStatistics.tributesReceived = "";
// Various
playerStatistics.treasuresCollected = "";
playerStatistics.feminisation = "";
playerStatistics.percentMapExplored = "";
var mapName = Engine.GetMapSettings().Name;
var playerStatesString = "";
var playerCivsString = "";
var playerPercentMapExploredString = "";
var playerTreasuresCollectedString = "";
var playerStates = "";
var playerCivs = "";
var teams = "";
var teamsLocked = true;
// Serialize the statistics for each player into a comma-separated list.
for each (var player in extendedSimState.players)
{
playerStatesString += player.state + ",";
playerCivsString += player.civ + ",";
playerFoodGatheredString += player.statistics.resourcesGathered.food + ",";
playerWoodGatheredString += player.statistics.resourcesGathered.wood + ",";
playerStoneGatheredString += player.statistics.resourcesGathered.stone + ",";
playerMetalGatheredString += player.statistics.resourcesGathered.metal + ",";
playerFoodUsedString += player.statistics.resourcesUsed.food + ",";
playerWoodUsedString += player.statistics.resourcesUsed.wood + ",";
playerStoneUsedString += player.statistics.resourcesUsed.stone + ",";
playerMetalUsedString += player.statistics.resourcesUsed.metal + ",";
playerUnitsLostString += player.statistics.unitsLost + ",";
playerUnitsTrainedString += player.statistics.unitsTrained + ",";
playerEnemyUnitsKilledString += player.statistics.enemyUnitsKilled + ",";
playerBuildingsConstructedString += player.statistics.buildingsConstructed + ",";
playerBuildingsLostString += player.statistics.buildingsLost + ",";
playerEnemyBuildingsDestroyedString += player.statistics.enemyBuildingsDestroyed + ",";
playerFoodBoughtString += player.statistics.resourcesBought.food + ",";
playerWoodBoughtString += player.statistics.resourcesBought.wood + ",";
playerStoneBoughtString += player.statistics.resourcesBought.stone + ",";
playerMetalBoughtString += player.statistics.resourcesBought.metal + ",";
playerFoodSoldString += player.statistics.resourcesSold.food + ",";
playerWoodSoldString += player.statistics.resourcesSold.wood + ",";
playerStoneSoldString += player.statistics.resourcesSold.stone + ",";
playerMetalSoldString += player.statistics.resourcesSold.metal + ",";
playerTributeSentString += player.statistics.tributesSent + ",";
playerTributeReceivedString += player.statistics.tributesReceived + ",";
playerPercentMapExploredString += player.statistics.precentMapExplored = ",";
playerCivCentersBuiltString += player.statistics.civCentresBuilt + ",";
playerEnemyCivCentersDestroyedString += player.statistics.enemyCivCentresDestroyed + ",";
playerTreasuresCollectedString += player.statistics.treasuresCollected + ",";
playerTradeIncomeString += player.statistics.tradeIncome + ",";
playerStates += player.state + ",";
playerCivs += player.civ + ",";
teams += player.team + ",";
teamsLocked = teamsLocked && player.teamsLocked;
for each (var resourcesCounterType in resourcesCounterTypes)
for each (var resourcesType in resourcesTypes)
playerStatistics[resourcesCounterType][resourcesType] += player.statistics[resourcesCounterType][resourcesType] + ",";
playerStatistics.resourcesGathered.vegetarianFood += player.statistics.resourcesGathered.vegetarianFood + ",";
for each (var unitCounterType in unitsCountersTypes)
for each (var unitsClass in unitsClasses)
playerStatistics[unitCounterType][unitsClass] += player.statistics[unitCounterType][unitsClass] + ",";
for each (var buildingCounterType in buildingsCountersTypes)
for each (var buildingsClass in buildingsClasses)
playerStatistics[buildingCounterType][buildingsClass] += player.statistics[buildingCounterType][buildingsClass] + ",";
playerStatistics.tradeIncome += player.statistics.tradeIncome + ",";
playerStatistics.tributesSent += player.statistics.tributesSent + ",";
playerStatistics.tributesReceived += player.statistics.tributesReceived + ",";
playerStatistics.percentMapExplored += player.statistics.percentMapExplored + ",";
playerStatistics.treasuresCollected += player.statistics.treasuresCollected + ",";
}
// Send the report with serialized data
Engine.SendGameReport({
"timeElapsed" : extendedSimState.timeElapsed,
"playerStates" : playerStatesString,
"playerID": Engine.GetPlayerID(),
"matchID": g_MatchID,
"civs" : playerCivsString,
"mapName" : mapName,
"foodGathered": playerFoodGatheredString,
"woodGathered": playerWoodGatheredString,
"stoneGathered": playerStoneGatheredString,
"metalGathered": playerMetalGatheredString,
"foodUsed": playerFoodUsedString,
"woodUsed": playerWoodUsedString,
"stoneUsed": playerStoneUsedString,
"metalUsed": playerMetalUsedString,
"unitsLost": playerUnitsLostString,
"unitsTrained": playerUnitsTrainedString,
"enemyUnitsKilled": playerEnemyUnitsKilledString,
"buildingsLost": playerBuildingsLostString,
"buildingsConstructed": playerBuildingsConstructedString,
"enemyBuildingsDestroyed": playerEnemyBuildingsDestroyedString,
"foodBought": playerFoodBoughtString,
"woodBought": playerWoodBoughtString,
"stoneBought": playerStoneBoughtString,
"metalBought": playerMetalBoughtString,
"foodSold": playerFoodSoldString,
"woodSold": playerWoodSoldString,
"stoneSold": playerStoneSoldString,
"metalSold": playerMetalSoldString,
"tributeSent": playerTributeSentString,
"tributeReceived": playerTributeReceivedString,
"precentMapExplored": playerPercentMapExploredString,
"civCentersBuilt": playerCivCentersBuiltString,
"enemyCivCentersDestroyed": playerEnemyCivCentersDestroyedString,
"treasuresCollected": playerTreasuresCollectedString,
"tradeIncome": playerTradeIncomeString
});
var reportObject = { };
reportObject.timeElapsed = extendedSimState.timeElapsed;
reportObject.playerStates = playerStates;
reportObject.playerID = Engine.GetPlayerID();
reportObject.matchID = g_MatchID;
reportObject.civs = playerCivs;
reportObject.teams = teams;
reportObject.teamsLocked = teamsLocked;
reportObject.mapName = mapName;
for each (var rct in resourcesCounterTypes)
{
for each (var rt in resourcesTypes)
reportObject[rt+rct.substr(9)] = playerStatistics[rct][rt];
// eg. rt = food rct.substr = Gathered rct = resourcesGathered
}
reportObject.vegetarianFoodGathered = playerStatistics.resourcesGathered.vegetarianFood;
for each (var type in unitsClasses)
{
// eg. type = Infantry (type.substr(0,1)).toLowerCase()+type.substr(1) = infantry
reportObject[(type.substr(0,1)).toLowerCase()+type.substr(1)+"UnitsTrained"] = playerStatistics.unitsTrained[type];
reportObject[(type.substr(0,1)).toLowerCase()+type.substr(1)+"UnitsLost"] = playerStatistics.unitsLost[type];
reportObject["enemy"+type+"UnitsKilled"] = playerStatistics.enemyUnitsKilled[type];
}
for each (var type in buildingsClasses)
{
reportObject[(type.substr(0,1)).toLowerCase()+type.substr(1)+"BuildingsConstructed"] = playerStatistics.buildingsConstructed[type];
reportObject[(type.substr(0,1)).toLowerCase()+type.substr(1)+"BuildingsLost"] = playerStatistics.buildingsLost[type];
reportObject["enemy"+type+"BuildingsDestroyed"] = playerStatistics.enemyBuildingsDestroyed[type];
}
reportObject.tributesSent = playerStatistics.tributesSent;
reportObject.tributesReceived = playerStatistics.tributesReceived;
reportObject.precentMapExplored = playerStatistics.percentMapExplored;
reportObject.treasuresCollected = playerStatistics.treasuresCollected;
reportObject.tradeIncome = playerStatistics.tradeIncome;
Engine.SendGameReport(reportObject);
}

File diff suppressed because it is too large Load Diff

View File

@ -57,31 +57,36 @@
<object name="tabDividerLeft" type="image" sprite="TabSpacer" size="172 120 174 122"/>
<object name="tabDividerRight" type="image" sprite="TabSpacer" size="328 120 330 122"/>
<object name="scorePanelButton" type="button" sprite="ForegroundTab" size="20 95 170 120">
<object name="scorePanelButton" type="button" sprite="ForegroundTab" size="20 82 136 120">
<action on="Press">selectPanel(0);</action>
<object type="text" style="TitleText" ghost="true">Score</object>
</object>
<object name="unitsBuildingsPanelButton" type="button" sprite="BackgroundTab" size="176 95 326 120">
<object name="buildingsPanelButton" type="button" sprite="BackgroundTab" size="142 82 260 120">
<action on="Press">selectPanel(1);</action>
<object type="text" style="TitleText" ghost="true">Units/buildings</object>
<object type="text" style="TitleText" ghost="true">Buildings</object>
</object>
<object name="conquestPanelButton" type="button" sprite="BackgroundTab" size="332 95 480 120">
<object name="unitsPanelButton" type="button" sprite="BackgroundTab" size="266 82 384 120">
<action on="Press">selectPanel(2);</action>
<object type="text" style="TitleText" ghost="true">Conquest</object>
<object type="text" style="TitleText" ghost="true">Units</object>
</object>
<object name="resourcesPanelButton" type="button" sprite="BackgroundTab" size="486 95 636 120">
<object name="resourcesPanelButton" type="button" sprite="BackgroundTab" size="390 82 508 120">
<action on="Press">selectPanel(3);</action>
<object type="text" style="TitleText" ghost="true">Resources</object>
</object>
<object name="marketPanelButton" type="button" sprite="BackgroundTab" size="642 95 792 120">
<object name="marketPanelButton" type="button" sprite="BackgroundTab" size="514 82 632 120">
<action on="Press">selectPanel(4);</action>
<object type="text" style="TitleText" ghost="true">Market</object>
</object>
<object name="miscPanelButton" type="button" sprite="BackgroundTab" size="638 82 756 120">
<action on="Press">selectPanel(5);</action>
<object type="text" style="TitleText" ghost="true">Miscellaneous</object>
</object>
<object name="scorePanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58">
<object size="0 0 100% 100%-50">
@ -102,95 +107,437 @@
</object>
</object>
<object size="0 65 100% 100%-50">
<object type="image" name="teamBox0t0" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading0t0" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox0t0p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox0t0p[n]" type="image" size="10 4 30 24"/>
<object name="playerName0t0p[n]" type="text" size="40 2 208 100%" style="LeftLabelText" />
<object name="civIcon0t0p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="economyScoret0p[n]" type="text" style="CenteredLabelText"/>
<object name="militaryScoret0p[n]" type="text" style="CenteredLabelText"/>
<object name="explorationScoret0p[n]" type="text" style="CenteredLabelText"/>
<object name="totalScoret0p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading0t0" type="text" style="LeftTabLabelText"/>
<object name="economyScoret0" type="text" style="CenteredLabelText"/>
<object name="militaryScoret0" type="text" style="CenteredLabelText"/>
<object name="explorationScoret0" type="text" style="CenteredLabelText"/>
<object name="totalScoret0" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox0t1" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading0t1" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox0t1p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox0t1p[n]" type="image" size="10 4 30 24"/>
<object name="playerName0t1p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon0t1p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="economyScoret1p[n]" type="text" style="CenteredLabelText"/>
<object name="militaryScoret1p[n]" type="text" style="CenteredLabelText"/>
<object name="explorationScoret1p[n]" type="text" style="CenteredLabelText"/>
<object name="totalScoret1p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading0t1" type="text" style="LeftTabLabelText"/>
<object name="economyScoret1" type="text" style="CenteredLabelText"/>
<object name="militaryScoret1" type="text" style="CenteredLabelText"/>
<object name="explorationScoret1" type="text" style="CenteredLabelText"/>
<object name="totalScoret1" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox0t2" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading0t2" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox0t2p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox0t2p[n]" type="image" size="10 4 30 24"/>
<object name="playerName0t2p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon0t2p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="economyScoret2p[n]" type="text" style="CenteredLabelText"/>
<object name="militaryScoret2p[n]" type="text" style="CenteredLabelText"/>
<object name="explorationScoret2p[n]" type="text" style="CenteredLabelText"/>
<object name="totalScoret2p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading0t2" type="text" style="LeftTabLabelText"/>
<object name="economyScoret2" type="text" style="CenteredLabelText"/>
<object name="militaryScoret2" type="text" style="CenteredLabelText"/>
<object name="explorationScoret2" type="text" style="CenteredLabelText"/>
<object name="totalScoret2" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox0t3" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading0t3" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox0t3p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox0t3p[n]" type="image" size="10 4 30 24"/>
<object name="playerName0t3p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon0t3p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="economyScoret3p[n]" type="text" style="CenteredLabelText"/>
<object name="militaryScoret3p[n]" type="text" style="CenteredLabelText"/>
<object name="explorationScoret3p[n]" type="text" style="CenteredLabelText"/>
<object name="totalScoret3p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading0t3" type="text" style="LeftTabLabelText"/>
<object name="economyScoret3" type="text" style="CenteredLabelText"/>
<object name="militaryScoret3" type="text" style="CenteredLabelText"/>
<object name="explorationScoret3" type="text" style="CenteredLabelText"/>
<object name="totalScoret3" type="text" style="CenteredLabelText"/>
</object>yy
<object type="image" name="noTeamsBox0" size="0 65 100% 100%-50" hidden="true">
<repeat count="8">
<object type="image" name="playerBox0[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox0[n]" type="image" size="10 4 30 24" />
<object name="playerName0[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />
<object name="civIcon0[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="economyScore[n]" type="text" style="CenteredLabelText"/>
<object name="militaryScore[n]" type="text" style="CenteredLabelText"/>
<object name="explorationScore[n]" type="text" style="CenteredLabelText"/>
<object name="totalScore[n]" type="text" style="CenteredLabelText"/>
<object name="playerColourBox0[n]" type="image" size="10 4 30 24"/>
<object name="playerName0[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon0[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="economyScore[n]" type="text" style="CenteredLabelText"/>
<object name="militaryScore[n]" type="text" style="CenteredLabelText"/>
<object name="explorationScore[n]" type="text" style="CenteredLabelText"/>
<object name="totalScore[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
</object>
<object name="unitsBuildingsPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
<object name="buildingsPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
<object size="0 0 100% 100%-50">
<object name="playerName1Heading" type="text" style="LeftTabLabelText">
Player name
</object>
<object name="unitsTrainedHeading" type="text" style="CenteredTabLabelText">
Units&#10;trained
<object name="buildingsHeading" type="text" style="CenteredTabLabelText">
Buildings Statistics (Constructed / Lost / Destroyed)
</object>
<object name="unitsLostHeading" type="text" style="CenteredTabLabelText">
Units&#10;lost
<object name="totalBuildingsHeading" type="text" style="CenteredTabLabelText">
Total
</object>
<object name="enemyUnitsKilledHeading" type="text" style="CenteredTabLabelText">
Enemy units&#10;killed
<object name="houseBuildingsHeading" type="text" style="CenteredTabLabelText">
Houses
</object>
<object name="buildingsConstructedHeading" type="text" style="CenteredTabLabelText">
Buildings&#10;constructed
<object name="economicBuildingsHeading" type="text" style="CenteredTabLabelText">
Economic
</object>
<object name="buildingsLostHeading" type="text" style="CenteredTabLabelText">
Buildings&#10;lost
<object name="outpostBuildingsHeading" type="text" style="CenteredTabLabelText">
Outposts
</object>
<object name="enemyBuildingsDestroyedHeading" type="text" style="CenteredTabLabelText">
Enemy&#10;buildings&#10;destroyed
<object name="militaryBuildingsHeading" type="text" style="CenteredTabLabelText">
Military
</object>
<object name="fortressBuildingsHeading" type="text" style="CenteredTabLabelText">
Fortresses
</object>
<object name="civCentreBuildingsHeading" type="text" style="CenteredTabLabelText">
Civ&#160;Centers
</object>
<object name="wonderBuildingsHeading" type="text" style="CenteredTabLabelText">
Wonders
</object>
</object>
<object size="0 65 100% 100%-50">
</object>
<object type="image" name="teamBox1t0" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading1t0" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox1t0p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox1t0p[n]" type="image" size="10 4 30 24"/>
<object name="playerName1t0p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon1t0p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalBuildingst0p[n]" type="text" style="CenteredLabelText"/>
<object name="houseBuildingst0p[n]" type="text" style="CenteredLabelText"/>
<object name="economicBuildingst0p[n]" type="text" style="CenteredLabelText"/>
<object name="outpostBuildingst0p[n]" type="text" style="CenteredLabelText"/>
<object name="militaryBuildingst0p[n]" type="text" style="CenteredLabelText"/>
<object name="fortressBuildingst0p[n]" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildingst0p[n]" type="text" style="CenteredLabelText"/>
<object name="wonderBuildingst0p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading1t0" type="text" style="LeftTabLabelText"/>
<object name="totalBuildingst0" type="text" style="CenteredLabelText"/>
<object name="houseBuildingst0" type="text" style="CenteredLabelText"/>
<object name="economicBuildingst0" type="text" style="CenteredLabelText"/>
<object name="outpostBuildingst0" type="text" style="CenteredLabelText"/>
<object name="militaryBuildingst0" type="text" style="CenteredLabelText"/>
<object name="fortressBuildingst0" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildingst0" type="text" style="CenteredLabelText"/>
<object name="wonderBuildingst0" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox1t1" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading1t1" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox1t1p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox1t1p[n]" type="image" size="10 4 30 24"/>
<object name="playerName1t1p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon1t1p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalBuildingst1p[n]" type="text" style="CenteredLabelText"/>
<object name="houseBuildingst1p[n]" type="text" style="CenteredLabelText"/>
<object name="economicBuildingst1p[n]" type="text" style="CenteredLabelText"/>
<object name="outpostBuildingst1p[n]" type="text" style="CenteredLabelText"/>
<object name="militaryBuildingst1p[n]" type="text" style="CenteredLabelText"/>
<object name="fortressBuildingst1p[n]" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildingst1p[n]" type="text" style="CenteredLabelText"/>
<object name="wonderBuildingst1p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading1t1" type="text" style="LeftTabLabelText"/>
<object name="totalBuildingst1" type="text" style="CenteredLabelText"/>
<object name="houseBuildingst1" type="text" style="CenteredLabelText"/>
<object name="economicBuildingst1" type="text" style="CenteredLabelText"/>
<object name="outpostBuildingst1" type="text" style="CenteredLabelText"/>
<object name="militaryBuildingst1" type="text" style="CenteredLabelText"/>
<object name="fortressBuildingst1" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildingst1" type="text" style="CenteredLabelText"/>
<object name="wonderBuildingst1" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox1t2" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading1t2" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox1t2p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox1t2p[n]" type="image" size="10 4 30 24"/>
<object name="playerName1t2p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon1t2p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalBuildingst2p[n]" type="text" style="CenteredLabelText"/>
<object name="houseBuildingst2p[n]" type="text" style="CenteredLabelText"/>
<object name="economicBuildingst2p[n]" type="text" style="CenteredLabelText"/>
<object name="outpostBuildingst2p[n]" type="text" style="CenteredLabelText"/>
<object name="militaryBuildingst2p[n]" type="text" style="CenteredLabelText"/>
<object name="fortressBuildingst2p[n]" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildingst2p[n]" type="text" style="CenteredLabelText"/>
<object name="wonderBuildingst2p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading1t2" type="text" style="LeftTabLabelText"/>
<object name="totalBuildingst2" type="text" style="CenteredLabelText"/>
<object name="houseBuildingst2" type="text" style="CenteredLabelText"/>
<object name="economicBuildingst2" type="text" style="CenteredLabelText"/>
<object name="outpostBuildingst2" type="text" style="CenteredLabelText"/>
<object name="militaryBuildingst2" type="text" style="CenteredLabelText"/>
<object name="fortressBuildingst2" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildingst2" type="text" style="CenteredLabelText"/>
<object name="wonderBuildingst2" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox1t3" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading1t3" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox1t3p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox1t3p[n]" type="image" size="10 4 30 24"/>
<object name="playerName1t3p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon1t3p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalBuildingst3p[n]" type="text" style="CenteredLabelText"/>
<object name="houseBuildingst3p[n]" type="text" style="CenteredLabelText"/>
<object name="economicBuildingst3p[n]" type="text" style="CenteredLabelText"/>
<object name="outpostBuildingst3p[n]" type="text" style="CenteredLabelText"/>
<object name="militaryBuildingst3p[n]" type="text" style="CenteredLabelText"/>
<object name="fortressBuildingst3p[n]" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildingst3p[n]" type="text" style="CenteredLabelText"/>
<object name="wonderBuildingst3p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading1t3" type="text" style="LeftTabLabelText"/>
<object name="totalBuildingst3" type="text" style="CenteredLabelText"/>
<object name="houseBuildingst3" type="text" style="CenteredLabelText"/>
<object name="economicBuildingst3" type="text" style="CenteredLabelText"/>
<object name="outpostBuildingst3" type="text" style="CenteredLabelText"/>
<object name="militaryBuildingst3" type="text" style="CenteredLabelText"/>
<object name="fortressBuildingst3" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildingst3" type="text" style="CenteredLabelText"/>
<object name="wonderBuildingst3" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="noTeamsBox1" size="0 65 100% 100%-50" hidden="true">
<repeat count="8">
<object type="image" name="playerBox1[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox1[n]" type="image" size="10 4 30 24" />
<object name="playerName1[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />
<object name="civIcon1[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="unitsTrained[n]" type="text" style="CenteredLabelText"/>
<object name="unitsLost[n]" type="text" style="CenteredLabelText"/>
<object name="enemyUnitsKilled[n]" type="text" style="CenteredLabelText"/>
<object name="buildingsConstructed[n]" type="text" style="CenteredLabelText"/>
<object name="buildingsLost[n]" type="text" style="CenteredLabelText"/>
<object name="enemyBuildingsDestroyed[n]" type="text" style="CenteredLabelText"/>
<object name="playerColourBox1[n]" type="image" size="10 4 30 24"/>
<object name="playerName1[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon1[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalBuildings[n]" type="text" style="CenteredLabelText"/>
<object name="houseBuildings[n]" type="text" style="CenteredLabelText"/>
<object name="economicBuildings[n]" type="text" style="CenteredLabelText"/>
<object name="outpostBuildings[n]" type="text" style="CenteredLabelText"/>
<object name="militaryBuildings[n]" type="text" style="CenteredLabelText"/>
<object name="fortressBuildings[n]" type="text" style="CenteredLabelText"/>
<object name="civCentreBuildings[n]" type="text" style="CenteredLabelText"/>
<object name="wonderBuildings[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
</object>
<object name="conquestPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
<object name="unitsPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
<object size="0 0 100% 100%-50">
<object name="playerName2Heading" type="text" style="LeftTabLabelText">
Player name
</object>
<object name="civCentresBuiltHeading" type="text" style="CenteredTabLabelText">
Civ centres&#10;built
<object name="unitsHeading" type="text" style="CenteredTabLabelText">
Units Statistics (Trained / Lost / Killed)
</object>
<object name="enemyCivCentresDestroyedHeading" type="text" style="CenteredTabLabelText">
Enemy&#10;civ centres&#10;destroyed
<object name="totalUnitsHeading" type="text" style="CenteredTabLabelText">
Total
</object>
<object name="mapExplorationHeading" type="text" style="CenteredTabLabelText">
Map&#10;exploration
<object name="infantryUnitsHeading" type="text" style="CenteredTabLabelText">
Infantry
</object>
<object name="workerUnitsHeading" type="text" style="CenteredTabLabelText">
Worker
</object>
<object name="cavalryUnitsHeading" type="text" style="CenteredTabLabelText">
Cavalry
</object>
<object name="championUnitsHeading" type="text" style="CenteredTabLabelText">
Champion
</object>
<object name="heroesUnitsHeading" type="text" style="CenteredTabLabelText">
Heroes
</object>
<object name="navyUnitsHeading" type="text" style="CenteredTabLabelText">
Navy
</object>
</object>
<object type="image" name="teamBox2t0" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading2t0" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox2t0p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox2t0p[n]" type="image" size="10 4 30 24"/>
<object name="playerName2t0p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon2t0p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalUnitst0p[n]" type="text" style="CenteredLabelText"/>
<object name="infantryUnitst0p[n]" type="text" style="CenteredLabelText"/>
<object name="workerUnitst0p[n]" type="text" style="CenteredLabelText"/>
<object name="cavalryUnitst0p[n]" type="text" style="CenteredLabelText"/>
<object name="championUnitst0p[n]" type="text" style="CenteredLabelText"/>
<object name="heroesUnitst0p[n]" type="text" style="CenteredLabelText"/>
<object name="navyUnitst0p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading2t0" type="text" style="LeftTabLabelText"/>
<object name="totalUnitst0" type="text" style="CenteredLabelText"/>
<object name="infantryUnitst0" type="text" style="CenteredLabelText"/>
<object name="workerUnitst0" type="text" style="CenteredLabelText"/>
<object name="cavalryUnitst0" type="text" style="CenteredLabelText"/>
<object name="championUnitst0" type="text" style="CenteredLabelText"/>
<object name="heroesUnitst0" type="text" style="CenteredLabelText"/>
<object name="navyUnitst0" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox2t1" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading2t1" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox2t1p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox2t1p[n]" type="image" size="10 4 30 24"/>
<object name="playerName2t1p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon2t1p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalUnitst1p[n]" type="text" style="CenteredLabelText"/>
<object name="infantryUnitst1p[n]" type="text" style="CenteredLabelText"/>
<object name="workerUnitst1p[n]" type="text" style="CenteredLabelText"/>
<object name="cavalryUnitst1p[n]" type="text" style="CenteredLabelText"/>
<object name="championUnitst1p[n]" type="text" style="CenteredLabelText"/>
<object name="heroesUnitst1p[n]" type="text" style="CenteredLabelText"/>
<object name="navyUnitst1p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading2t1" type="text" style="LeftTabLabelText"/>
<object name="totalUnitst1" type="text" style="CenteredLabelText"/>
<object name="infantryUnitst1" type="text" style="CenteredLabelText"/>
<object name="workerUnitst1" type="text" style="CenteredLabelText"/>
<object name="cavalryUnitst1" type="text" style="CenteredLabelText"/>
<object name="championUnitst1" type="text" style="CenteredLabelText"/>
<object name="heroesUnitst1" type="text" style="CenteredLabelText"/>
<object name="navyUnitst1" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox2t2" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading2t2" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox2t2p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox2t2p[n]" type="image" size="10 4 30 24"/>
<object name="playerName2t2p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon2t2p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalUnitst2p[n]" type="text" style="CenteredLabelText"/>
<object name="infantryUnitst2p[n]" type="text" style="CenteredLabelText"/>
<object name="workerUnitst2p[n]" type="text" style="CenteredLabelText"/>
<object name="cavalryUnitst2p[n]" type="text" style="CenteredLabelText"/>
<object name="championUnitst2p[n]" type="text" style="CenteredLabelText"/>
<object name="heroesUnitst2p[n]" type="text" style="CenteredLabelText"/>
<object name="navyUnitst2p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading2t2" type="text" style="LeftTabLabelText"/>
<object name="totalUnitst2" type="text" style="CenteredLabelText"/>
<object name="infantryUnitst2" type="text" style="CenteredLabelText"/>
<object name="workerUnitst2" type="text" style="CenteredLabelText"/>
<object name="cavalryUnitst2" type="text" style="CenteredLabelText"/>
<object name="championUnitst2" type="text" style="CenteredLabelText"/>
<object name="heroesUnitst2" type="text" style="CenteredLabelText"/>
<object name="navyUnitst2" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox2t3" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading2t3" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox2t3p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox2t3p[n]" type="image" size="10 4 30 24"/>
<object name="playerName2t3p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon2t3p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalUnitst3p[n]" type="text" style="CenteredLabelText"/>
<object name="infantryUnitst3p[n]" type="text" style="CenteredLabelText"/>
<object name="workerUnitst3p[n]" type="text" style="CenteredLabelText"/>
<object name="cavalryUnitst3p[n]" type="text" style="CenteredLabelText"/>
<object name="championUnitst3p[n]" type="text" style="CenteredLabelText"/>
<object name="heroesUnitst3p[n]" type="text" style="CenteredLabelText"/>
<object name="navyUnitst3p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading2t3" type="text" style="LeftTabLabelText"/>
<object name="totalUnitst3" type="text" style="CenteredLabelText"/>
<object name="infantryUnitst3" type="text" style="CenteredLabelText"/>
<object name="workerUnitst3" type="text" style="CenteredLabelText"/>
<object name="cavalryUnitst3" type="text" style="CenteredLabelText"/>
<object name="championUnitst3" type="text" style="CenteredLabelText"/>
<object name="heroesUnitst3" type="text" style="CenteredLabelText"/>
<object name="navyUnitst3" type="text" style="CenteredLabelText"/>
</object>
<object size="0 65 100% 100%-50">
<object type="image" name="noTeamsBox2" size="0 65 100% 100%-50" hidden="true">
<repeat count="8">
<object type="image" name="playerBox2[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox2[n]" type="image" size="10 4 30 24" />
<object name="playerName2[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />
<object name="civIcon2[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="civCentresBuilt[n]" type="text" style="CenteredLabelText"/>
<object name="enemyCivCentresDestroyed[n]" type="text" style="CenteredLabelText"/>
<object name="mapExploration[n]" type="text" style="CenteredLabelText"/>
<object name="playerColourBox2[n]" type="image" size="10 4 30 24" />
<object name="playerName2[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon2[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="totalUnits[n]" type="text" style="CenteredLabelText"/>
<object name="infantryUnits[n]" type="text" style="CenteredLabelText"/>
<object name="workerUnits[n]" type="text" style="CenteredLabelText"/>
<object name="cavalryUnits[n]" type="text" style="CenteredLabelText"/>
<object name="championUnits[n]" type="text" style="CenteredLabelText"/>
<object name="heroesUnits[n]" type="text" style="CenteredLabelText"/>
<object name="navyUnits[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
</object>
<object name="resourcesPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
<object size="0 0 100% 100%-50">
@ -212,8 +559,8 @@
<object name="metalGatheredHeading" type="text" style="CenteredTabLabelText">
Metal
</object>
<object name="vegetarianRatioHeading" type="text" style="CenteredTabLabelText">
Vegetarian&#10;ratio
<object name="totalGatheredHeading" type="text" style="CenteredTabLabelText">
Total
</object>
<object name="treasuresCollectedHeading" type="text" style="CenteredTabLabelText">
Treasures&#10;collected
@ -223,24 +570,133 @@
</object>
</object>
<object size="0 65 100% 100%-50">
<object type="image" name="teamBox3t0" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading3t0" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox3t0p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox3t0p[n]" type="image" size="10 4 30 24"/>
<object name="playerName3t0p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon3t0p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="foodGatheredt0p[n]" type="text" style="CenteredLabelText"/>
<object name="woodGatheredt0p[n]" type="text" style="CenteredLabelText"/>
<object name="stoneGatheredt0p[n]" type="text" style="CenteredLabelText"/>
<object name="metalGatheredt0p[n]" type="text" style="CenteredLabelText"/>
<object name="totalGatheredt0p[n]" type="text" style="CenteredLabelText"/>
<object name="treasuresCollectedt0p[n]" type="text" style="CenteredLabelText"/>
<object name="resourcesTributedt0p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading3t0" type="text" style="LeftTabLabelText"/>
<object name="foodGatheredt0" type="text" style="CenteredLabelText"/>
<object name="woodGatheredt0" type="text" style="CenteredLabelText"/>
<object name="stoneGatheredt0" type="text" style="CenteredLabelText"/>
<object name="metalGatheredt0" type="text" style="CenteredLabelText"/>
<object name="totalGatheredt0" type="text" style="CenteredLabelText"/>
<object name="treasuresCollectedt0" type="text" style="CenteredLabelText"/>
<object name="resourcesTributedt0" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox3t1" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading3t1" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox3t1p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox3t1p[n]" type="image" size="10 4 30 24"/>
<object name="playerName3t1p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon3t1p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="foodGatheredt1p[n]" type="text" style="CenteredLabelText"/>
<object name="woodGatheredt1p[n]" type="text" style="CenteredLabelText"/>
<object name="stoneGatheredt1p[n]" type="text" style="CenteredLabelText"/>
<object name="metalGatheredt1p[n]" type="text" style="CenteredLabelText"/>
<object name="totalGatheredt1p[n]" type="text" style="CenteredLabelText"/>
<object name="treasuresCollectedt1p[n]" type="text" style="CenteredLabelText"/>
<object name="resourcesTributedt1p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading3t1" type="text" style="LeftTabLabelText"/>
<object name="foodGatheredt1" type="text" style="CenteredLabelText"/>
<object name="woodGatheredt1" type="text" style="CenteredLabelText"/>
<object name="stoneGatheredt1" type="text" style="CenteredLabelText"/>
<object name="metalGatheredt1" type="text" style="CenteredLabelText"/>
<object name="totalGatheredt1" type="text" style="CenteredLabelText"/>
<object name="treasuresCollectedt1" type="text" style="CenteredLabelText"/>
<object name="resourcesTributedt1" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox3t2" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading3t2" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox3t2p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox3t2p[n]" type="image" size="10 4 30 24"/>
<object name="playerName3t2p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon3t2p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="foodGatheredt2p[n]" type="text" style="CenteredLabelText"/>
<object name="woodGatheredt2p[n]" type="text" style="CenteredLabelText"/>
<object name="stoneGatheredt2p[n]" type="text" style="CenteredLabelText"/>
<object name="metalGatheredt2p[n]" type="text" style="CenteredLabelText"/>
<object name="totalGatheredt2p[n]" type="text" style="CenteredLabelText"/>
<object name="treasuresCollectedt2p[n]" type="text" style="CenteredLabelText"/>
<object name="resourcesTributedt2p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading3t2" type="text" style="LeftTabLabelText"/>
<object name="foodGatheredt2" type="text" style="CenteredLabelText"/>
<object name="woodGatheredt2" type="text" style="CenteredLabelText"/>
<object name="stoneGatheredt2" type="text" style="CenteredLabelText"/>
<object name="metalGatheredt2" type="text" style="CenteredLabelText"/>
<object name="totalGatheredt2" type="text" style="CenteredLabelText"/>
<object name="treasuresCollectedt2" type="text" style="CenteredLabelText"/>
<object name="resourcesTributedt2" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox3t3" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading3t3" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox3t3p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox3t3p[n]" type="image" size="10 4 30 24"/>
<object name="playerName3t3p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon3t3p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="foodGatheredt3p[n]" type="text" style="CenteredLabelText"/>
<object name="woodGatheredt3p[n]" type="text" style="CenteredLabelText"/>
<object name="stoneGatheredt3p[n]" type="text" style="CenteredLabelText"/>
<object name="metalGatheredt3p[n]" type="text" style="CenteredLabelText"/>
<object name="totalGatheredt3p[n]" type="text" style="CenteredLabelText"/>
<object name="treasuresCollectedt3p[n]" type="text" style="CenteredLabelText"/>
<object name="resourcesTributedt3p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading3t3" type="text" style="LeftTabLabelText"/>
<object name="foodGatheredt3" type="text" style="CenteredLabelText"/>
<object name="woodGatheredt3" type="text" style="CenteredLabelText"/>
<object name="stoneGatheredt3" type="text" style="CenteredLabelText"/>
<object name="metalGatheredt3" type="text" style="CenteredLabelText"/>
<object name="totalGatheredt3" type="text" style="CenteredLabelText"/>
<object name="treasuresCollectedt3" type="text" style="CenteredLabelText"/>
<object name="resourcesTributedt3" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="noTeamsBox3" size="0 65 100% 100%-50" hidden="true">
<repeat count="8">
<object type="image" name="playerBox3[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox3[n]" type="image" size="10 4 30 24" />
<object name="playerName3[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />
<object name="civIcon3[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="foodGathered[n]" type="text" style="CenteredLabelText"/>
<object name="woodGathered[n]" type="text" style="CenteredLabelText"/>
<object name="stoneGathered[n]" type="text" style="CenteredLabelText" />
<object name="metalGathered[n]" type="text" style="CenteredLabelText"/>
<object name="vegetarianRatio[n]" type="text" style="CenteredLabelText"/>
<object name="treasuresCollected[n]" type="text" style="CenteredLabelText"/>
<object name="resourcesTributed[n]" type="text" style="CenteredLabelText"/>
<object name="playerColourBox3[n]" type="image" size="10 4 30 24" />
<object name="playerName3[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon3[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="foodGathered[n]" type="text" style="CenteredLabelText"/>
<object name="woodGathered[n]" type="text" style="CenteredLabelText"/>
<object name="stoneGathered[n]" type="text" style="CenteredLabelText" />
<object name="metalGathered[n]" type="text" style="CenteredLabelText"/>
<object name="totalGathered[n]" type="text" style="CenteredLabelText"/>
<object name="treasuresCollected[n]" type="text" style="CenteredLabelText"/>
<object name="resourcesTributed[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
</object>
<object name="marketPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
<object size="0 0 100% 100%-50">
@ -266,25 +722,245 @@
Trade&#10;income
</object>
</object>
<object size="0 65 100% 100%-50">
<object type="image" name="teamBox4t0" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading4t0" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox4t0p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox4t0p[n]" type="image" size="10 4 30 24"/>
<object name="playerName4t0p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon4t0p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="exchangedFoodt0p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedWoodt0p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedStonet0p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedMetalt0p[n]" type="text" style="CenteredLabelText"/>
<object name="barterEfficiencyt0p[n]" type="text" style="CenteredLabelText"/>
<object name="tradeIncomet0p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading4t0" type="text" style="LeftTabLabelText"/>
<object name="exchangedFoodt0" type="text" style="CenteredLabelText"/>
<object name="exchangedWoodt0" type="text" style="CenteredLabelText"/>
<object name="exchangedStonet0" type="text" style="CenteredLabelText"/>
<object name="exchangedMetalt0" type="text" style="CenteredLabelText"/>
<object name="barterEfficiencyt0" type="text" style="CenteredLabelText"/>
<object name="tradeIncomet0" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox4t1" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading4t1" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox4t1p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox4t1p[n]" type="image" size="10 4 30 24"/>
<object name="playerName4t1p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon4t1p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="exchangedFoodt1p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedWoodt1p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedStonet1p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedMetalt1p[n]" type="text" style="CenteredLabelText"/>
<object name="barterEfficiencyt1p[n]" type="text" style="CenteredLabelText"/>
<object name="tradeIncomet1p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading4t1" type="text" style="LeftTabLabelText"/>
<object name="exchangedFoodt1" type="text" style="CenteredLabelText"/>
<object name="exchangedWoodt1" type="text" style="CenteredLabelText"/>
<object name="exchangedStonet1" type="text" style="CenteredLabelText"/>
<object name="exchangedMetalt1" type="text" style="CenteredLabelText"/>
<object name="barterEfficiencyt1" type="text" style="CenteredLabelText"/>
<object name="tradeIncomet1" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox4t2" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading4t2" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox4t2p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox4t2p[n]" type="image" size="10 4 30 24"/>
<object name="playerName4t2p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon4t2p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="exchangedFoodt2p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedWoodt2p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedStonet2p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedMetalt2p[n]" type="text" style="CenteredLabelText"/>
<object name="barterEfficiencyt2p[n]" type="text" style="CenteredLabelText"/>
<object name="tradeIncomet2p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading4t2" type="text" style="LeftTabLabelText"/>
<object name="exchangedFoodt2" type="text" style="CenteredLabelText"/>
<object name="exchangedWoodt2" type="text" style="CenteredLabelText"/>
<object name="exchangedStonet2" type="text" style="CenteredLabelText"/>
<object name="exchangedMetalt2" type="text" style="CenteredLabelText"/>
<object name="barterEfficiencyt2" type="text" style="CenteredLabelText"/>
<object name="tradeIncomet2" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox4t3" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading4t3" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox4t3p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox4t3p[n]" type="image" size="10 4 30 24"/>
<object name="playerName4t3p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon4t3p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="exchangedFoodt3p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedWoodt3p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedStonet3p[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedMetalt3p[n]" type="text" style="CenteredLabelText"/>
<object name="barterEfficiencyt3p[n]" type="text" style="CenteredLabelText"/>
<object name="tradeIncomet3p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading4t3" type="text" style="LeftTabLabelText"/>
<object name="exchangedFoodt3" type="text" style="CenteredLabelText"/>
<object name="exchangedWoodt3" type="text" style="CenteredLabelText"/>
<object name="exchangedStonet3" type="text" style="CenteredLabelText"/>
<object name="exchangedMetalt3" type="text" style="CenteredLabelText"/>
<object name="barterEfficiencyt3" type="text" style="CenteredLabelText"/>
<object name="tradeIncomet3" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="noTeamsBox4" size="0 65 100% 100%-50" hidden="true">
<repeat count="8">
<object type="image" name="playerBox4[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox4[n]" type="image" size="10 4 30 24" />
<object name="playerName4[n]" type="text" style="LeftLabelText" size="40 2 208 100%" />
<object name="civIcon4[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="exchangedFood[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedWood[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedStone[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedMetal[n]" type="text" style="CenteredLabelText"/>
<object name="barterEfficiency[n]" type="text" style="CenteredLabelText"/>
<object name="tradeIncome[n]" type="text" style="CenteredLabelText"/>
<object name="playerColourBox4[n]" type="image" size="10 4 30 24"/>
<object name="playerName4[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon4[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="exchangedFood[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedWood[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedStone[n]" type="text" style="CenteredLabelText"/>
<object name="exchangedMetal[n]" type="text" style="CenteredLabelText"/>
<object name="barterEfficiency[n]" type="text" style="CenteredLabelText"/>
<object name="tradeIncome[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
</object>
<object name="miscPanel" type="image" sprite="ForegroundBody" size="20 120 100%-20 100%-58" hidden="true">
<object size="0 0 100% 100%-50">
<object name="playerName5Heading" type="text" style="LeftTabLabelText">
Player name
</object>
<object name="vegetarianRatioHeading" type="text" style="CenteredTabLabelText">
Vegetarian&#10;ratio
</object>
<object name="feminisationHeading" type="text" style="CenteredTabLabelText">
Feminisation
</object>
<object name="killDeathRatioHeading" type="text" style="CenteredTabLabelText">
Kill / Death&#10;ratio
</object>
<object name="mapExplorationHeading" type="text" style="CenteredTabLabelText">
Map&#10;exploration
</object>
</object>
<object type="image" name="teamBox5t0" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading5t0" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox5t0p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox5t0p[n]" type="image" size="10 4 30 24"/>
<object name="playerName5t0p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon5t0p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="vegetarianRatiot0p[n]" type="text" style="CenteredLabelText"/>
<object name="feminisationt0p[n]" type="text" style="CenteredLabelText"/>
<object name="killDeathRatiot0p[n]" type="text" style="CenteredLabelText"/>
<object name="mapExplorationt0p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading5t0" type="text" style="LeftTabLabelText"/>
<object name="vegetarianRatiot0" type="text" style="CenteredLabelText"/>
<object name="feminisationt0" type="text" style="CenteredLabelText"/>
<object name="killDeathRatiot0" type="text" style="CenteredLabelText"/>
<object name="mapExplorationt0" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox5t1" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading5t1" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox5t1p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox5t1p[n]" type="image" size="10 4 30 24"/>
<object name="playerName5t1p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon5t1p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="vegetarianRatiot1p[n]" type="text" style="CenteredLabelText"/>
<object name="feminisationt1p[n]" type="text" style="CenteredLabelText"/>
<object name="killDeathRatiot1p[n]" type="text" style="CenteredLabelText"/>
<object name="mapExplorationt1p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading5t1" type="text" style="LeftTabLabelText"/>
<object name="vegetarianRatiot1" type="text" style="CenteredLabelText"/>
<object name="feminisationt1" type="text" style="CenteredLabelText"/>
<object name="killDeathRatiot1" type="text" style="CenteredLabelText"/>
<object name="mapExplorationt1" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox5t2" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading5t2" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox5t2p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox5t2p[n]" type="image" size="10 4 30 24"/>
<object name="playerName5t2p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon5t2p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="vegetarianRatiot2p[n]" type="text" style="CenteredLabelText"/>
<object name="feminisationt2p[n]" type="text" style="CenteredLabelText"/>
<object name="killDeathRatiot2p[n]" type="text" style="CenteredLabelText"/>
<object name="mapExplorationt2p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading5t2" type="text" style="LeftTabLabelText"/>
<object name="vegetarianRatiot2" type="text" style="CenteredLabelText"/>
<object name="feminisationt2" type="text" style="CenteredLabelText"/>
<object name="killDeathRatiot2" type="text" style="CenteredLabelText"/>
<object name="mapExplorationt2" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="teamBox5t3" size="0 65 100% 100%-50" hidden="true">
<object type="text" name="teamNameHeading5t3" size="15 5 100% 100%" style="LeftTabLabelText"/>
<object size="0 30 100% 100%">
<repeat count="8">
<object type="image" name="playerBox5t3p[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox5t3p[n]" type="image" size="10 4 30 24"/>
<object name="playerName5t3p[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon5t3p[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="vegetarianRatiot3p[n]" type="text" style="CenteredLabelText"/>
<object name="feminisationt3p[n]" type="text" style="CenteredLabelText"/>
<object name="killDeathRatiot3p[n]" type="text" style="CenteredLabelText"/>
<object name="mapExplorationt3p[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
<object name="teamHeading5t3" type="text" style="LeftTabLabelText"/>
<object name="vegetarianRatiot3" type="text" style="CenteredLabelText"/>
<object name="feminisationt3" type="text" style="CenteredLabelText"/>
<object name="killDeathRatiot3" type="text" style="CenteredLabelText"/>
<object name="mapExplorationt3" type="text" style="CenteredLabelText"/>
</object>
<object type="image" name="noTeamsBox5" size="0 65 100% 100%-50" hidden="true">
<repeat count="8">
<object type="image" name="playerBox5[n]" size="10 0 10 30" hidden="true">
<object name="playerColourBox5[n]" type="image" size="10 4 30 24"/>
<object name="playerName5[n]" type="text" size="40 2 208 100%" style="LeftLabelText"/>
<object name="civIcon5[n]" type="image" size="208 0 240 32" tooltip_style="sessionToolTip"/>
<object name="vegetarianRatio[n]" type="text" style="CenteredLabelText"/>
<object name="feminisation[n]" type="text" style="CenteredLabelText"/>
<object name="killDeathRatio[n]" type="text" style="CenteredLabelText"/>
<object name="mapExploration[n]" type="text" style="CenteredLabelText"/>
</object>
</repeat>
</object>
</object>
<object type="button" style="StoneButton" size="100%-164 100%-52 100%-24 100%-24">
Continue
<action on="Press"><![CDATA[

View File

@ -314,11 +314,7 @@ Foundation.prototype.Build = function(builderEnt, work)
// ----------------------------------------------------------------------
var cmpPlayerStatisticsTracker = QueryOwnerInterface(this.entity, IID_StatisticsTracker);
cmpPlayerStatisticsTracker.IncreaseConstructedBuildingsCounter();
var cmpIdentity = Engine.QueryInterface(building, IID_Identity);
if (cmpIdentity.GetClassesList().indexOf("CivCentre") != -1)
cmpPlayerStatisticsTracker.IncreaseBuiltCivCentresCounter();
cmpPlayerStatisticsTracker.IncreaseConstructedBuildingsCounter(building);
var cmpHealth = Engine.QueryInterface(this.entity, IID_Health);
var cmpBuildingHealth = Engine.QueryInterface(building, IID_Health);

View File

@ -571,7 +571,7 @@ ProductionQueue.prototype.SpawnUnits = function(templateName, count, metadata)
}
var cmpPlayerStatisticsTracker = QueryOwnerInterface(this.entity, IID_StatisticsTracker);
cmpPlayerStatisticsTracker.IncreaseTrainedUnitsCounter();
cmpPlayerStatisticsTracker.IncreaseTrainedUnitsCounter(ent);
// Play a sound, but only for the first in the batch (to avoid nasty phasing effects)
if (createdEnts.length == 0)

View File

@ -3,51 +3,120 @@ function StatisticsTracker() {}
StatisticsTracker.prototype.Schema =
"<a:component type='system'/><empty/>";
StatisticsTracker.prototype.Init = function()
{
// units
this.unitsTrained = 0;
this.unitsLost = 0;
this.unitsLostValue = 0;
this.enemyUnitsKilled = 0;
this.enemyUnitsKilledValue = 0;
//buildings
this.buildingsConstructed = 0;
this.buildingsLost = 0;
this.buildingsLostValue = 0;
this.enemyBuildingsDestroyed = 0;
this.enemyBuildingsDestroyedValue = 0;
// civ centres
this.civCentresBuilt = 0;
this.enemyCivCentresDestroyed = 0;
// resources
this.resourcesGathered = {
"food": 0,
"wood": 0,
"metal": 0,
"stone": 0,
"vegetarianFood": 0
};
this.resourcesUsed = {
"food": 0,
"wood": 0,
"metal": 0,
"stone": 0
};
this.resourcesSold = {
"food": 0,
"wood": 0,
"metal": 0,
"stone": 0
};
this.resourcesBought = {
"food": 0,
"wood": 0,
"metal": 0,
"stone": 0
};
this.tributesSent = 0;
this.tributesReceived = 0;
StatisticsTracker.prototype.Init = function()
{
// units
this.unitsClasses = [
"Infantry",
"Worker",
"Female",
"Cavalry",
"Champion",
"Hero",
"Ship"
];
this.unitsTrained = {
"Infantry": 0,
"Worker": 0,
"Female": 0,
"Cavalry": 0,
"Champion": 0,
"Hero": 0,
"Ship": 0,
"total": 0
};
this.unitsLost = {
"Infantry": 0,
"Worker": 0,
"Female": 0,
"Cavalry": 0,
"Champion": 0,
"Hero": 0,
"Ship": 0,
"total": 0
};
this.unitsLostValue = 0;
this.enemyUnitsKilled = {
"Infantry": 0,
"Worker": 0,
"Female": 0,
"Cavalry": 0,
"Champion": 0,
"Hero": 0,
"Ship": 0,
"total": 0
};
this.enemyUnitsKilledValue = 0;
// buildings
this.buildingsClasses = [
"House",
"Economic",
"Outpost",
"Military",
"Fortress",
"CivCentre",
"Wonder"
];
this.buildingsConstructed = {
"House": 0,
"Economic": 0,
"Outpost": 0,
"Military": 0,
"Fortress": 0,
"CivCentre": 0,
"Wonder": 0,
"total": 0
};
this.buildingsLost = {
"House": 0,
"Economic": 0,
"Outpost": 0,
"Military": 0,
"Fortress": 0,
"CivCentre": 0,
"Wonder": 0,
"total": 0
};
this.buildingsLostValue = 0;
this.enemyBuildingsDestroyed = {
"House": 0,
"Economic": 0,
"Outpost": 0,
"Military": 0,
"Fortress": 0,
"CivCentre": 0,
"Wonder": 0,
"total": 0
};
this.enemyBuildingsDestroyedValue = 0;
// resources
this.resourcesGathered = {
"food": 0,
"wood": 0,
"metal": 0,
"stone": 0,
"vegetarianFood": 0
};
this.resourcesUsed = {
"food": 0,
"wood": 0,
"metal": 0,
"stone": 0
};
this.resourcesSold = {
"food": 0,
"wood": 0,
"metal": 0,
"stone": 0
};
this.resourcesBought = {
"food": 0,
"wood": 0,
"metal": 0,
"stone": 0
};
this.tributesSent = 0;
this.tributesReceived = 0;
this.tradeIncome = 0;
this.treasuresCollected = 0;
};
@ -62,113 +131,152 @@ StatisticsTracker.prototype.GetStatistics = function()
"enemyUnitsKilledValue": this.enemyUnitsKilledValue,
"buildingsConstructed": this.buildingsConstructed,
"buildingsLost": this.buildingsLost,
"buildingsLostValue": this.buildingsLostValue,
"enemyBuildingsDestroyed": this.enemyBuildingsDestroyed,
"enemyBuildingsDestroyedValue": this.enemyBuildingsDestroyedValue,
"civCentresBuilt": this.civCentresBuilt,
"enemyCivCentresDestroyed": this.enemyCivCentresDestroyed,
"resourcesGathered": this.resourcesGathered,
"resourcesUsed": this.resourcesUsed,
"resourcesSold": this.resourcesSold,
"buildingsLostValue": this.buildingsLostValue,
"enemyBuildingsDestroyed": this.enemyBuildingsDestroyed,
"enemyBuildingsDestroyedValue": this.enemyBuildingsDestroyedValue,
"resourcesGathered": this.resourcesGathered,
"resourcesUsed": this.resourcesUsed,
"resourcesSold": this.resourcesSold,
"resourcesBought": this.resourcesBought,
"tributesSent": this.tributesSent,
"tributesReceived": this.tributesReceived,
"tradeIncome": this.tradeIncome,
"treasuresCollected": this.treasuresCollected,
"percentMapExplored": this.GetPercentMapExplored()
};
};
StatisticsTracker.prototype.IncreaseTrainedUnitsCounter = function()
};
};
/**
* Increments counter associated with certain entity/counter and type of given entity.
* @param entity The entity id
* @param counter The name of the counter to increment (e.g. "unitsTrained")
* @param type The type of the counter (e.g. "workers")
*/
StatisticsTracker.prototype.CounterIncrement = function(entity, counter, type)
{
var classes = entity.GetClassesList();
if (!classes)
return;
if (classes.indexOf(type) != -1)
this[counter][type]++;
};
/**
* Counts the total number of units trained as well as an individual count for
* each unit type. Based on templates.
* @param trainedUnit The unit that has been trained
*/
StatisticsTracker.prototype.IncreaseTrainedUnitsCounter = function(trainedUnit)
{
var cmpUnitEntityIdentity = Engine.QueryInterface(trainedUnit, IID_Identity);
if (!cmpUnitEntityIdentity)
return;
for each (var type in this.unitsClasses)
this.CounterIncrement(cmpUnitEntityIdentity, "unitsTrained", type);
this.unitsTrained.total++;
};
/**
* Counts the total number of buildings constructed as well as an individual count for
* each building type. Based on templates.
* @param constructedBuilding The building that has been constructed
*/
StatisticsTracker.prototype.IncreaseConstructedBuildingsCounter = function(constructedBuilding)
{
var cmpBuildingEntityIdentity = Engine.QueryInterface(constructedBuilding, IID_Identity);
if (!cmpBuildingEntityIdentity)
return;
for each(var type in this.buildingsClasses)
this.CounterIncrement(cmpBuildingEntityIdentity, "buildingsConstructed", type);
this.buildingsConstructed.total++;
};
StatisticsTracker.prototype.KilledEntity = function(targetEntity)
{
return this.unitsTrained++;
};
StatisticsTracker.prototype.IncreaseConstructedBuildingsCounter = function()
{
return this.buildingsConstructed++;
};
StatisticsTracker.prototype.IncreaseBuiltCivCentresCounter = function()
{
return this.civCentresBuilt++;
};
StatisticsTracker.prototype.KilledEntity = function(targetEntity)
{
var cmpTargetEntityIdentity = Engine.QueryInterface(targetEntity, IID_Identity);
var cmpCost = Engine.QueryInterface(targetEntity, IID_Cost);
var costs = cmpCost.GetResourceCosts();
if (cmpTargetEntityIdentity)
{
var cmpFoundation = Engine.QueryInterface(targetEntity, IID_Foundation);
// We want to deal only with real structures, not foundations
var targetIsStructure = cmpTargetEntityIdentity.HasClass("Structure") && cmpFoundation == null;
var targetIsDomesticAnimal = cmpTargetEntityIdentity.HasClass("Animal") && cmpTargetEntityIdentity.HasClass("Domestic");
// Don't count domestic animals as units
var targetIsUnit = cmpTargetEntityIdentity.HasClass("Unit") && !targetIsDomesticAnimal;
var targetIsCivCentre = cmpTargetEntityIdentity.HasClass("CivCentre");
var cmpTargetOwnership = Engine.QueryInterface(targetEntity, IID_Ownership);
// Don't increase counters if target player is gaia (player 0)
if (cmpTargetOwnership.GetOwner() != 0)
{
if (targetIsUnit)
{
this.enemyUnitsKilled++;
for (var r in costs)
{
this.enemyUnitsKilledValue += costs[r];
}
}
if (targetIsStructure)
{
this.enemyBuildingsDestroyed++;
for (var r in costs)
{
this.enemyBuildingsDestroyedValue += costs[r];
}
}
if (targetIsCivCentre && targetIsStructure)
this.enemyCivCentresDestroyed++;
}
}
};
var cmpTargetEntityIdentity = Engine.QueryInterface(targetEntity, IID_Identity);
var cmpCost = Engine.QueryInterface(targetEntity, IID_Cost);
var costs = cmpCost.GetResourceCosts();
if (!cmpTargetEntityIdentity)
return;
var cmpFoundation = Engine.QueryInterface(targetEntity, IID_Foundation);
// We want to deal only with real structures, not foundations
var targetIsStructure = cmpTargetEntityIdentity.HasClass("Structure") && cmpFoundation == null;
var targetIsDomesticAnimal = cmpTargetEntityIdentity.HasClass("Animal") && cmpTargetEntityIdentity.HasClass("Domestic");
// Don't count domestic animals as units
var targetIsUnit = cmpTargetEntityIdentity.HasClass("Unit") && !targetIsDomesticAnimal;
var cmpTargetOwnership = Engine.QueryInterface(targetEntity, IID_Ownership);
// Don't increase counters if target player is gaia (player 0)
if (cmpTargetOwnership.GetOwner() == 0)
return;
if (targetIsUnit)
{
for each (var type in this.unitsClasses)
this.CounterIncrement(cmpTargetEntityIdentity, "enemyUnitsKilled", type);
this.enemyUnitsKilled.total++;
for each (var cost in costs)
this.enemyUnitsKilledValue += cost;
}
if (targetIsStructure)
{
for each (var type in this.buildingsClasses)
this.CounterIncrement(cmpTargetEntityIdentity, "enemyBuildingsDestroyed", type);
this.enemyBuildingsDestroyed.total++;
for each (var cost in costs)
this.enemyBuildingsDestroyedValue += cost;
}
};
StatisticsTracker.prototype.LostEntity = function(lostEntity)
{
var cmpLostEntityIdentity = Engine.QueryInterface(lostEntity, IID_Identity);
var cmpCost = Engine.QueryInterface(lostEntity, IID_Cost);
var costs = cmpCost.GetResourceCosts();
if (cmpLostEntityIdentity)
{
var cmpFoundation = Engine.QueryInterface(lostEntity, IID_Foundation);
// We want to deal only with real structures, not foundations
var lostEntityIsStructure = cmpLostEntityIdentity.HasClass("Structure") && cmpFoundation == null;
var lostEntityIsDomesticAnimal = cmpLostEntityIdentity.HasClass("Animal") && cmpLostEntityIdentity.HasClass("Domestic");
// Don't count domestic animals as units
var lostEntityIsUnit = cmpLostEntityIdentity.HasClass("Unit") && !lostEntityIsDomesticAnimal;
if (lostEntityIsUnit)
{
this.unitsLost++;
for (var r in costs)
{
this.unitsLostValue += costs[r];
}
}
if (lostEntityIsStructure)
{
this.buildingsLost++;
for (var r in costs)
{
this.buildingsLostValue += costs[r];
}
}
}
};
var cmpLostEntityIdentity = Engine.QueryInterface(lostEntity, IID_Identity);
var cmpCost = Engine.QueryInterface(lostEntity, IID_Cost);
var costs = cmpCost.GetResourceCosts();
if (!cmpLostEntityIdentity)
return;
var cmpFoundation = Engine.QueryInterface(lostEntity, IID_Foundation);
// We want to deal only with real structures, not foundations
var lostEntityIsStructure = cmpLostEntityIdentity.HasClass("Structure") && cmpFoundation == null;
var lostEntityIsDomesticAnimal = cmpLostEntityIdentity.HasClass("Animal") && cmpLostEntityIdentity.HasClass("Domestic");
// Don't count domestic animals as units
var lostEntityIsUnit = cmpLostEntityIdentity.HasClass("Unit") && !lostEntityIsDomesticAnimal;
if (lostEntityIsUnit)
{
for each (var type in this.unitsClasses)
this.CounterIncrement(cmpLostEntityIdentity, "unitsLost", type);
this.unitsLost.total++;
for each (var cost in costs)
this.unitsLostValue += cost;
}
if (lostEntityIsStructure)
{
for each (var type in this.buildingsClasses)
this.CounterIncrement(cmpLostEntityIdentity, "buildingsLost", type);
this.buildingsLost.total++;
for each (var cost in costs)
this.buildingsLostValue += cost;
}
};
/**
* @param type Generic type of resource (string)
* @param amount Amount of resource, whick should be added (integer)
@ -176,13 +284,13 @@ StatisticsTracker.prototype.LostEntity = function(lostEntity)
*/
StatisticsTracker.prototype.IncreaseResourceGatheredCounter = function(type, amount, specificType)
{
this.resourcesGathered[type] += amount;
if (type == "food" && (specificType == "fruit" || specificType == "grain"))
this.resourcesGathered["vegetarianFood"] += amount;
};
/**
this.resourcesGathered[type] += amount;
if (type == "food" && (specificType == "fruit" || specificType == "grain"))
this.resourcesGathered.vegetarianFood += amount;
};
/**
* @param type Generic type of resource (string)
* @param amount Amount of resource, whick should be added (integer)
*/
@ -190,39 +298,39 @@ StatisticsTracker.prototype.IncreaseResourceUsedCounter = function(type, amount)
{
this.resourcesUsed[type] += amount;
};
StatisticsTracker.prototype.IncreaseTreasuresCollectedCounter = function()
{
return this.treasuresCollected++;
};
StatisticsTracker.prototype.IncreaseResourcesSoldCounter = function(type, amount)
{
this.resourcesSold[type] += amount;
}
StatisticsTracker.prototype.IncreaseResourcesBoughtCounter = function(type, amount)
{
this.resourcesBought[type] += amount;
}
StatisticsTracker.prototype.IncreaseTributesSentCounter = function(amount)
{
this.tributesSent += amount;
}
StatisticsTracker.prototype.IncreaseTributesReceivedCounter = function(amount)
{
this.tributesReceived += amount;
}
StatisticsTracker.prototype.IncreaseTradeIncomeCounter = function(amount)
{
this.tradeIncome += amount;
}
StatisticsTracker.prototype.GetPercentMapExplored = function()
{
StatisticsTracker.prototype.IncreaseTreasuresCollectedCounter = function()
{
this.treasuresCollected++;
};
StatisticsTracker.prototype.IncreaseResourcesSoldCounter = function(type, amount)
{
this.resourcesSold[type] += amount;
};
StatisticsTracker.prototype.IncreaseResourcesBoughtCounter = function(type, amount)
{
this.resourcesBought[type] += amount;
};
StatisticsTracker.prototype.IncreaseTributesSentCounter = function(amount)
{
this.tributesSent += amount;
};
StatisticsTracker.prototype.IncreaseTributesReceivedCounter = function(amount)
{
this.tributesReceived += amount;
};
StatisticsTracker.prototype.IncreaseTradeIncomeCounter = function(amount)
{
this.tradeIncome += amount;
};
StatisticsTracker.prototype.GetPercentMapExplored = function()
{
var cmpRangeManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_RangeManager);
var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player);
return cmpRangeManager.GetPercentMapExplored(cmpPlayer.GetPlayerID());