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
-