Difference between revisions of "ActiveMagicEffect Script"
Added a Special Edition Exclusive section with associated events.
imported>Sirtaj m (More prominently mention that it will receive actor events.) |
imported>Texashokies (Added a Special Edition Exclusive section with associated events.) |
||
(8 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
'''Extends:''' None | '''Extends:''' None | ||
Line 11: | Line 7: | ||
== Definition == | == Definition == | ||
<source lang="papyrus"> | <source lang="papyrus"> | ||
ScriptName ActiveMagicEffect | ScriptName ActiveMagicEffect Hidden | ||
</source> | </source> | ||
== Member Functions == | == Member Functions == | ||
''' | '''[[AddInventoryEventFilter - ObjectReference|AddInventoryEventFilter]](Form ''akFilter'')''' | ||
*Adds an inventory event filter to this effect. | *Adds an inventory event filter to this effect. | ||
''' | '''[[Dispel - ActiveMagicEffect|Dispel]]()''' | ||
*Dispels this active magic effect. | *Dispels this active magic effect. | ||
'''MagicEffect | '''MagicEffect [[GetBaseObject - ActiveMagicEffect|GetBaseObject]]()''' | ||
*Obtains the [[MagicEffect Script|MagicEffect]] this active magic effect is based on. | *Obtains the [[MagicEffect Script|MagicEffect]] this active magic effect is based on. | ||
'''Actor | '''Actor [[GetCasterActor - ActiveMagicEffect|GetCasterActor]]() | ||
*Obtains the [[Actor Script|Actor]] that cast the spell this magic effect is from. | *Obtains the [[Actor Script|Actor]] that cast the spell this magic effect is from. | ||
'''Actor | '''Actor [[GetTargetActor - ActiveMagicEffect|GetTargetActor]]()''' | ||
*Obtains the [[Actor Script|Actor]] this active magic effect is applied to. | *Obtains the [[Actor Script|Actor]] this active magic effect is applied to. | ||
''' | '''[[RegisterForAnimationEvent - Form|RegisterForAnimationEvent]](ObjectReference ''akSender'', String ''asEventName'')''' | ||
*Registers this magic effect to receive the specified animation event from the specified object. | *Registers this magic effect to receive the specified animation event from the specified object. | ||
''' | '''[[RegisterForLOS - Form|RegisterForLOS]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | ||
*Registers this magic effect to receive gain and lost LOS events between the viewer and the target. | *Registers this magic effect to receive gain and lost LOS events between the viewer and the target. | ||
''' | '''[[RegisterForSingleLOSGain - Form|RegisterForSingleLOSGain]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | ||
*Registers this magic effect to receive a single LOS gain event when the viewer sees the target. | *Registers this magic effect to receive a single LOS gain event when the viewer sees the target. | ||
''' | '''[[RegisterForSingleLOSLost - Form|RegisterForSingleLOSLost]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | ||
*Registers this magic effect to receive a single LOS lost event when the viewer loses sight of the target. | *Registers this magic effect to receive a single LOS lost event when the viewer loses sight of the target. | ||
''' | '''[[RegisterForSingleUpdate - Form|RegisterForSingleUpdate]](Float ''afInterval'')''' | ||
*Registers this magic effect to receive a single update event in the specified time. | *Registers this magic effect to receive a single update event in the specified time. | ||
''' | '''[[RegisterForSingleUpdateGameTime - Form|RegisterForSingleUpdateGameTime]](Float ''afInterval'')''' | ||
*Registers this magic effect to receive a single update event in the specified number of game hours. | *Registers this magic effect to receive a single update event in the specified number of game hours. | ||
''' | '''[[RegisterForSleep - Form|RegisterForSleep]]()''' | ||
*Registers this magic effect to receive sleep events for when the player goes to sleep or wakes up. | *Registers this magic effect to receive sleep events for when the player goes to sleep or wakes up. | ||
''' | '''[[RegisterForTrackedStatsEvent - Form|RegisterForTrackedStatsEvent]]()''' | ||
*Registers this magic effect to receive tracked stats events for when tracked stats are updated. | *Registers this magic effect to receive tracked stats events for when tracked stats are updated. | ||
''' | '''[[RegisterForUpdate - Form|RegisterForUpdate]](Float ''afInterval'')''' | ||
*Registers this magic effect to receive update events with the specified interval, or changes the update interval. | *Registers this magic effect to receive update events with the specified interval, or changes the update interval. | ||
''' | '''[[RegisterForUpdateGameTime - Form|RegisterForUpdateGameTime]](Float ''afInterval'')''' | ||
*Registers this magic effect to receive update events with the specified interval in game time hours, or changes the update interval. | *Registers this magic effect to receive update events with the specified interval in game time hours, or changes the update interval. | ||
''' | '''[[RemoveAllInventoryEventFilters - ObjectReference|RemoveAllInventoryEventFilters]]()''' | ||
*Remove all inventory event filters on this effect. | *Remove all inventory event filters on this effect. | ||
''' | '''[[RemoveInventoryEventFilter - ObjectReference|RemoveInventoryEventFilter]](Form ''akFilter'')''' | ||
*Remove a specific inventory event filter. | *Remove a specific inventory event filter. | ||
''' | '''[[StartObjectProfiling - Form|StartObjectProfiling]]()''' | ||
*Starts profiling all scripts attached to this magic effect. | *Starts profiling all scripts attached to this magic effect. | ||
''' | '''[[StopObjectProfiling - Form|StopObjectProfiling]]()''' | ||
*Stops profiling all scripts attached to this magic effect. | *Stops profiling all scripts attached to this magic effect. | ||
''' | '''[[UnregisterForAnimationEvent - Form|UnregisterForAnimationEvent]](ObjectReference ''akSender'', String ''asEventName'')''' | ||
*Unregisters this magic effect from receiving the specified animation event from the specified object. | *Unregisters this magic effect from receiving the specified animation event from the specified object. | ||
''' | '''[[UnregisterForLOS - Form|UnregisterForLOS]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | ||
*Unregisters this magic effect from any LOS events between the viewer and target. | *Unregisters this magic effect from any LOS events between the viewer and target. | ||
''' | '''[[UnregisterForSleep - Form|UnregisterForSleep]]()''' | ||
*Unregisters this magic effect from sleep events. | *Unregisters this magic effect from sleep events. | ||
''' | '''[[UnregisterForTrackedStatsEvent - Form|UnregisterForTrackedStatsEvent]]()''' | ||
*Unregisters this magic effect from tracked stats events. | *Unregisters this magic effect from tracked stats events. | ||
''' | '''[[UnregisterForUpdate - Form|UnregisterForUpdate]]()''' | ||
*Unregisters this magic effect from update events. | *Unregisters this magic effect from update events. | ||
''' | '''[[UnregisterForUpdateGameTime - Form|UnregisterForUpdateGameTime]]() | ||
*Unregisters this magic effect from game time update events. | *Unregisters this magic effect from game time update events. | ||
== SKSE Member Functions == | |||
'''Float [[GetDuration - ActiveMagicEffect|GetDuration]]()''' | |||
*Returns the Duration of the magic effect. | |||
'''Float [[GetTimeElapsed - ActiveMagicEffect|GetTimeElapsed]]()''' | |||
*Returns the Time Elapsed of the magic effect. | |||
'''Float [[GetMagnitude - ActiveMagicEffect|GetMagnitude]]()''' | |||
*Return the magnitude of the active effect. | |||
'''[[RegisterForNiNodeUpdate]]()''' | |||
*Registers the script for when a QueueNiNodeUpdate is called | |||
'''[[UnregisterForNiNodeUpdate]]()''' | |||
*Unregisters the script for when a QueueNiNodeUpdate is called | |||
== Events == | == Events == | ||
''' | '''[[OnAnimationEvent - Form|OnAnimationEvent]](ObjectReference ''akSource'', String ''asEventName'')''' | ||
*Received when one of animation events we are listening for is recieved. | *Received when one of animation events we are listening for is recieved. | ||
''' | '''[[OnAnimationEventUnregistered - Form|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. | *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. | ||
''' | '''[[OnEffectStart - ActiveMagicEffect|OnEffectStart]](Actor ''akTarget'', Actor ''akCaster'')''' | ||
*Event received when this effect starts | *Event received when this effect starts | ||
''' | '''[[OnEffectFinish - ActiveMagicEffect|OnEffectFinish]](Actor ''akTarget'', Actor ''akCaster'')''' | ||
*Event received when this effect has finished | *Event received when this effect has finished | ||
''' | '''[[OnGainLOS - Form|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. | *Received when the viewer goes from not seeing the target to seeing the target - if this magic effect is registered. | ||
''' | '''[[OnLostLOS - Form|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. | *Received when the viewer goes from seeing the target to not seeing the target - if this magic effect is registered. | ||
''' | '''[[OnSleepStart - Form|OnSleepStart]](Float ''afSleepStartTime'', Float ''afDesiredSleepEndTime'')''' | ||
*Received when the player goes to sleep. | *Received when the player goes to sleep. | ||
''' | '''[[OnSleepStop - Form|OnSleepStop]](Bool ''abInterrupted'')''' | ||
*Received when the player wakes up or is interrupted in sleep. | *Received when the player wakes up or is interrupted in sleep. | ||
''' | '''[[OnTrackedStatsEvent - Form|OnTrackedStatsEvent]](String ''asStat'', Int ''aiStatValue'')''' | ||
*Received when tracked stats are updated. | *Received when tracked stats are updated. | ||
''' | '''[[OnUpdate - Form|OnUpdate]]()''' | ||
*Received at periodic intervals, if the magic effect is registered. | *Received at periodic intervals, if the magic effect is registered. | ||
''' | '''[[OnUpdateGameTime - Form|OnUpdateGameTime]]() | ||
*Received at periodic intervals of game time, if the magic effect is registered. | *Received at periodic intervals of game time, if the magic effect is registered. | ||
== Special Edition Exclusive Events == | |||
'''[[OnLycanthropyStateChanged - ActiveMagicEffect|OnLycanthropyStateChanged]](Bool ''abIsWerewolf'')''' | |||
*Received when the lycanthropy state of this actor changes (when SendLycanthropyStateChanged is called) | |||
'''[[OnPlayerFastTravelEnd - ActiveMagicEffect|OnPlayerFastTravelEnd]](Float ''afTravelGameTimeHours'')''' | |||
*Received when the player finishes fast travel, gives the duration of game time the travel took | |||
'''[[OnVampirismStateChanged - ActiveMagicEffect|OnVampirismStateChanged]](bool ''abIsVampire'')''' | |||
*Received when the vampirism state of this actor changes (when SendVampirismStateChanged is called) | |||
'''[[OnVampireFeed - ActiveMagicEffect|OnVampireFeed]](Actor ''akTarget'')''' | |||
*Received when StartVampireFeed is called on an actor | |||
ActiveMagicEffects will also receive events from the [[Actor Script#Events|Actor]] they are attached to. | == SKSE Events == | ||
'''[[OnNiNodeUpdate]](ObjectReference ''akActor'')''' | |||
== Notes == | |||
*ActiveMagicEffects will also receive events from the [[Actor Script#Events|Actor]] they are attached to. | |||
[[Category:Scripting]] | |||
[[Category:Papyrus]] | |||
[[Category:Script Objects]] |