Index: binaries/data/mods/public/simulation/components/Upgrade.js
===================================================================
--- binaries/data/mods/public/simulation/components/Upgrade.js
+++ binaries/data/mods/public/simulation/components/Upgrade.js
@@ -47,6 +47,9 @@
"" +
"" +
"" +
+ "" +
+ ModificationsSchema +
+ "" +
"" +
"" +
"" +
@@ -257,6 +260,14 @@
// Prevent cheating
this.ChangeUpgradedEntityCount(1);
+ if (this.template[this.upgradeTemplates[template]].Modifiers)
+ {
+ let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager);
+ cmpModifiersManager.AddModifiers("upgrade_" + this.entity,
+ DeriveModificationsFromXMLTemplate(this.template[this.upgradeTemplates[template]].Modifiers),
+ this.entity);
+ }
+
if (this.GetUpgradeTime(template) !== 0)
{
let cmpTimer = Engine.QueryInterface(SYSTEM_ENTITY, IID_Timer);
@@ -273,6 +284,12 @@
if (!this.IsUpgrading())
return;
+ if (this.template[this.upgradeTemplates[this.upgrading]].Modifiers)
+ {
+ let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager);
+ cmpModifiersManager.RemoveAllModifiers("upgrade_" + this.entity, this.entity);
+ }
+
let cmpPlayer = QueryPlayerIDInterface(owner, IID_Player);
if (cmpPlayer)
cmpPlayer.AddResources(this.expendedResources);
Index: binaries/data/mods/public/simulation/templates/structures/cart/house.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/structures/cart/house.xml
+++ binaries/data/mods/public/simulation/templates/structures/cart/house.xml
@@ -10,6 +10,23 @@
+
+
+ structures/cart/apartment
+
+ 40
+ 40
+
+
+
+
+ -3
+ Structure
+ Population/Bonus
+
+
+
+
structures/carthaginians/fndn_house.xml
structures/carthaginians/house.xml