Difference between revisions of "OnEffectFinish - ActiveMagicEffect"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Lampuiho
imported>DavidJCobb
 
(3 intermediate revisions by 3 users not shown)
Line 23: Line 23:


== Notes ==
== Notes ==
*None of the ActiveMagicEffect script native function may run in this event even though the internal ActiveEffect object is not deleted if the effect is simply disabled, not dispelled. The papyrus script object itself is detached after oneffectfinish complete. Resetting all properties and script object variables.
* 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.
*This event is also called when the owning spell is removed from the target or when its conditions become invalid.
** 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 ==
== See Also ==
*[[ActiveMagicEffect Script]]
*[[ActiveMagicEffect Script]]
*[[OnEffectStart - ActiveMagicEffect]]
*[[OnEffectStart - ActiveMagicEffect]]

Latest revision as of 18:51, 12 November 2018

Member of: ActiveMagicEffect Script

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

Syntax[edit | edit source]

Event OnEffectFinish(Actor akTarget, Actor akCaster)

Parameters[edit | edit source]

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

Examples[edit | edit source]

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

Notes[edit | edit source]

  • 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[edit | edit source]