Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/simulation/components/Auras.js
Show First 20 Lines • Show All 80 Lines • ▼ Show 20 Lines | |||||
Auras.prototype.CalculateAffectedPlayers = function(name) | Auras.prototype.CalculateAffectedPlayers = function(name) | ||||
{ | { | ||||
var affectedPlayers = this.auras[name].affectedPlayers || ["Player"]; | var affectedPlayers = this.auras[name].affectedPlayers || ["Player"]; | ||||
this.affectedPlayers[name] = []; | this.affectedPlayers[name] = []; | ||||
var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player); | var cmpPlayer = Engine.QueryInterface(this.entity, IID_Player); | ||||
if (!cmpPlayer) | if (!cmpPlayer) | ||||
cmpPlayer = QueryOwnerInterface(this.entity); | cmpPlayer = QueryOwnerInterface(this.entity); | ||||
if (!cmpPlayer) | if (!cmpPlayer || cmpPlayer.GetState() == "defeated") | ||||
return; | return; | ||||
var numPlayers = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager).GetNumPlayers(); | var numPlayers = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager).GetNumPlayers(); | ||||
for (var i = 0; i < numPlayers; ++i) | for (var i = 0; i < numPlayers; ++i) | ||||
{ | { | ||||
for (let p of affectedPlayers) | for (let p of affectedPlayers) | ||||
{ | { | ||||
if (p == "Player" ? cmpPlayer.GetPlayerID() == i : cmpPlayer["Is" + p](i)) | if (p == "Player" ? cmpPlayer.GetPlayerID() == i : cmpPlayer["Is" + p](i)) | ||||
▲ Show 20 Lines • Show All 323 Lines • ▼ Show 20 Lines | for (let name of this.GetAuraNames()) | ||||
if (requiredTech && requiredTech == msg.tech) | if (requiredTech && requiredTech == msg.tech) | ||||
{ | { | ||||
this.Clean(); | this.Clean(); | ||||
return; | return; | ||||
} | } | ||||
} | } | ||||
}; | }; | ||||
Auras.prototype.OnPlayerDefeated = function(msg) | |||||
{ | |||||
this.Clean(); | |||||
}; | |||||
Engine.RegisterComponentType(IID_Auras, "Auras", Auras); | Engine.RegisterComponentType(IID_Auras, "Auras", Auras); |
Wildfire Games · Phabricator