OnEffectFinish - ActiveMagicEffect

From Creation Kit
Jump to: navigation, search

Member of: ActiveMagicEffect Script

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


Event OnEffectFinish(Actor akTarget, Actor akCaster)


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


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


  • 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 deleted, 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