Difference between revisions of "ActiveMagicEffect Script"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Sirtaj
m (More prominently mention that it will receive actor events.)
imported>Wafflesalot
(Added links to GetDuration and GetTimeElapsed)
Line 96: Line 96:
*Unregisters this magic effect from game time update events.
*Unregisters this magic effect from game time update events.


== SKSE Member Functions ==
'''float Function [[GetDuration - ActiveMagicEffect|GetDuration]]()'''
*Returns the Duration of the magic effect.
'''float Function [[GetTimeElapsed - ActiveMagicEffect|GetTimeElapsed]]()'''
*Returns the Time Elapsed of the magic effect.
== Events ==
== Events ==
'''Event [[OnAnimationEvent - Form|OnAnimationEvent]](ObjectReference akSource, string asEventName)'''
'''Event [[OnAnimationEvent - Form|OnAnimationEvent]](ObjectReference akSource, string asEventName)'''

Revision as of 20:09, 28 February 2013


Extends: None

Script for the manipulation of active magic effects (MagicEffects currently attached to an Actor).

Note that in addition to the events defined below, ActiveMagicEffect scripts also receive events related to the actor to which they are attached. This makes them useful for adding script processing to actors dynamically without using quest aliases.

Definition

ScriptName ActiveMagicEffect

Properties

None

Global Functions

None

Member Functions

Function AddInventoryEventFilter(Form akFilter)

  • Adds an inventory event filter to this effect.

Function Dispel()

  • Dispels this active magic effect.

MagicEffect Function GetBaseObject()

  • Obtains the MagicEffect this active magic effect is based on.

Actor Function GetCasterActor()

  • Obtains the Actor that cast the spell this magic effect is from.

Actor Function GetTargetActor()

  • Obtains the Actor this active magic effect is applied to.

Function RegisterForAnimationEvent(ObjectReference akSender, string asEventName)

  • Registers this magic effect to receive the specified animation event from the specified object.

Function RegisterForLOS(Actor akViewer, ObjectReference akTarget)

  • Registers this magic effect to receive gain and lost LOS events between the viewer and the target.

Function RegisterForSingleLOSGain(Actor akViewer, ObjectReference akTarget)

  • Registers this magic effect to receive a single LOS gain event when the viewer sees the target.

Function RegisterForSingleLOSLost(Actor akViewer, ObjectReference akTarget)

  • Registers this magic effect to receive a single LOS lost event when the viewer loses sight of the target.

Function RegisterForSingleUpdate(float afInterval)

  • Registers this magic effect to receive a single update event in the specified time.

Function RegisterForSingleUpdateGameTime(float afInterval)

  • Registers this magic effect to receive a single update event in the specified number of game hours.

Function RegisterForSleep()

  • Registers this magic effect to receive sleep events for when the player goes to sleep or wakes up.

Function RegisterForTrackedStatsEvent()

  • Registers this magic effect to receive tracked stats events for when tracked stats are updated.

Function RegisterForUpdate(float afInterval)

  • Registers this magic effect to receive update events with the specified interval, or changes the update interval.

Function RegisterForUpdateGameTime(float afInterval)

  • Registers this magic effect to receive update events with the specified interval in game time hours, or changes the update interval.

Function RemoveAllInventoryEventFilters()

  • Remove all inventory event filters on this effect.

Function RemoveInventoryEventFilter(Form akFilter)

  • Remove a specific inventory event filter.

Function StartObjectProfiling()

  • Starts profiling all scripts attached to this magic effect.

Function StopObjectProfiling()

  • Stops profiling all scripts attached to this magic effect.

Function UnregisterForAnimationEvent(ObjectReference akSender, string asEventName)

  • Unregisters this magic effect from receiving the specified animation event from the specified object.

Function UnregisterForLOS(Actor akViewer, ObjectReference akTarget)

  • Unregisters this magic effect from any LOS events between the viewer and target.

Function UnregisterForSleep()

  • Unregisters this magic effect from sleep events.

Function UnregisterForTrackedStatsEvent()

  • Unregisters this magic effect from tracked stats events.

Function UnregisterForUpdate()

  • Unregisters this magic effect from update events.

Function UnregisterForUpdateGameTime()

  • Unregisters this magic effect from game time update events.

SKSE Member Functions

float Function GetDuration()

  • Returns the Duration of the magic effect.

float Function GetTimeElapsed()

  • Returns the Time Elapsed of the magic effect.

Events

Event OnAnimationEvent(ObjectReference akSource, string asEventName)

  • Received when one of animation events we are listening for is recieved.

Event OnAnimationEventUnregistered(ObjectReference akSource, string asEventName)

  • Received when one of the animation events we are listening for has been automatically unregistered by the game due to the target animation graph unloading.

Event OnEffectStart(Actor akTarget, Actor akCaster)

  • Event received when this effect starts

Event OnEffectFinish(Actor akTarget, Actor akCaster)

  • Event received when this effect has finished

Event OnGainLOS(Actor akViewer, ObjectReference akTarget)

  • Received when the viewer goes from not seeing the target to seeing the target - if this magic effect is registered.

Event OnLostLOS(Actor akViewer, ObjectReference akTarget)

  • Received when the viewer goes from seeing the target to not seeing the target - if this magic effect is registered.

Event OnSleepStart(float afSleepStartTime, float afDesiredSleepEndTime)

  • Received when the player goes to sleep.

Event OnSleepStop(bool abInterrupted)

  • Received when the player wakes up or is interrupted in sleep.

Event OnTrackedStatsEvent(string asStat, int aiStatValue)

  • Received when tracked stats are updated.

Event OnUpdate()

  • Received at periodic intervals, if the magic effect is registered.

Event OnUpdateGameTime()

  • Received at periodic intervals of game time, if the magic effect is registered.


ActiveMagicEffects will also receive events from the Actor they are attached to.