Changeset View
Changeset View
Standalone View
Standalone View
binaries/data/mods/public/simulation/helpers/Transform.js
Show First 20 Lines • Show All 104 Lines • ▼ Show 20 Lines | if (entities.length) | ||||
{ | { | ||||
let cmpEntUnitAI = Engine.QueryInterface(ent, IID_UnitAI); | let cmpEntUnitAI = Engine.QueryInterface(ent, IID_UnitAI); | ||||
if (cmpEntUnitAI) | if (cmpEntUnitAI) | ||||
cmpEntUnitAI.SetGuardOf(newEnt); | cmpEntUnitAI.SetGuardOf(newEnt); | ||||
} | } | ||||
} | } | ||||
} | } | ||||
let cmpStatusEffectsReceiver = Engine.QueryInterface(oldEnt, IID_StatusEffectsReceiver); | |||||
let cmpNewStatusEffectsReceiver = Engine.QueryInterface(newEnt, IID_StatusEffectsReceiver); | |||||
if (cmpStatusEffectsReceiver && cmpNewStatusEffectsReceiver) | |||||
{ | |||||
let activeStatus = cmpStatusEffectsReceiver.GetActiveStatuses(); | |||||
for (let status in activeStatus) | |||||
{ | |||||
let newStatus = activeStatus[status]; | |||||
if (newStatus.Duration) | |||||
newStatus.Duration -= newStatus._timeElapsed; | |||||
cmpNewStatusEffectsReceiver.ApplyStatus({ [status]: newStatus }, newStatus.source.entity, newStatus.source.owner); | |||||
} | |||||
} | |||||
TransferGarrisonedUnits(oldEnt, newEnt); | TransferGarrisonedUnits(oldEnt, newEnt); | ||||
Engine.PostMessage(oldEnt, MT_EntityRenamed, { "entity": oldEnt, "newentity": newEnt }); | Engine.PostMessage(oldEnt, MT_EntityRenamed, { "entity": oldEnt, "newentity": newEnt }); | ||||
if (cmpPosition && cmpPosition.IsInWorld()) | if (cmpPosition && cmpPosition.IsInWorld()) | ||||
cmpPosition.MoveOutOfWorld(); | cmpPosition.MoveOutOfWorld(); | ||||
Engine.DestroyEntity(oldEnt); | Engine.DestroyEntity(oldEnt); | ||||
▲ Show 20 Lines • Show All 133 Lines • ▼ Show 20 Lines | if (!cmpUnitAI) | ||||
continue; | continue; | ||||
cmpUnitAI.Autogarrison(newEnt); | cmpUnitAI.Autogarrison(newEnt); | ||||
cmpNewGarrison.Garrison(ent); | cmpNewGarrison.Garrison(ent); | ||||
} | } | ||||
} | } | ||||
Engine.RegisterGlobal("ChangeEntityTemplate", ChangeEntityTemplate); | Engine.RegisterGlobal("ChangeEntityTemplate", ChangeEntityTemplate); | ||||
Engine.RegisterGlobal("CanGarrisonedChangeTemplate", CanGarrisonedChangeTemplate); | Engine.RegisterGlobal("CanGarrisonedChangeTemplate", CanGarrisonedChangeTemplate); | ||||
Engine.RegisterGlobal("ObstructionsBlockingTemplateChange", ObstructionsBlockingTemplateChange); | Engine.RegisterGlobal("ObstructionsBlockingTemplateChange", ObstructionsBlockingTemplateChange); | ||||
Stan: I didn't know one could get an iid that way ^^ |
Wildfire Games · Phabricator
I didn't know one could get an iid that way ^^