enderalse/source/scripts/activemagiceffect.psc

448 lines
16 KiB
Plaintext

Scriptname ActiveMagicEffect Hidden
; Add an inventory event filter to this effect. Item added/removed events matching the
; specified form (or in the specified form list) will now be let through.
Function AddInventoryEventFilter(Form akFilter) native
; Dispel this effect
Function Dispel() native
; Get the base MagicEffect this active effect is using
MagicEffect Function GetBaseObject() native
; Get the actor that cast this spell
Actor Function GetCasterActor() native
; Get the actor this spell is targeting (is attached to)
Actor Function GetTargetActor() native
; Register for the specified animation event from the specified object - returns true if it successfully registered
bool Function RegisterForAnimationEvent(ObjectReference akSender, string asEventName) native
; Register for LOS gain and lost events between the viewer and the target
; A loss or gain event will be sent immediately, depending on whether or not the viewer is already looking at the target or not
; If the viewer is not the player, the target must be another actor
Function RegisterForLOS(Actor akViewer, ObjectReference akTarget) native
; Register for only the first LOS gain event between the viewer and the target
; If the viewer is already looking at the target, an event will be received almost immediately
; If the viewer is not the player, the target must be another actor
Function RegisterForSingleLOSGain(Actor akViewer, ObjectReference akTarget) native
; Register for only the first LOS lost event between the viewer and the target
; If the viewer is already not looking at the target, an event will be received almost immediately
; If the viewer is not the player, the target must be another actor
Function RegisterForSingleLOSLost(Actor akViewer, ObjectReference akTarget) native
; Register for a single OnUpdate event, in afInterval seconds. All scripts attached to this magic effect will get the update events
; Of course, this means you don't need to call UnregisterForUpdate()
; If you find yourself doing this:
; Event OnUpdate()
; UnregisterForUpdate()
; {Do some stuff}
; endEvent
; Then you should use RegisterForSingleUpdate instead
Function RegisterForSingleUpdate(float afInterval) native
; Registers this magic effect to receive events when the player sleeps and wakes up
Function RegisterForSleep() native
; Registers this alias to receive events when tracked stats are updated
Function RegisterForTrackedStatsEvent() native
; Register for OnUpdate events, every X seconds, where X is the interval. All scripts attached to this magic effect will get the update events
Function RegisterForUpdate(float afInterval) native
; Register for OnUpdateGameTime events, every X hours of game time, where X is the interval. All scripts attached to this magic effect will get the update events
Function RegisterForUpdateGameTime(float afInterval) native
; Register for a single OnUpdateGameTime event, in afInterval hours of game time. All scripts attached to this magic effect will get the update events
Function RegisterForSingleUpdateGameTime(float afInterval) native
; Remove all inventory event filters from this effect - all item added/removed events will now be received
Function RemoveAllInventoryEventFilters() native
; Remove an inventory event filter from this effect. Item added/removed events matching the
; specified form (or in the specified form list) will no longer be let through.
Function RemoveInventoryEventFilter(Form akFilter) native
; Turns on profiling for this specific object and all scripts attached to it - setting doesn't persist across saves
; Will do nothing on release console builds, and if the Papyrus:bEnableProfiling ini setting is off
Function StartObjectProfiling() native
; Turns off profiling for this specific object and all scripts attached to it - setting doesn't persist across saves
; Will do nothing on release console builds, and if the Papyrus:bEnableProfiling ini setting is off
Function StopObjectProfiling() native
; Unregister for any LOS events between the viewer and target
Function UnregisterForLOS(Actor akViewer, ObjectReference akTarget) native
; Unregister for the specified animation event from the specified object
Function UnregisterForAnimationEvent(ObjectReference akSender, string asEventName) native
; Unregisters this magic effect to receive events when the player sleeps and wakes up
Function UnregisterForSleep() native
; Unregisters this magic effect from receiving events when tracked stats are updated
Function UnregisterForTrackedStatsEvent() native
; Unregister for OnUpdate events, all attached scripts will stop getting update events
Function UnregisterForUpdate() native
; Unregister for OnUpdateGameTime events, all attached scripts will stop getting update game time events
Function UnregisterForUpdateGameTime() native
; Animation event, sent when an object we are listening to hits one of the events we are listening for
Event OnAnimationEvent(ObjectReference akSource, string asEventName)
EndEvent
; Event sent when you have been unregistered from receiving an animation event because the target
; object's animation graph has been unloaded
Event OnAnimationEventUnregistered(ObjectReference akSource, string asEventName)
EndEvent
; Event received when this effect is first started (OnInit may not have been run yet!)
Event OnEffectStart(Actor akTarget, Actor akCaster)
EndEvent
; Event received when this effect is finished (effect may already be deleted, calling
; functions on this effect will fail)
Event OnEffectFinish(Actor akTarget, Actor akCaster)
EndEvent
; LOS event, sent whenever the viewer first sees the target (after registering)
Event OnGainLOS(Actor akViewer, ObjectReference akTarget)
EndEvent
; Lost LOS event, sent whenever the viewer first loses sight of the target (after registering)
Event OnLostLOS(Actor akViewer, ObjectReference akTarget)
EndEvent
; Received when the player sleeps. Start and desired end time are in game time days (after registering)
Event OnSleepStart(float afSleepStartTime, float afDesiredSleepEndTime)
EndEvent
; Received when the player stops sleeping - whether naturally or interrupted (after registering)
Event OnSleepStop(bool abInterrupted)
EndEvent
; Event received when a tracked stat is updated for the player
Event OnTrackedStatsEvent(string arStatName, int aiStatValue)
EndEvent
; Update event, sent every X seconds while this magic effect is registered for them
Event OnUpdate()
EndEvent
; Update event, sent every X hours of game time while this magic effect is registered for them
Event OnUpdateGameTime()
EndEvent
; The following events are received from the actor this effect is attached to:
; Event received when this reference is activated
Event OnActivate(ObjectReference akActionRef)
EndEvent
; Event received when this object has moved to an attached cell from a detached one
Event OnAttachedToCell()
EndEvent
; Event received when this object's parent cell is attached
Event OnCellAttach()
EndEvent
; Event received when this object's parent cell is detached
Event OnCellDetach()
EndEvent
; Event received when every object in this object's parent cell is loaded (TODO: Find restrictions)
Event OnCellLoad()
EndEvent
; Event received when this object is closed
Event OnClose(ObjectReference akActionRef)
EndEvent
; Event received when this object enters, exits, or changes containers
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
EndEvent
; Event received when this reference's destruction stage has changed
Event OnDestructionStageChanged(int aiOldStage, int aiCurrentStage)
EndEvent
; Event recieved when this object moves to a detached cell from an attached one
Event OnDetachedFromCell()
EndEvent
; Event received when this object is equipped by an actor
Event OnEquipped(Actor akActor)
EndEvent
; Event received when this object is grabbed by the player
Event OnGrab()
EndEvent
; Event received when this object is hit by a source (weapon, spell, explosion) or projectile attack
Event OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, bool abPowerAttack, bool abSneakAttack, bool abBashAttack, bool abHitBlocked)
EndEvent
; Event received when an item is added to this object's inventory. If the item is a persistant reference, akItemReference will
; point at it - otherwise the parameter will be None
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
EndEvent
; Event received when an item is removed from this object's inventory. If the item is a persistant reference, akItemReference
; will point at it - otherwise the parameter will be None
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
EndEvent
; Event recieved when this object is completely loaded - will be fired every time this object is loaded
Event OnLoad()
EndEvent
; Event received when the lock on this object changes
Event OnLockStateChanged()
EndEvent
; Event received when a magic affect is being applied to this object
Event OnMagicEffectApply(ObjectReference akCaster, MagicEffect akEffect)
EndEvent
; Event received when this object is opened
Event OnOpen(ObjectReference akActionRef)
EndEvent
; Event received when this actor finishes changing its race
Event OnRaceSwitchComplete()
EndEvent
; Event received when this object, if a book, is read
Event OnRead()
EndEvent
; Event received when this object is released by the player
Event OnRelease()
EndEvent
; Event received when this reference is reset
Event OnReset()
EndEvent
; Event received when this reference is sold by an actor
Event OnSell(Actor akSeller)
EndEvent
; Event received when a spell is cast by this object
Event OnSpellCast(Form akSpell)
EndEvent
; Event received when translation is complete (from a call to TranslateTo)
Event OnTranslationComplete()
EndEvent
; Event received when translation is aborted (from a call to StopTranslateTo)
Event OnTranslationFailed()
EndEvent
; Event recieved when this reference hits a target
Event OnTrapHit(ObjectReference akTarget, float afXVel, float afYVel, float afZVel, float afXPos, float afYPos, float afZPos, \
int aeMaterial, bool abInitialHit, int aeMotionType)
EndEvent
; Event recieved when this starts hitting a target
Event OnTrapHitStart(ObjectReference akTarget, float afXVel, float afYVel, float afZVel, float afXPos, float afYPos, float afZPos, \
int aeMaterial, bool abInitialHit, int aeMotionType)
EndEvent
; Event recieved when this stops hitting a target
Event OnTrapHitStop(ObjectReference akTarget)
EndEvent
; Event received when a this trigger is tripped
Event OnTrigger(ObjectReference akActionRef)
EndEvent
; Event received when this trigger volume is entered
Event OnTriggerEnter(ObjectReference akActionRef)
EndEvent
; Event received when this trigger volume is left
Event OnTriggerLeave(ObjectReference akActionRef)
EndEvent
; Event received when this object is unequipped by an actor
Event OnUnequipped(Actor akActor)
EndEvent
; Event recieved when this object is being unloaded - will be fired every time this object is unloaded
Event OnUnload()
EndEvent
; Event that is triggered when this actor's combat state against the target changes
; State is as follows:
; 0 - not in combat
; 1 - in combat
; 2 - searching
Event OnCombatStateChanged(Actor akTarget, int aeCombatState)
EndEvent
; Event that is triggered when this actor sits in the furniture
Event OnSit(ObjectReference akFurniture)
EndEvent
; Event that is triggered when this actor leaves the furniture
Event OnGetUp(ObjectReference akFurniture)
EndEvent
; Event that is triggered when this actor finishes dying
Event OnDeath(Actor akKiller)
EndEvent
; Event that is triggered when this actor begins dying
Event OnDying(Actor akKiller)
EndEvent
; Event that is triggered when this actor changes from one location to another
Event OnLocationChange(Location akOldLoc, Location akNewLoc)
EndEvent
; Received when the lycanthropy state of this actor changes (when SendLycanthropyStateChanged is called)
Event OnLycanthropyStateChanged(bool abIsWerewolf)
EndEvent
; Event received when this actor equips something - akReference may be None if object is not persistent
Event OnObjectEquipped(Form akBaseObject, ObjectReference akReference)
EndEvent
; Event received when this actor unequips something - akReference may be None if object is not persistent
Event OnObjectUnequipped(Form akBaseObject, ObjectReference akReference)
EndEvent
; Event received when this actor starts a new package
Event OnPackageStart(Package akNewPackage)
EndEvent
; Event received when this actor's package changes
Event OnPackageChange(Package akOldPackage)
EndEvent
; Event received when this actor's package ends
Event OnPackageEnd(Package akOldPackage)
EndEvent
; Event received when this object's Ward is hit by a spell
Event OnWardHit(ObjectReference akCaster, Spell akSpell, int aiStatus)
EndEvent
; Received when the player fires a bow. akWeapon will be a bow, akAmmo is the ammo or None,
; afPower will be 1.0 for a full-power shot, less for a dud, and abSunGazing will be true if the player is looking at the sun.
Event OnPlayerBowShot(Weapon akWeapon, Ammo akAmmo, float afPower, bool abSunGazing)
EndEvent
; Received when the player finishes fast travel, gives the duration of game time the travel took
Event OnPlayerFastTravelEnd(float afTravelGameTimeHours)
EndEvent
; Received immediately after the player has loaded a save game. A good time to check for additional content.
Event OnPlayerLoadGame()
EndEvent
; Received when StartVampireFeed is called on an actor
Event OnVampireFeed(Actor akTarget)
EndEvent
; Received when the vampirism state of this actor changes (when SendVampirismStateChanged is called)
Event OnVampirismStateChanged(bool abIsVampire)
EndEvent
; SKSE 64 additions built 2020-07-29 17:24:48.495000 UTC
; Additional useful effect information
float Function GetDuration() native
float Function GetTimeElapsed() native
; Registers for OnKeyDown and OnKeyUp events for the given keycode.
Function RegisterForKey(int keyCode) native
Function UnregisterForKey(int keyCode) native
Function UnregisterForAllKeys() native
Event OnKeyDown(int keyCode)
EndEvent
Event OnKeyUp(int keyCode, float holdTime)
EndEvent
; Registers for OnControlDown and OnControlUp events for the given control.
; For a list of valid controls, see Input.psc.
Function RegisterForControl(string control) native
Function UnregisterForControl(string control) native
Function UnregisterForAllControls() native
Event OnControlDown(string control)
EndEvent
Event OnControlUp(string control, float holdTime)
EndEvent
; Registers for OnMenuOpen and OnMenuClose events for the given menu.
; Registrations have to be refreshed after each game load.
; For a list of valid menu names, see UI.psc.
Function RegisterForMenu(string menuName) native
Function UnregisterForMenu(string menuName) native
Function UnregisterForAllMenus() native
Event OnMenuOpen(string menuName)
endEvent
Event OnMenuClose(string menuName)
endEvent
; Registers a custom event callback for given event name.
; Registrations have to be refreshed after each game load.
;
; Examples:
; RegisterForModEvent("myCustomEvent", "MyModEventCallback")
;
; Event signature of custom event callbacks:
; Event MyModEventCallback(string eventName, string strArg, float numArg, Form sender)
; endEvent
;
Function RegisterForModEvent(string eventName, string callbackName) native
Function UnregisterForModEvent(string eventName) native
Function UnregisterForAllModEvents() native
; Sends custom event with given generic parameters.
Function SendModEvent(string eventName, string strArg = "", float numArg = 0.0) native
; See Form.psc
Function RegisterForCameraState() native
Function UnregisterForCameraState() native
Event OnPlayerCameraState(int oldState, int newState)
EndEvent
; See Form.psc
Function RegisterForCrosshairRef() native
Function UnregisterForCrosshairRef() native
Event OnCrosshairRefChange(ObjectReference ref)
EndEvent
; See Form.psc
Function RegisterForActorAction(int actionType) native
Function UnregisterForActorAction(int actionType) native
Event OnActorAction(int actionType, Actor akActor, Form source, int slot)
EndEvent
; Registers the script for when a QueueNiNodeUpdate is called
Function RegisterForNiNodeUpdate() native
Function UnregisterForNiNodeUpdate() native
Event OnNiNodeUpdate(ObjectReference akActor)
EndEvent
; returns the magnitude of the active effect
float Function GetMagnitude() native