OnEffectFinish - ActiveMagicEffect

Revision as of 18:14, 12 November 2018 by imported>DavidJCobb (→‎Notes: merged and clarified two of the notes; added another one based on testing.)

Member of: ActiveMagicEffect Script

Event called when the active magic effect has just finished on the specified target.

Syntax

Event OnEffectFinish(Actor akTarget, Actor akCaster)

Parameters

  • akTarget: The Actor this effect just finished on.
  • akCaster: The Actor that cast the spell this effect is from.

Examples

Event OnEffectFinish(Actor akTarget, Actor akCaster)
  Debug.Trace("Magic effect fades from " + akTarget)
endEvent

Notes

  • By the time this event is called, the underlying active magic effect may have already been deleted by the game. Attempts to call native functions may fail and throw errors.
    • Even if the effect is simply disabled (due to spell-side conditions not being met) rather than disabled, calls to native functions may fail, because the Papyrus script object itself is detached after OnEffectFinish completes, resetting all properties and script object variables.
  • This event is also called when the owning spell is removed from the target or when its conditions become invalid.
  • If a magic effect is applied to a LeveledCharacter and the actor respawns (e.g. because their parent cell has been reset) before the effect runs out, then OnEffectFinish will not run. The effect will simply cease to exist.

See Also