Index: binaries/data/mods/public/simulation/components/Auras.js =================================================================== --- binaries/data/mods/public/simulation/components/Auras.js +++ binaries/data/mods/public/simulation/components/Auras.js @@ -10,8 +10,9 @@ { this.affectedPlayers = {}; - for (let name of this.GetAuraNames()) + for (let name of this.GetAuraNames()) { this.affectedPlayers[name] = []; + } // In case of autogarrisoning, this component can be called before ownership is set. // So it needs to be completely initialised from the start. @@ -43,7 +44,33 @@ Auras.prototype.GetAuraNames = function() { - return this.template._string.split(/\s+/); + let cmpIdentity = Engine.QueryInterface(this.entity, IID_Identity); + let cmpPlayer = QueryOwnerInterface(this.entity); + + let auraNames = this.template._string.split(/\s+/); + + let names = []; + for (let auraName of auraNames) + { + // replace {native} + if (auraName.search(/\{native\}/g) != -1) + { + if (!cmpIdentity || !cmpIdentity.GetCiv()) + continue; + + auraName = auraName.replace(/\{native\}/g, cmpIdentity.GetCiv()); + } + // replace {civ} + else if (auraName.search(/\{civ\}/g) != -1) + { + if (!cmpPlayer || !cmpPlayer.GetCiv()) + continue; + + auraName = auraName.replace(/\{civ\}/g, cmpPlayer.GetCiv()); + } + names.push(auraName); + } + return names; }; Auras.prototype.GetOverlayIcon = function(name) Index: binaries/data/mods/public/simulation/data/auras/teambonuses/kush_player_team_bonus.json =================================================================== --- binaries/data/mods/public/simulation/data/auras/teambonuses/kush_player_team_bonus.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "type": "global", - "affects": ["Elephant"], - "affectedPlayers": ["ExclusiveMutualAlly"], - "modifications": [ - { "value": "Cost/Resources/food", "multiply": 0.8 }, - { "value": "Cost/Resources/wood", "multiply": 0.8 }, - { "value": "Cost/Resources/metal", "multiply": 0.8 }, - { "value": "Cost/Resources/stone", "multiply": 0.8 }, - { "value": "Cost/BuildTime", "multiply": 0.8 } - ], - "auraName": "Elephant Suppliers", - "auraDescription": "Reduces the cost and train time for elephants with 20% for allies of Kushite players." -} Index: binaries/data/mods/public/simulation/data/auras/teambonuses/kush_player_teambonus.json =================================================================== --- /dev/null +++ binaries/data/mods/public/simulation/data/auras/teambonuses/kush_player_teambonus.json @@ -0,0 +1,14 @@ +{ + "type": "global", + "affects": ["Elephant"], + "affectedPlayers": ["ExclusiveMutualAlly"], + "modifications": [ + { "value": "Cost/Resources/food", "multiply": 0.8 }, + { "value": "Cost/Resources/wood", "multiply": 0.8 }, + { "value": "Cost/Resources/metal", "multiply": 0.8 }, + { "value": "Cost/Resources/stone", "multiply": 0.8 }, + { "value": "Cost/BuildTime", "multiply": 0.8 } + ], + "auraName": "Elephant Suppliers", + "auraDescription": "Reduces the cost and train time for elephants with 20% for allies of Kushite players." +} Index: binaries/data/mods/public/simulation/templates/special/player/player.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player.xml +++ binaries/data/mods/public/simulation/templates/special/player/player.xml @@ -5,6 +5,7 @@ 160 60000 + teambonuses/{civ}_player_teambonus 200 12 Index: binaries/data/mods/public/simulation/templates/special/player/player_athen.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_athen.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/athen_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_brit.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_brit.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/brit_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_cart.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_cart.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/cart_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_gaul.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_gaul.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/gaul_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_iber.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_iber.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/iber_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_kush.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_kush.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - teambonuses/kush_player_team_bonus - Index: binaries/data/mods/public/simulation/templates/special/player/player_mace.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_mace.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/mace_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_maur.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_maur.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/maur_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_pers.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_pers.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/pers_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_ptol.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_ptol.xml +++ binaries/data/mods/public/simulation/templates/special/player/player_ptol.xml @@ -1,8 +1,5 @@ - - teambonuses/ptol_player_teambonus - Index: binaries/data/mods/public/simulation/templates/special/player/player_rome.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_rome.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - teambonuses/rome_player_teambonus - - Index: binaries/data/mods/public/simulation/templates/special/player/player_sele.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_sele.xml +++ binaries/data/mods/public/simulation/templates/special/player/player_sele.xml @@ -1,8 +1,5 @@ - - teambonuses/sele_player_teambonus - Index: binaries/data/mods/public/simulation/templates/special/player/player_spart.xml =================================================================== --- binaries/data/mods/public/simulation/templates/special/player/player_spart.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - teambonuses/spart_player_teambonus -