840 lines
34 KiB
Plaintext
840 lines
34 KiB
Plaintext
Scriptname ObjectReference extends Form Hidden
|
|
|
|
bool FUNCTION rampRumble(float power = 0.5, float duration = 0.25, float falloff = 1600.0)
|
|
; Function to shake cam/controller based on distance from player
|
|
; should always be called on the source of the rumble,
|
|
; as final intensity is relevant to player
|
|
if power > 1.0 || power <= 0
|
|
; debug.traceStack(self + " called rampRumble() but parameter 'power' was invalid. Must be a non-zero float less than 1.0",1)
|
|
; throw the warning, but don't return false - value gets clamped anyway
|
|
endif
|
|
float playerDist = game.getplayer().getDistance(self)
|
|
; ignore if the player is too far away
|
|
if playerDist < falloff
|
|
float intensity = (1 - (playerDist / falloff))
|
|
; ramp actual intensity down based on parameter value
|
|
intensity = intensity*power
|
|
if intensity > 1.0
|
|
; clamp to prevent invalid values
|
|
; debug.traceStack(self + " called for too much controller/camera shake. Clamped to 1.0", 0)
|
|
intensity = 1.0
|
|
elseif intensity <= 0
|
|
; clamp to prevent invalid values
|
|
; debug.traceStack(self + " called for too little controller/camera shake", 0)
|
|
intensity = 0
|
|
return false
|
|
endif
|
|
game.shakeCamera(game.getPlayer(), intensity)
|
|
game.shakeController(intensity, intensity, duration)
|
|
return true
|
|
else
|
|
; debug.traceStack(self + "called for rampedRumble(), but player is too far away", 0)
|
|
return False
|
|
endif
|
|
endFUNCTION
|
|
|
|
; Function to know if I'm near the player (whether I can be safely enabled or disabled)
|
|
bool Function IsNearPlayer()
|
|
Actor player = Game.GetPlayer()
|
|
Cell targetCell = self.GetParentCell()
|
|
Cell playerCell = player.GetParentCell()
|
|
|
|
if (targetCell != playerCell)
|
|
; player and target are in different cells
|
|
if (targetCell && targetCell.IsInterior() || playerCell && playerCell.IsInterior())
|
|
; in different cells and at least one is an interior
|
|
; -- we can safely enable or disable
|
|
return false
|
|
else
|
|
; both in an exterior -- no means of testing
|
|
; worldspace at the moment, so this will do.
|
|
if (player.GetDistance(self) > 3000)
|
|
; pretty darned far away -- safe
|
|
return false
|
|
else
|
|
; too close for comfort
|
|
return true
|
|
endif
|
|
endif
|
|
else
|
|
; in the same cell -- err on the side of caution
|
|
return true
|
|
endif
|
|
endFunction
|
|
|
|
;jduvall
|
|
bool Function IsInInterior()
|
|
{Returns !IsInExterior()}
|
|
Cell parentCell = GetParentCell()
|
|
Return parentCell && parentCell.IsInterior()
|
|
EndFunction
|
|
|
|
;kkuhlmann:
|
|
bool function MoveToIfUnloaded(ObjectReference akTarget, float afXOffset = 0.0, float afYOffset = 0.0, float afZOffset = 0.0)
|
|
{Calls MoveTo if the calling ObjectReference is currently unloaded. Doesn't do anything if it IS loaded. No waiting or while loops. Returns true if it does the moveto}
|
|
if !Is3DLoaded()
|
|
MoveTo(akTarget, afXOffset, afYOffset, afZOffset)
|
|
return true
|
|
else
|
|
return false
|
|
endif
|
|
endFunction
|
|
|
|
;jduvall:
|
|
function MoveToWhenUnloaded(ObjectReference akTarget, float afXOffset = 0.0, float afYOffset = 0.0, float afZOffset = 0.0)
|
|
{DEPRECATED: DO NOT USE. Calls MoveTo if both the calling ObjectReference and the akTarget ObjectReference have current locations that are not loaded.}
|
|
while self.GetCurrentLocation().IsLoaded() || akTarget.GetCurrentLocation().IsLoaded()
|
|
;do nothing
|
|
; debug.trace(self + "MoveToWhenUnloaded() waiting for current location and target location to be unloaded before moving. If called by a quest stage fragment, this may cause that quest stage to not complete until this function finishes (and if it's a startup stage, the quest will not report itself as running until the stage finishes.).", 1)
|
|
Utility.Wait(5) ;when this function is threaded we can increase this wait time... I set it lower for testing purposes so it reevaluates faster when I need to purge cell buffers in the Civil War when calling moveto on the player between Civil War campaigns
|
|
EndWhile
|
|
self.MoveTo(akTarget, afXOffset, afYOffset, afZOffset)
|
|
EndFunction
|
|
|
|
;jduvall
|
|
Function DeleteWhenAble()
|
|
{This will become a native function... it will wait until the object is not persisting, then delete itself.}
|
|
While GetParentCell() && GetParentCell().IsAttached()
|
|
;do nothing
|
|
; debug.trace(self + "DeleteWhenAble() waiting for current location to be unloaded before deleting. If called by a quest stage fragment, this may cause that quest stage to not complete until this function finishes (and if it's a startup stage, the quest will not report itself as running until the stage finishes.).", 1)
|
|
Utility.Wait(5) ;when this function is threaded we can increase this wait time... I set it lower for testing purposes so it reevaluates faster when I need to purge cell buffers in the Civil War when calling moveto on the player between Civil War campaigns
|
|
EndWhile
|
|
Delete()
|
|
EndFunction
|
|
|
|
|
|
|
|
;jduvall
|
|
Function AddKeyIfNeeded(ObjectReference ObjectWithNeededKey)
|
|
{Should only be called by ObjectReferences that have/are containers (ie Containers and Actors). Checks to see if self has the key to ObjectWithNeededKey, and if not, creates a copy of the key and puts it in self.}
|
|
key NeededKey = ObjectWithNeededKey.GetKey()
|
|
if NeededKey != None
|
|
if GetItemCount(NeededKey) == 0
|
|
AddItem(NeededKey)
|
|
EndIf
|
|
EndIf
|
|
EndFunction
|
|
|
|
|
|
; Property to obtain the current X position of the object
|
|
float Property X
|
|
float Function get()
|
|
return GetPositionX()
|
|
EndFunction
|
|
EndProperty
|
|
|
|
; Property to obtain the current Y position of the object
|
|
float Property Y
|
|
float Function get()
|
|
return GetPositionY()
|
|
EndFunction
|
|
EndProperty
|
|
|
|
; Property to obtain the current Z position of the object
|
|
float Property Z
|
|
float Function get()
|
|
return GetPositionZ()
|
|
EndFunction
|
|
EndProperty
|
|
|
|
; Have akActivator activate this reference. If abDefaultProcessingOnly is true then any block will be bypassed
|
|
; and no OnActivate event will be sent. The function returns true if default processing ran, and succeeded. If
|
|
; default processing has been blocked, will always return false.
|
|
bool Function Activate(ObjectReference akActivator, bool abDefaultProcessingOnly = false) native
|
|
|
|
; Sets up a dependent animated object
|
|
; This function should be used only with a coder supervision. It is left undocumented because it can cause dangling pointers as well as very broken functionality
|
|
; for the dependent object if used improperly.
|
|
bool Function AddDependentAnimatedObjectReference( ObjectReference akDependent ) native
|
|
|
|
; Add an inventory event filter to this reference. Item added/removed events matching the
|
|
; specified form (or in the specified form list) will now be let through.
|
|
Function AddInventoryEventFilter(Form akFilter) native
|
|
|
|
; Adds the specified base object or object reference to this object reference's container/inventory
|
|
; Note that you cannot add more then one copy of a reference to a container (a warning will be printed if you try)
|
|
Function AddItem(Form akItemToAdd, int aiCount = 1, bool abSilent = false) native
|
|
|
|
; Adds this reference (which is a map marker) to the map, optionally making it available for fast travel
|
|
Function AddToMap(bool abAllowFastTravel = false) native
|
|
|
|
; Apply an impulse to this reference
|
|
Function ApplyHavokImpulse(float afX, float afY, float afZ, float afMagnitude) native
|
|
|
|
; Turns on and off blocking of normal activation - OnActivate events will still be sent
|
|
Function BlockActivation(bool abBlocked = true) native
|
|
|
|
; Calculate's this references encounter level based on the requested difficulty level
|
|
; 0 - Easy
|
|
; 1 - Medium
|
|
; 2 - Hard
|
|
; 3 - Very Hard
|
|
; 4 - None
|
|
int Function CalculateEncounterLevel(int aiDifficulty = 4) native
|
|
|
|
; Can the map marker be fast traveled to?
|
|
bool Function CanFastTravelToMarker() native
|
|
|
|
; Clears all effects of destruction from this object
|
|
Function ClearDestruction() native
|
|
|
|
; Create a detection event at this reference, with the specified owner. Sound level is between 0 and 100
|
|
|
|
Function CreateDetectionEvent(Actor akOwner, int aiSoundLevel = 0 ) native
|
|
|
|
; Damages this object and advances the destruction stage - does not return until the object is damaged
|
|
Function DamageObject(float afDamage) native
|
|
|
|
; Delets this object
|
|
Function Delete() native
|
|
|
|
; Disables this object - fading out if requested
|
|
Function Disable(bool abFadeOut = false) native
|
|
|
|
; Disables this object - fading out if requested. Does NOT wait for the fade or disable to finish
|
|
Function DisableNoWait(bool abFadeOut = false) native
|
|
|
|
; Drops the specified object from this object's inventory
|
|
ObjectReference Function DropObject(Form akObject, int aiCount = 1) native
|
|
|
|
; Enables this object - fading in if requested
|
|
Function Enable(bool abFadeIn = false) native
|
|
|
|
; Enables the ability to fast travel to this marker - or disables it. Note that if you disable
|
|
; fast travel the player will see "You haven't discovered this location" as an error message
|
|
Function EnableFastTravel(bool abEnable = true) native
|
|
|
|
; Enables this object - fading in if requested. Does NOT wait for the fade or enable to finish
|
|
Function EnableNoWait(bool abFadeIn = false) native
|
|
|
|
; Forcibly adds / removes the ragdoll for a reference to the world
|
|
Function ForceAddRagdollToWorld() native
|
|
Function ForceRemoveRagdollFromWorld() native
|
|
|
|
; Gets the actor that owns this object (or None if not owned by an Actor)
|
|
ActorBase Function GetActorOwner() native
|
|
|
|
; Get the current X angle of this object
|
|
float Function GetAngleX() native
|
|
|
|
; Get the current Y angle of this object
|
|
float Function GetAngleY() native
|
|
|
|
; Get the current Z angle of this object
|
|
float Function GetAngleZ() native
|
|
|
|
; Get a variable from the reference's animation graph (if applicable). Bool version.
|
|
bool Function GetAnimationVariableBool(string arVariableName) native
|
|
|
|
; Get a variable from the reference's animation graph (if applicable). Int version.
|
|
int Function GetAnimationVariableInt(string arVariableName) native
|
|
|
|
; Get a variable from the reference's animation graph (if applicable). Float version.
|
|
float Function GetAnimationVariableFloat(string arVariableName) native
|
|
|
|
; Returns the base object this reference represents
|
|
Form Function GetBaseObject() native
|
|
|
|
; Returns the object's current destruction stage
|
|
int Function GetCurrentDestructionStage() native
|
|
|
|
; Returns this reference's current location
|
|
Location Function GetCurrentLocation() native
|
|
|
|
; Returns the scene this reference is currently in - if any
|
|
Scene Function GetCurrentScene() native
|
|
|
|
; Calculates the distance between this reference and another - both must either be in the same interior, or same worldspace
|
|
float Function GetDistance(ObjectReference akOther) native
|
|
|
|
; Returns this reference's editor location
|
|
Location Function GetEditorLocation() native
|
|
|
|
; Gets the faction that owns this object (or None if not owned by a Faction)
|
|
Faction Function GetFactionOwner() native
|
|
|
|
; Gets the angle between this object's heading and the other object in degrees - in the range from -180 to 180
|
|
float Function GetHeadingAngle(ObjectReference akOther) native
|
|
|
|
; Get the current height of the object
|
|
float Function GetHeight() native
|
|
|
|
; Returns how many of the specified item is in this object reference's inventory
|
|
int Function GetItemCount(Form akItem) native
|
|
|
|
; Returns the smithed health of this object reference (1.0 == 100%)
|
|
float Function GetItemHealthPercent() native
|
|
|
|
; Returns the key base object that will unlock this object
|
|
Key Function GetKey() native
|
|
|
|
; Get the current length of the object
|
|
float Function GetLength() native
|
|
|
|
; Get our linked reference
|
|
ObjectReference Function GetLinkedRef(Keyword apKeyword = NONE) native
|
|
|
|
; Get the level of the lock on this object
|
|
int Function GetLockLevel() native
|
|
|
|
;jtucker, jduvall
|
|
;This function counts the number of linked refs that are in a linked Ref chain (ie object is linked to A, A is linked to B, etc. this then counts all the linked refs.)
|
|
;Often used in conjunction with GetNthLinkedRef()
|
|
;*** WARNING: Having a link ref chain that at any point loops back on itself and calling this function will result in very bad things. Don't do that!***
|
|
int Function countLinkedRefChain(keyword apKeyword = None, int maxExpectedLinkedRefs = 100)
|
|
;Don't use this on a loop of linked refs.
|
|
ObjectReference CurrentLink = self
|
|
ObjectReference NewLink
|
|
int NumLinkedRefs = 0
|
|
|
|
while(currentLink) && NumLinkedRefs <= maxExpectedLinkedRefs
|
|
|
|
NewLink = currentLink.getLinkedRef(apKeyword)
|
|
|
|
if NewLink != self
|
|
currentLink = NewLink
|
|
NumLinkedRefs = NumLinkedRefs + 1
|
|
Else
|
|
currentLink = None
|
|
; debug.trace( self + "countLinkedRefs() found itself. This suggests it was linked back to itself. This will create an infinite loop, so we are killing the function now. NumLinkedRefs =" + NumLinkedRefs)
|
|
EndIf
|
|
|
|
endWhile
|
|
|
|
if NumLinkedRefs >= maxExpectedLinkedRefs
|
|
; debug.trace( self + "countLinkedRefs() bailing out early because it found more linked refs than maxExpectedLinkRefs (suggesting an infinite loop). LinkedRefs found:" + NumLinkedRefs + ", maxExpectedLinkedRefs:" + maxExpectedLinkedRefs)
|
|
EndIf
|
|
|
|
|
|
return NumLinkedRefs
|
|
|
|
endFunction
|
|
|
|
|
|
; Returns the Nth linked ref from this reference (0 = self, 1 = GetLinkedRef, 2 = GetLinkedRef.GetLinkedRef, etc)
|
|
ObjectReference Function GetNthLinkedRef(int aiLinkedRef) native
|
|
|
|
|
|
; Enables all of the references that are linked, in a chain, to this one.
|
|
Function EnableLinkChain(Keyword apKeyword = None)
|
|
ObjectReference CurrentLink = GetLinkedRef(apKeyword)
|
|
While CurrentLink
|
|
CurrentLink.Enable()
|
|
CurrentLink = CurrentLink.GetLinkedRef(apKeyword)
|
|
endWhile
|
|
endFunction
|
|
|
|
|
|
; Disables all of the references that are linked, in a chain, to this one.
|
|
Function DisableLinkChain(Keyword apKeyword = None, bool abFadeOut = false)
|
|
ObjectReference CurrentLink = GetLinkedRef(apKeyword)
|
|
While CurrentLink
|
|
CurrentLink.Disable(abFadeOut)
|
|
CurrentLink = CurrentLink.GetLinkedRef(apKeyword)
|
|
endWhile
|
|
endFunction
|
|
|
|
|
|
; Get this object's mass
|
|
float Function GetMass() native
|
|
|
|
; Gets the open state of this object. Which can be one of the following:
|
|
; 0 - None
|
|
; 1 - Open
|
|
; 2 - Opening
|
|
; 3 - Closed
|
|
; 4 - Closing
|
|
int Function GetOpenState() native
|
|
|
|
; Gets the cell this object is in
|
|
Cell Function GetParentCell() native
|
|
|
|
; Get the current X position of the object
|
|
float Function GetPositionX() native
|
|
|
|
; Get the current Y position of the object
|
|
float Function GetPositionY() native
|
|
|
|
; Get the current Z position of the object
|
|
float Function GetPositionZ() native
|
|
|
|
; Get the current scale of the object
|
|
float Function GetScale() native
|
|
|
|
; Get the number of objects inside this trigger (throws warning if not a triggger)
|
|
int Function GetTriggerObjectCount() native
|
|
|
|
; Gets the voice type for this reference. Will return None if not an actor or a talking activator
|
|
VoiceType Function GetVoiceType() native
|
|
|
|
; Get the current width of the object
|
|
float Function GetWidth() native
|
|
|
|
; Get this objects worldspace
|
|
WorldSpace Function GetWorldSpace() native
|
|
|
|
; Returns self cast as an actor
|
|
actor Function GetSelfAsActor()
|
|
return self as Actor
|
|
endFunction
|
|
|
|
; Returns if this reference has an active effect coming from a magic effect with the specified keyword attached
|
|
bool Function HasEffectKeyword(Keyword akKeyword) native
|
|
|
|
; Returns whether the reference has the given node
|
|
bool Function HasNode(string asNodeName) native
|
|
|
|
; Returns if this reference has the specified location ref type
|
|
bool Function HasRefType(LocationRefType akRefType) native
|
|
|
|
; Flags this reference as ignoring (or not ignoring) friendly hits
|
|
Function IgnoreFriendlyHits(bool abIgnore = true) native
|
|
|
|
; Interrupts any spell-casting this object may be doing
|
|
Function InterruptCast() native
|
|
|
|
; Checks to see if the passed in reference is the activate child of this one
|
|
bool Function IsActivateChild(ObjectReference akChild) native
|
|
|
|
; Checks to see if activation is currently blocked on this object
|
|
bool Function IsActivationBlocked() native
|
|
|
|
; Returns if the 3d for this object is loaded or not
|
|
bool Function Is3DLoaded() native
|
|
|
|
; Is this object currently flagged for delete?
|
|
bool Function IsDeleted() native
|
|
|
|
; Is this object currently disabled?
|
|
bool Function IsDisabled() native
|
|
|
|
; Because Shane got tired of remembering which way to call this
|
|
bool Function IsEnabled()
|
|
return !IsDisabled()
|
|
EndFunction
|
|
|
|
; Is any marker on this furniture in use?
|
|
bool Function IsFurnitureInUse(bool abIgnoreReserved = false) native
|
|
|
|
; Is a particular marker on this furniture in use?
|
|
bool Function IsFurnitureMarkerInUse(int aiMarker, bool abIgnoreReserved = false) native
|
|
|
|
; Is this object ignoring friendly hits?
|
|
bool Function IsIgnoringFriendlyHits() native
|
|
|
|
; Is this actor or talking activator currently talking to the player?
|
|
bool Function IsInDialogueWithPlayer() native
|
|
|
|
; Is the lock on this object broken?
|
|
bool Function IsLockBroken() native
|
|
|
|
; Is the lock on this object locked?
|
|
bool Function IsLocked() native
|
|
|
|
; Is the map marker visible?
|
|
bool Function IsMapMarkerVisible() native
|
|
|
|
; Executes a knock effect to an area
|
|
Function KnockAreaEffect(float afMagnitude, float afRadius) native
|
|
|
|
; Lock/unlock this object. If told to lock it, it will add a lock if it doesn't have one. If locked/unlocked as the owner on a door,
|
|
; the adjoining cell will be made public/private as appropriate
|
|
Function Lock(bool abLock = true, bool abAsOwner = false) native
|
|
|
|
; Moves this object to the position of the specified object, with an offset, and optionally matching its rotation
|
|
Function MoveTo(ObjectReference akTarget, float afXOffset = 0.0, float afYOffset = 0.0, float afZOffset = 0.0, bool abMatchRotation = true) native
|
|
|
|
; Moves this object to the position (and rotation) of the specified object's interaction position
|
|
Function MoveToInteractionLocation(ObjectReference akTarget) native
|
|
|
|
; Moves this object to its editor location
|
|
Function MoveToMyEditorLocation() native
|
|
|
|
; Moves this object to the position (and rotation) of the specified node on the specified object's 3D
|
|
Function MoveToNode(ObjectReference akTarget, string asNodeName) native
|
|
|
|
; Create x copies of the passed in form (forcing them to persist if desired) and place them at our location, returning the last object created
|
|
ObjectReference Function PlaceAtMe(Form akFormToPlace, int aiCount = 1, bool abForcePersist = false, bool abInitiallyDisabled = false) native
|
|
|
|
; Create an actor at this object's location. Level mod is one of the following:
|
|
; 0 - Easy
|
|
; 1 - Medium
|
|
; 2 - Hard
|
|
; 3 - Boss
|
|
; 4 - None
|
|
Actor Function PlaceActorAtMe(ActorBase akActorToPlace, int aiLevelMod = 4, EncounterZone akZone = None) native
|
|
|
|
; Start the specified animation playing - returns true if it succeeds
|
|
bool Function PlayAnimation(string asAnimation) native
|
|
|
|
; Start the specified animation playing and wait for the specified event - returns true if succeeds
|
|
bool Function PlayAnimationAndWait(string asAnimation, string asEventName) native
|
|
|
|
; Start the specified Gamebryo animation playing - returns true if it succeeds
|
|
bool Function PlayGamebryoAnimation(string asAnimation, bool abStartOver = false, float afEaseInTime = 0.0) native
|
|
|
|
; Play the specified impact effect - returns true if it succeeds
|
|
bool Function PlayImpactEffect(ImpactDataSet akImpactEffect, string asNodeName = "", float afPickDirX = 0.0, float afPickDirY = 0.0, float afPickDirZ = -1.0, float afPickLength = 512.0, bool abApplyNodeRotation = false, bool abUseNodeLocalRotation = false) native
|
|
|
|
; Play two animations at once - one on this object, one on another object
|
|
bool Function PlaySyncedAnimationSS(string asAnimation1, ObjectReference akObj2, string asAnimation2) native
|
|
|
|
; Play two animations at once - one on this object, one on another object - and wait for both
|
|
bool Function PlaySyncedAnimationAndWaitSS(string asAnimation1, string asEvent1, ObjectReference akObj2, string asAnimation2, string asEvent2) native
|
|
|
|
; Play a terrain effect that is attached to the specified bone of this object.
|
|
Function PlayTerrainEffect(string asEffectModelName, string asAttachBoneName) native
|
|
|
|
; Tells this object to process a trap hitting it
|
|
Function ProcessTrapHit(ObjectReference akTrap, float afDamage, float afPushback, float afXVel, float afYVel, float afZVel, float afXPos, float afYPos, float afZPos, int aeMaterial, float afStagger) native
|
|
|
|
; Pushes the passed-in actor away from this object, using the passed in knockback force to determine the speed
|
|
Function PushActorAway(Actor akActorToPush, float aiKnockbackForce) native
|
|
|
|
; Remove all inventory event filters from this reference - all item added/removed events will now be received
|
|
Function RemoveAllInventoryEventFilters() native
|
|
|
|
; Removes all items from this container, transferring it to the other object if passed
|
|
Function RemoveAllItems(ObjectReference akTransferTo = None, bool abKeepOwnership = false, bool abRemoveQuestItems = false) native
|
|
|
|
; Remove an inventory event filter from this reference. 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
|
|
|
|
; Removes the specified item from this object reference's inventory
|
|
Function RemoveItem(Form akItemToRemove, int aiCount = 1, bool abSilent = false, ObjectReference akOtherContainer = None) native
|
|
|
|
; Removes a previously added dependent object
|
|
; This function should be used only with a coder supervision. It is left undocumented because it can cause dangling pointers as well as very broken functionality
|
|
; for the dependent object if used improperly.
|
|
bool Function RemoveDependentAnimatedObjectReference( ObjectReference akDependent ) native
|
|
|
|
; Resets this object, optional place the object at the new target
|
|
Function Reset(ObjectReference akTarget = None) native
|
|
|
|
; Has this object "say" the specified topic, as if spoken by the specified actor (if one is
|
|
; provided, and potentially "speaking" in the player's head.
|
|
Function Say(Topic akTopicToSay, Actor akActorToSpeakAs = None, bool abSpeakInPlayersHead = false) native
|
|
|
|
; Has this object behave as if the specified actor attempted to steal it
|
|
Function SendStealAlarm(Actor akThief) native
|
|
|
|
; Sets this object's actor cause to the specified actor
|
|
Function SetActorCause(Actor akActor) native
|
|
|
|
; Sets this object's owner to the specified actor base - None means to remove ownership
|
|
Function SetActorOwner(ActorBase akActorBase) native
|
|
|
|
; Set the orientation of the object (angles are in degrees)
|
|
Function SetAngle(float afXAngle, float afYAngle, float afZAngle) native
|
|
|
|
; Set a variable on the reference's animation graph (if applicable). Bool version.
|
|
Function SetAnimationVariableBool(string arVariableName, bool abNewValue) native
|
|
|
|
; Set a variable on the reference's animation graph (if applicable). Int version.
|
|
Function SetAnimationVariableInt(string arVariableName, int aiNewValue) native
|
|
|
|
; Set a variable on the reference's animation graph (if applicable). Float version.
|
|
Function SetAnimationVariableFloat(string arVariableName, float afNewValue) native
|
|
|
|
; Sets this object as destroyed or not
|
|
Function SetDestroyed(bool abDestroyed = true) native
|
|
|
|
; Sets this object's owner to the specified faction
|
|
Function SetFactionOwner(Faction akFaction) native
|
|
|
|
; Sets the lock level on this object. Will add an unlocked lock to it if it doesn't have one
|
|
Function SetLockLevel(int aiLockLevel) native
|
|
|
|
; Sets the motion type of the reference
|
|
; aeMotionType: The type of motion (see properties at end of file)
|
|
; abAllowActivate: When setting to a dynamic type, allows the simulation to be activated
|
|
Function SetMotionType(int aeMotionType, bool abAllowActivate = true) native
|
|
|
|
; Sets this object reference as one that teammates will refuse to do favors on
|
|
Function SetNoFavorAllowed(bool abNoFavor = true) native
|
|
|
|
; Opens/closes this object
|
|
Function SetOpen(bool abOpen = true) native
|
|
|
|
; Set the position of the object
|
|
Function SetPosition(float afX, float afY, float afZ) native
|
|
|
|
; Set the current scale of the object
|
|
Function SetScale(float afScale) native
|
|
|
|
; Makes the reference translate to the given position/orientation
|
|
; Note: Rotation speed is entirely dependent on the length of the path and the movement speed
|
|
; that is, the rotation will happen such that the reference reaches the goal orientation at the end
|
|
; of the translation.
|
|
Function TranslateTo(float afX, float afY, float afZ, float afXAngle, float afYAngle, float afZAngle, float afSpeed, float afMaxRotationSpeed = 0.0) native
|
|
|
|
; Makes the reference translate to the given position/orientation on a spline
|
|
Function SplineTranslateTo(float afX, float afY, float afZ, float afXAngle, float afYAngle, float afZAngle, float afTangentMagnitude, float afSpeed, float afMaxRotationSpeed = 0.0) native
|
|
|
|
; Makes the reference translate to the target node's ref/orient on a spline at the given speed
|
|
Function SplineTranslateToRefNode(ObjectReference arTarget, string arNodeName, float afTangentMagnitude, float afSpeed, float afMaxRotationSpeed = 0.0) native
|
|
|
|
; Stops the reference from moving
|
|
Function StopTranslation() native
|
|
|
|
; Makes the reference translate to the target ref position/orient at the given speed
|
|
Function TranslateToRef(ObjectReference arTarget, float afSpeed, float afMaxRotationSpeed = 0.0)
|
|
TranslateTo(arTarget.X, arTarget.Y, arTarget.Z, arTarget.GetAngleX(), arTarget.GetAngleY(), arTarget.GetAngleZ(), afSpeed, afMaxRotationSpeed)
|
|
endFunction
|
|
|
|
; Makes the reference translate to the target ref position/orient on a spline at the given speed
|
|
Function SplineTranslateToRef(ObjectReference arTarget, float afTangentMagnitude, float afSpeed, float afMaxRotationSpeed = 0.0)
|
|
SplineTranslateTo(arTarget.X, arTarget.Y, arTarget.Z, arTarget.GetAngleX(), arTarget.GetAngleY(), arTarget.GetAngleZ(), afTangentMagnitude, afSpeed, afMaxRotationSpeed)
|
|
endFunction
|
|
|
|
; Tether a prisoner cart to the given horse.
|
|
Function TetherToHorse(ObjectReference akHorse) native
|
|
|
|
; Waits for the animation graph to send the specified event
|
|
bool Function WaitForAnimationEvent(string asEventName) native
|
|
|
|
; Convenience function to check if I'm in a location or any of its children
|
|
bool Function IsInLocation(Location akLocation)
|
|
; cache current location to avoid changing location while this function is running (surprisingly that seems to be happening occasionally)
|
|
Location currLoc = GetCurrentLocation()
|
|
if currLoc == None
|
|
return false
|
|
else
|
|
return akLocation.IsChild(currLoc) || currLoc == akLocation
|
|
endif
|
|
endFunction
|
|
|
|
; 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 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 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 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 almost complete (from a call to TranslateTo, "almost" is determined by a gamesetting, default is 90% of the way)
|
|
Event OnTranslationAlmostComplete()
|
|
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 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 received when this object's Ward is hit by a spell
|
|
Event OnWardHit(ObjectReference akCaster, Spell akSpell, int aiStatus)
|
|
EndEvent
|
|
|
|
; Set of read-only properties to essentually make a fake enum for motion types passed in to the trap hit
|
|
int Property Motion_Dynamic = 1 AutoReadOnly
|
|
int Property Motion_SphereIntertia = 2 AutoReadOnly
|
|
int Property Motion_BoxIntertia = 3 AutoReadOnly
|
|
int Property Motion_Keyframed = 4 AutoReadOnly
|
|
int Property Motion_Fixed = 5 AutoReadOnly
|
|
int Property Motion_ThinBoxIntertia = 6 AutoReadOnly
|
|
int Property Motion_Character = 7 AutoReadOnly
|
|
|
|
; added in 1.6.1126
|
|
Bool Function IsContainerEmpty() Native
|
|
Function RemoveAllStolenItems(ObjectReference akTransferTo) Native
|
|
Function SetContainerAllowStolenItems(Bool setAllowStolenItems) Native
|
|
Int Function GetAllItemsCount() Native
|
|
|
|
|
|
; SKSE64 additions built 2023-11-30 02:04:35.605000 UTC
|
|
|
|
; Container-only functions
|
|
int Function GetNumItems() native
|
|
Form Function GetNthForm(int index) native
|
|
float Function GetTotalItemWeight() native
|
|
float Function GetTotalArmorWeight() native
|
|
|
|
; Tree and Flora only functions
|
|
bool Function IsHarvested() native
|
|
Function SetHarvested(bool harvested) native
|
|
|
|
; Tempering
|
|
Function SetItemHealthPercent(float health) native
|
|
|
|
; Charges
|
|
|
|
; Only works on ObjectReferences that have user-enchants
|
|
Function SetItemMaxCharge(float maxCharge) native
|
|
; Works on any enchanted item
|
|
float Function GetItemMaxCharge() native
|
|
|
|
float Function GetItemCharge() native
|
|
Function SetItemCharge(float charge) native
|
|
|
|
Function ResetInventory() native
|
|
|
|
bool Function IsOffLimits() native
|
|
|
|
; Returns the name of this reference
|
|
; this is the name that is displayed
|
|
string Function GetDisplayName() native
|
|
|
|
; Sets a reference's display name
|
|
; returns false if force is false and the reference
|
|
; is held by an alias using 'Stored Text' or 'Uses Stored Text'
|
|
; Text Replacement does not use this name and may be lost if forced
|
|
bool Function SetDisplayName(string name, bool force = false) native
|
|
|
|
; Returns the enable parent object
|
|
ObjectReference Function GetEnableParent() native
|
|
|
|
; Returns the player-made enchantment if there is one
|
|
Enchantment Function GetEnchantment() native
|
|
|
|
; Changes an item's player-made enchantment to something else
|
|
; None enchantment will remove the existing enchantment
|
|
; does not delete the custom enchantment, only removes it
|
|
Function SetEnchantment(Enchantment source, float maxCharge) native
|
|
|
|
; Creates a new enchantment on the item given the specified parameters
|
|
; all arrays must be the same size
|
|
; created enchantments are not purged from the save when removed or overwritten
|
|
; exact same enchantments are re-used by the game
|
|
Function CreateEnchantment(float maxCharge, MagicEffect[] effects, float[] magnitudes, int[] areas, int[] durations) native
|
|
|
|
; Returns the number of ref aliases holding this reference
|
|
int Function GetNumReferenceAliases() native
|
|
|
|
; Returns the nth ReferenceAlias holding this reference
|
|
ReferenceAlias Function GetNthReferenceAlias(int n) native
|
|
|
|
; Returns the poison applied to the weapon
|
|
Potion Function GetPoison() native
|
|
|
|
; Returns all base forms in the inventory/container into the specified FormList
|
|
Function GetAllForms(FormList toFill) native
|
|
|
|
; Returns all base forms from the container into a new array
|
|
Form[] Function GetContainerForms() native
|
|
|
|
; Returns all of the aliases holding this reference
|
|
ReferenceAlias[] Function GetReferenceAliases() native |