Difference between revisions of "ActiveMagicEffect Script"

963 bytes added ,  20:00, 3 October 2017
Added a Special Edition Exclusive section with associated events.
imported>Wafflesalot
(Added links to GetDuration and GetTimeElapsed)
imported>Texashokies
(Added a Special Edition Exclusive section with associated events.)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Scripting]]
[[Category:Papyrus]]
[[Category:Script Objects]]
'''Extends:''' None
'''Extends:''' None


Line 11: Line 7:
== Definition ==
== Definition ==
<source lang="papyrus">
<source lang="papyrus">
ScriptName ActiveMagicEffect
ScriptName ActiveMagicEffect Hidden
</source>
</source>


== Properties ==
None
== Global Functions ==
None


== Member Functions ==
== Member Functions ==
'''Function [[AddInventoryEventFilter - ObjectReference|AddInventoryEventFilter]](Form akFilter)'''
'''[[AddInventoryEventFilter - ObjectReference|AddInventoryEventFilter]](Form ''akFilter'')'''
*Adds an inventory event filter to this effect.
*Adds an inventory event filter to this effect.


'''Function [[Dispel - ActiveMagicEffect|Dispel]]()'''
'''[[Dispel - ActiveMagicEffect|Dispel]]()'''
*Dispels this active magic effect.
*Dispels this active magic effect.


'''MagicEffect Function [[GetBaseObject - ActiveMagicEffect|GetBaseObject]]()'''
'''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 Function [[GetCasterActor - ActiveMagicEffect|GetCasterActor]]()'''
'''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 Function [[GetTargetActor - ActiveMagicEffect|GetTargetActor]]()'''
'''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.


'''Function [[RegisterForAnimationEvent - Form|RegisterForAnimationEvent]](ObjectReference akSender, string asEventName)'''
'''[[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.


'''Function [[RegisterForLOS - Form|RegisterForLOS]](Actor akViewer, ObjectReference akTarget)'''
'''[[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.


'''Function [[RegisterForSingleLOSGain - Form|RegisterForSingleLOSGain]](Actor akViewer, ObjectReference akTarget)'''
'''[[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.


'''Function [[RegisterForSingleLOSLost - Form|RegisterForSingleLOSLost]](Actor akViewer, ObjectReference akTarget)'''
'''[[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.


'''Function [[RegisterForSingleUpdate - Form|RegisterForSingleUpdate]](float afInterval)'''
'''[[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.


'''Function [[RegisterForSingleUpdateGameTime - Form|RegisterForSingleUpdateGameTime]](float afInterval)'''
'''[[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.


'''Function [[RegisterForSleep - Form|RegisterForSleep]]()'''
'''[[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.


'''Function [[RegisterForTrackedStatsEvent - Form|RegisterForTrackedStatsEvent]]()'''
'''[[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.


'''Function [[RegisterForUpdate - Form|RegisterForUpdate]](float afInterval)'''
'''[[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.


'''Function [[RegisterForUpdateGameTime - Form|RegisterForUpdateGameTime]](float afInterval)'''
'''[[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.


'''Function [[RemoveAllInventoryEventFilters - ObjectReference|RemoveAllInventoryEventFilters]]()'''
'''[[RemoveAllInventoryEventFilters - ObjectReference|RemoveAllInventoryEventFilters]]()'''
*Remove all inventory event filters on this effect.
*Remove all inventory event filters on this effect.


'''Function [[RemoveInventoryEventFilter - ObjectReference|RemoveInventoryEventFilter]](Form akFilter)'''
'''[[RemoveInventoryEventFilter - ObjectReference|RemoveInventoryEventFilter]](Form ''akFilter'')'''
*Remove a specific inventory event filter.
*Remove a specific inventory event filter.


'''Function [[StartObjectProfiling - Form|StartObjectProfiling]]()'''
'''[[StartObjectProfiling - Form|StartObjectProfiling]]()'''
*Starts profiling all scripts attached to this magic effect.
*Starts profiling all scripts attached to this magic effect.


'''Function [[StopObjectProfiling - Form|StopObjectProfiling]]()'''
'''[[StopObjectProfiling - Form|StopObjectProfiling]]()'''
*Stops profiling all scripts attached to this magic effect.
*Stops profiling all scripts attached to this magic effect.


'''Function [[UnregisterForAnimationEvent - Form|UnregisterForAnimationEvent]](ObjectReference akSender, string asEventName)'''
'''[[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.


'''Function [[UnregisterForLOS - Form|UnregisterForLOS]](Actor akViewer, ObjectReference akTarget)'''
'''[[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.


'''Function [[UnregisterForSleep - Form|UnregisterForSleep]]()'''
'''[[UnregisterForSleep - Form|UnregisterForSleep]]()'''
*Unregisters this magic effect from sleep events.
*Unregisters this magic effect from sleep events.


'''Function [[UnregisterForTrackedStatsEvent - Form|UnregisterForTrackedStatsEvent]]()'''
'''[[UnregisterForTrackedStatsEvent - Form|UnregisterForTrackedStatsEvent]]()'''
*Unregisters this magic effect from tracked stats events.
*Unregisters this magic effect from tracked stats events.


'''Function [[UnregisterForUpdate - Form|UnregisterForUpdate]]()'''
'''[[UnregisterForUpdate - Form|UnregisterForUpdate]]()'''
*Unregisters this magic effect from update events.
*Unregisters this magic effect from update events.


'''Function [[UnregisterForUpdateGameTime - Form|UnregisterForUpdateGameTime]]()'''
'''[[UnregisterForUpdateGameTime - Form|UnregisterForUpdateGameTime]]()
*Unregisters this magic effect from game time update events.
*Unregisters this magic effect from game time update events.


== SKSE Member Functions ==
== SKSE Member Functions ==
 
'''Float [[GetDuration - ActiveMagicEffect|GetDuration]]()'''
'''float Function [[GetDuration - ActiveMagicEffect|GetDuration]]()'''
*Returns the Duration of the magic effect.
*Returns the Duration of the magic effect.


'''float Function [[GetTimeElapsed - ActiveMagicEffect|GetTimeElapsed]]()'''
'''Float [[GetTimeElapsed - ActiveMagicEffect|GetTimeElapsed]]()'''
*Returns the Time Elapsed of the magic effect.
*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 ==
'''Event [[OnAnimationEvent - Form|OnAnimationEvent]](ObjectReference akSource, string asEventName)'''
'''[[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.


'''Event [[OnAnimationEventUnregistered - Form|OnAnimationEventUnregistered]](ObjectReference akSource, string asEventName)'''
'''[[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.


'''Event [[OnEffectStart - ActiveMagicEffect|OnEffectStart]](Actor akTarget, Actor akCaster)'''
'''[[OnEffectStart - ActiveMagicEffect|OnEffectStart]](Actor ''akTarget'', Actor ''akCaster'')'''
*Event received when this effect starts
*Event received when this effect starts


'''Event [[OnEffectFinish - ActiveMagicEffect|OnEffectFinish]](Actor akTarget, Actor akCaster)'''
'''[[OnEffectFinish - ActiveMagicEffect|OnEffectFinish]](Actor ''akTarget'', Actor ''akCaster'')'''
*Event received when this effect has finished
*Event received when this effect has finished


'''Event [[OnGainLOS - Form|OnGainLOS]](Actor akViewer, ObjectReference akTarget)'''
'''[[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.


'''Event [[OnLostLOS - Form|OnLostLOS]](Actor akViewer, ObjectReference akTarget)'''
'''[[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.


'''Event [[OnSleepStart - Form|OnSleepStart]](float afSleepStartTime, float afDesiredSleepEndTime)'''
'''[[OnSleepStart - Form|OnSleepStart]](Float ''afSleepStartTime'', Float ''afDesiredSleepEndTime'')'''
*Received when the player goes to sleep.
*Received when the player goes to sleep.


'''Event [[OnSleepStop - Form|OnSleepStop]](bool abInterrupted)'''
'''[[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.


'''Event [[OnTrackedStatsEvent - Form|OnTrackedStatsEvent]](string asStat, int aiStatValue)'''
'''[[OnTrackedStatsEvent - Form|OnTrackedStatsEvent]](String ''asStat'', Int ''aiStatValue'')'''
*Received when tracked stats are updated.
*Received when tracked stats are updated.


'''Event [[OnUpdate - Form|OnUpdate]]()'''
'''[[OnUpdate - Form|OnUpdate]]()'''
*Received at periodic intervals, if the magic effect is registered.
*Received at periodic intervals, if the magic effect is registered.


'''Event [[OnUpdateGameTime - Form|OnUpdateGameTime]]()'''
'''[[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]]
Anonymous user