Ticket #2445: teambonus.diff
File teambonus.diff, 3.2 KB (added by , 10 years ago) |
---|
-
binaries/data/mods/public/simulation/components/TechnologyManager.js
131 131 if (!reqs) 132 132 return true; 133 133 134 // function to check the requirements on a different player, given a relation function 135 // The relation is a string like "IsAlly", "IsEnemy" ... 136 var otherPlayerCheck = function(relation, ent) { 137 var cmpPlayerManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager); 138 var numPlayers = cmpPlayerManager.GetNumPlayers(); 139 var cmpPlayer = Engine.QueryInterface(ent, IID_Player); 140 for (var p = 1; p < numPlayers; p++) 141 { 142 if (!cmpPlayer[relation](p)) 143 continue; 144 var playerEntID = cmpPlayerManager.GetPlayerByID(p) 145 var cmpTechnologyManager = Engine.QueryInterface(playerEntID, IID_TechnologyManager); 146 if (cmpTechnologyManager.CheckTechnologyRequirements(reqs.ally)) 147 return true; 148 } 149 return false; 150 } 134 151 if (reqs.tech) 135 152 { 136 153 return this.IsTechnologyResearched(reqs.tech); … … 178 195 else 179 196 return false; 180 197 } 181 198 else if (reqs.ally) 199 return otherPlayerCheck("IsAlly", this.entity); 200 else if (reqs.mutualAlly) 201 return otherPlayerCheck("IsMutualAlly", this.entity); 202 else if (reqs.enemy) 203 return otherPlayerCheck("IsEnemyAlly", this.entity); 204 182 205 // The technologies requirements are not a recognised format 183 206 error("Bad requirements " + uneval(reqs)); 184 207 return false; -
binaries/data/mods/public/simulation/data/technologies/iberians/teambonus_saripeko.json
1 { 2 "description": "Reduces the cost for skirmishers with 20% for allies of Iberian players", 3 "autoResearch": true, 4 "requirements": {"mutualAlly": {"civ": "iber"}}, 5 "modifications": [ 6 {"value": "Cost/Resources/food", "multiply": 0.8}, 7 {"value": "Cost/Resources/wood", "multiply": 0.8}, 8 {"value": "Cost/Resources/metal", "multiply": 0.8}, 9 {"value": "Cost/Resources/stone", "multiply": 0.8}], 10 "affects": ["CitizenSoldier Javelin"] 11 } -
binaries/data/mods/public/simulation/data/technologies/successors/teambonus_syrian_tetrapolis.json
1 { 2 "description": "Reduces the cost for civil centers with 20% for allies of Seleucid players", 3 "autoResearch": true, 4 "requirements": {"mutualAlly": {"civ": "sele"}}, 5 "modifications": [ 6 {"value": "Cost/Resources/food", "multiply": 0.8}, 7 {"value": "Cost/Resources/wood", "multiply": 0.8}, 8 {"value": "Cost/Resources/metal", "multiply": 0.8}, 9 {"value": "Cost/Resources/stone", "multiply": 0.8}], 10 "affects": ["CivCenter"] 11 }