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