Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/binaries/data/mods/public/simulation/components/Auras.js
Show First 20 Lines • Show All 340 Lines • ▼ Show 20 Lines | let derivedModifiers = DeriveModificationsFromTech({ | ||||
"modifications": this.GetModifications(name), | "modifications": this.GetModifications(name), | ||||
"affects": this.GetClasses(name) | "affects": this.GetClasses(name) | ||||
}); | }); | ||||
let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); | let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); | ||||
let cmpPlayerManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager); | let cmpPlayerManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager); | ||||
let modifName = this.GetModifierIdentifier(name); | let modifName = this.GetModifierIdentifier(name); | ||||
for (let player of players) | for (let player of players) | ||||
{ | cmpModifiersManager.AddModifiers(modifName, derivedModifiers, cmpPlayerManager.GetPlayerByID(player)); | ||||
let playerId = cmpPlayerManager.GetPlayerByID(player); | |||||
for (let modifierPath in derivedModifiers) | |||||
for (let modifier of derivedModifiers[modifierPath]) | |||||
cmpModifiersManager.AddModifier(modifierPath, modifName, modifier, playerId); | |||||
} | |||||
}; | }; | ||||
Auras.prototype.RemoveFormationAura = function(memberList) | Auras.prototype.RemoveFormationAura = function(memberList) | ||||
{ | { | ||||
for (let name of this.GetAuraNames().filter(n => this.IsFormationAura(n))) | for (let name of this.GetAuraNames().filter(n => this.IsFormationAura(n))) | ||||
this.RemoveAura(name, memberList); | this.RemoveAura(name, memberList); | ||||
}; | }; | ||||
Show All 18 Lines | Auras.prototype.RemoveTemplateAura = function(name) | ||||
let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); | let cmpModifiersManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_ModifiersManager); | ||||
let cmpPlayerManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager); | let cmpPlayerManager = Engine.QueryInterface(SYSTEM_ENTITY, IID_PlayerManager); | ||||
let modifName = this.GetModifierIdentifier(name); | let modifName = this.GetModifierIdentifier(name); | ||||
for (let player of this.GetAffectedPlayers(name)) | for (let player of this.GetAffectedPlayers(name)) | ||||
{ | { | ||||
let playerId = cmpPlayerManager.GetPlayerByID(player); | let playerId = cmpPlayerManager.GetPlayerByID(player); | ||||
for (let modifierPath in derivedModifiers) | for (let modifierPath in derivedModifiers) | ||||
for (let modifier of derivedModifiers[modifierPath]) | |||||
cmpModifiersManager.RemoveModifier(modifierPath, modifName, playerId); | cmpModifiersManager.RemoveModifier(modifierPath, modifName, playerId); | ||||
} | } | ||||
}; | }; | ||||
Auras.prototype.ApplyAura = function(name, ents) | Auras.prototype.ApplyAura = function(name, ents) | ||||
{ | { | ||||
var validEnts = this.GiveMembersWithValidClass(name, ents); | var validEnts = this.GiveMembersWithValidClass(name, ents); | ||||
if (!validEnts.length) | if (!validEnts.length) | ||||
return; | return; | ||||
Show All 21 Lines | Auras.prototype.ApplyAura = function(name, ents) | ||||
let derivedModifiers = DeriveModificationsFromTech({ | let derivedModifiers = DeriveModificationsFromTech({ | ||||
"modifications": this.GetModifications(name), | "modifications": this.GetModifications(name), | ||||
"affects": this.GetClasses(name) | "affects": this.GetClasses(name) | ||||
}); | }); | ||||
let modifName = this.GetModifierIdentifier(name); | let modifName = this.GetModifierIdentifier(name); | ||||
for (let ent of validEnts) | for (let ent of validEnts) | ||||
for (let modifierPath in derivedModifiers) | cmpModifiersManager.AddModifiers(modifName, derivedModifiers, ent); | ||||
for (let modifier of derivedModifiers[modifierPath]) | |||||
cmpModifiersManager.AddModifier(modifierPath, modifName, modifier, ent); | |||||
}; | }; | ||||
Auras.prototype.RemoveAura = function(name, ents, skipModifications = false) | Auras.prototype.RemoveAura = function(name, ents, skipModifications = false) | ||||
{ | { | ||||
var validEnts = this.GiveMembersWithValidClass(name, ents); | var validEnts = this.GiveMembersWithValidClass(name, ents); | ||||
if (!validEnts.length) | if (!validEnts.length) | ||||
return; | return; | ||||
Show All 21 Lines | Auras.prototype.RemoveAura = function(name, ents, skipModifications = false) | ||||
let derivedModifiers = DeriveModificationsFromTech({ | let derivedModifiers = DeriveModificationsFromTech({ | ||||
"modifications": this.GetModifications(name), | "modifications": this.GetModifications(name), | ||||
"affects": this.GetClasses(name) | "affects": this.GetClasses(name) | ||||
}); | }); | ||||
let modifName = this.GetModifierIdentifier(name); | let modifName = this.GetModifierIdentifier(name); | ||||
for (let ent of ents) | for (let ent of ents) | ||||
for (let modifierPath in derivedModifiers) | for (let modifierPath in derivedModifiers) | ||||
for (let modifier of derivedModifiers[modifierPath]) | |||||
cmpModifiersManager.RemoveModifier(modifierPath, modifName, ent); | cmpModifiersManager.RemoveModifier(modifierPath, modifName, ent); | ||||
}; | }; | ||||
Auras.prototype.OnOwnershipChanged = function(msg) | Auras.prototype.OnOwnershipChanged = function(msg) | ||||
{ | { | ||||
this.Clean(); | this.Clean(); | ||||
}; | }; | ||||
Auras.prototype.OnDiplomacyChanged = function(msg) | Auras.prototype.OnDiplomacyChanged = function(msg) | ||||
Show All 36 Lines |
Wildfire Games · Phabricator