Ticket #2445: teambonus_withauras.4.diff
File teambonus_withauras.4.diff, 3.7 KB (added by , 8 years ago) |
---|
-
binaries/data/mods/public/simulation/components/Auras.js
Auras.prototype.GetAffectedPlayers = fun 85 85 Auras.prototype.CalculateAffectedPlayers = function(name) 86 86 { 87 87 var affectedPlayers = this.auras[name].affectedPlayers || ["Player"]; 88 88 this.affectedPlayers[name] = []; 89 89 90 var cmpPlayer = QueryOwnerInterface(this.entity); 90 var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player); 91 if (!cmpPlayer) 92 cmpPlayer = QueryOwnerInterface(this.entity); 91 93 if (!cmpPlayer) 92 94 return; 93 95 94 96 var numPlayers = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager).GetNumPlayers(); 95 97 for (var i = 0; i < numPlayers; ++i) … … Auras.prototype.OnOwnershipChanged = fun 384 386 this.Clean(); 385 387 }; 386 388 387 389 Auras.prototype.OnDiplomacyChanged = function(msg) 388 390 { 389 var cmp Ownership = Engine.QueryInterface(this.entity, IID_Ownership);390 if (cmp Ownership && cmpOwnership.GetOwner() == msg.player)391 var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player); 392 if (cmpPlayer && cmpPlayer.GetPlayerID() == msg.player || IsOwnedByPlayer(msg.player, this.entity)) 391 393 this.Clean(); 392 394 }; 393 395 394 396 Auras.prototype.OnGlobalResearchFinished = function(msg) 395 397 { 396 let cmpOwnership = Engine.QueryInterface(this.entity, IID_Ownership);397 if ( !cmpOwnership || cmpOwnership.GetOwner() != msg.player)398 var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player); 399 if ((!cmpPlayer || cmpPlayer.GetPlayerID() != msg.player) && !IsOwnedByPlayer(msg.player, this.entity)) 398 400 return; 399 401 let auraNames = this.GetAuraNames(); 400 402 let needsClean = false; 401 403 for (let name of auraNames) 402 404 { -
binaries/data/mods/public/simulation/components/Player.js
Player.prototype.SetDiplomacyIndex = fun 426 426 if (this.state != "active" || cmpPlayer.state != "active") 427 427 return; 428 428 429 429 this.diplomacy[idx] = value; 430 430 Engine.BroadcastMessage(MT_DiplomacyChanged, { "player": this.playerID }); 431 Engine.BroadcastMessage(MT_DiplomacyChanged, { "player": cmpPlayer.GetPlayerID() }); 431 432 432 433 // Mutual worsening of relations 433 434 if (cmpPlayer.diplomacy[this.playerID] > value) 434 435 cmpPlayer.SetDiplomacyIndex(this.playerID, value); 435 436 }; -
binaries/data/mods/public/simulation/templates/special/player_iber.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <Entity parent="special/player"> 3 <Auras datatype="tokens">iber_player_teambonus</Auras> 4 </Entity> -
binaries/data/mods/public/simulation/templates/special/player_sele.xml
1 1 <?xml version="1.0" encoding="utf-8"?> 2 2 <Entity parent="special/player"> 3 <Auras datatype="tokens">sele_player_teambonus</Auras> 3 4 <EntityLimits> 4 5 <LimitRemovers> 5 6 <CivilCentre> 6 7 <RequiredTechs datatype="tokens">phase_town</RequiredTechs> 7 8 <RequiredClasses datatype="tokens">Hero</RequiredClasses>