Index: binaries/data/mods/public/simulation/components/Auras.js
===================================================================
--- binaries/data/mods/public/simulation/components/Auras.js (révision 18077)
+++ binaries/data/mods/public/simulation/components/Auras.js (copie de travail)
@@ -85,11 +85,13 @@ Auras.prototype.GetAffectedPlayers = fun
Auras.prototype.CalculateAffectedPlayers = function(name)
{
var affectedPlayers = this.auras[name].affectedPlayers || ["Player"];
this.affectedPlayers[name] = [];
- var cmpPlayer = QueryOwnerInterface(this.entity);
+ var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player);
+ if (!cmpPlayer)
+ cmpPlayer = QueryOwnerInterface(this.entity);
if (!cmpPlayer)
return;
var numPlayers = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager).GetNumPlayers();
for (var i = 0; i < numPlayers; ++i)
@@ -384,19 +386,19 @@ Auras.prototype.OnOwnershipChanged = fun
this.Clean();
};
Auras.prototype.OnDiplomacyChanged = function(msg)
{
- var cmpOwnership = Engine.QueryInterface(this.entity, IID_Ownership);
- if (cmpOwnership && cmpOwnership.GetOwner() == msg.player)
+ var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player);
+ if (cmpPlayer && cmpPlayer.GetPlayerID() == msg.player || IsOwnedByPlayer(msg.player, this.entity))
this.Clean();
};
Auras.prototype.OnGlobalResearchFinished = function(msg)
{
- let cmpOwnership = Engine.QueryInterface(this.entity, IID_Ownership);
- if (!cmpOwnership || cmpOwnership.GetOwner() != msg.player)
+ var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player);
+ if ((!cmpPlayer || cmpPlayer.GetPlayerID() != msg.player) && !IsOwnedByPlayer(msg.player, this.entity))
return;
let auraNames = this.GetAuraNames();
let needsClean = false;
for (let name of auraNames)
{
Index: binaries/data/mods/public/simulation/components/Player.js
===================================================================
--- binaries/data/mods/public/simulation/components/Player.js (révision 18077)
+++ binaries/data/mods/public/simulation/components/Player.js (copie de travail)
@@ -426,10 +426,11 @@ Player.prototype.SetDiplomacyIndex = fun
if (this.state != "active" || cmpPlayer.state != "active")
return;
this.diplomacy[idx] = value;
Engine.BroadcastMessage(MT_DiplomacyChanged, { "player": this.playerID });
+ Engine.BroadcastMessage(MT_DiplomacyChanged, { "player": cmpPlayer.GetPlayerID() });
// Mutual worsening of relations
if (cmpPlayer.diplomacy[this.playerID] > value)
cmpPlayer.SetDiplomacyIndex(this.playerID, value);
};
Index: binaries/data/mods/public/simulation/templates/special/player_iber.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/special/player_iber.xml (nonexistent)
+++ binaries/data/mods/public/simulation/templates/special/player_iber.xml (copie de travail)
@@ -0,0 +1,4 @@
+
+
+ iber_player_teambonus
+
Index: binaries/data/mods/public/simulation/templates/special/player_sele.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/special/player_sele.xml (révision 18039)
+++ binaries/data/mods/public/simulation/templates/special/player_sele.xml (copie de travail)
@@ -1,7 +1,8 @@
+ sele_player_teambonus
phase_town
Hero