Anvil
Anvil.API.NwStationary Class Reference

A stationary game object entity. More...

+ Inheritance diagram for Anvil.API.NwStationary:
+ Collaboration diagram for Anvil.API.NwStationary:

Public Member Functions

void CreateTrap (TrapBaseType trap, string disarm="", string triggered="")
 Creates the specified trap. More...
 
override Task FaceToPoint (Vector3 point)
 Rotates this object to face a position. More...
 
async Task< NwGameObject?> GetLastLockedBy ()
 Gets the object that last locked this stationary object. More...
 
void SetSavingThrow (SavingThrow savingThrow, int amount)
 Sets the saving throw value for this stationary object. More...
 
- Public Member Functions inherited from Anvil.API.NwTrappable
void DisableTrap ()
 Disables this trap as if a creature disarmed it (calling the OnDisarm event respectively). More...
 
async Task< NwCreature?> GetLastDisarmedBy ()
 Gets the creature who last disarmed the trap on this object. More...
 
bool IsTrapDetectedBy (NwCreature creature)
 Gets if the specified creature can see this trap. More...
 
void SetTrapDetectedBy (bool detected, params NwCreature[] creatures)
 Sets the detected state for this trap for the given creatures. More...
 
- Public Member Functions inherited from Anvil.API.NwGameObject
async Task ActionCastSpellAt (NwSpell spell, Location target, MetaMagic metaMagic=MetaMagic.Any, bool cheat=false, ProjectilePathType projectilePathType=ProjectilePathType.Default, bool instant=false, NwClass? spellClass=null, bool spontaneousCast=false, int domainLevel=0)
 Casts a spell at an location. More...
 
async Task ActionCastSpellAt (NwSpell spell, NwGameObject target, MetaMagic metaMagic=MetaMagic.Any, bool cheat=false, int domainLevel=0, ProjectilePathType projectilePathType=ProjectilePathType.Default, bool instant=false, NwClass? spellClass=null, bool spontaneousCast=false)
 Casts a spell at an object. More...
 
async Task ActionJumpToLocation (Location location)
 Jumps this object to the specified location.
Unlike the Location setter, this method will compute a safe location when teleporting, and may not equal the location specified. More...
 
async Task ActionWait (TimeSpan duration)
 Instructs this object to do nothing for the specified duration, before continuing with the next item in the action queue. More...
 
void ApplyEffect (EffectDuration durationType, Effect effect, TimeSpan duration=default)
 Applies the specified effect to this game object. More...
 
void ClearObjectAnimationOverride (string anim)
 Clears the specified animation override, restoring the original. More...
 
abstract NwGameObject Clone (Location location, string? newTag=null, bool copyLocalState=true)
 Creates a copy of this game object. More...
 
virtual void Destroy ()
 Destroys this object (irrevocably). More...
 
float Distance (NwGameObject target)
 Returns the distance to the target.
If you only need to compare the distance, you can compare the squared distance using DistanceSquared to avoid a costly sqrt operation. More...
 
float DistanceSquared (NwGameObject target)
 Returns the squared distance to the target. More...
 
async void EndConversation ()
 Immediately ends this GameObject's current conversation. More...
 
Task FaceToObject (NwGameObject target)
 Rotates this object to face towards target. More...
 
int GetColor (ColorChannel colorChannel)
 Gets the color for the specified color channel. More...
 
IEnumerable< NwCreatureGetNearestCreatures ()
 Returns the creatures closest to this object. More...
 
IEnumerable< NwCreatureGetNearestCreatures (CreatureTypeFilter filter1)
 Returns the creatures closest to this object, matching the specified criteria. More...
 
IEnumerable< NwCreatureGetNearestCreatures (CreatureTypeFilter filter1, CreatureTypeFilter filter2)
 Returns the creatures closest to this object, matching all of the specified criteria. More...
 
IEnumerable< NwCreatureGetNearestCreatures (CreatureTypeFilter filter1, CreatureTypeFilter filter2, CreatureTypeFilter filter3)
 Returns the creatures closest to this object, matching all of the specified criteria. More...
 
IEnumerable< T > GetNearestObjectsByType< T > ()
 Gets the nearest object that is of the specified type. More...
 
VisualTransform GetVisualTransform (ObjectVisualTransformDataScope scope)
 Gets the visual transform of this object for the specified scope. More...
 
bool HasLineOfSight (NwGameObject target)
 Gets whether this object has a direct line of sight to the specified object (not blocked by any geometry).
More...
 
override? Guid PeekUUID ()
 Attempts to get the UUID of this object, if assigned. More...
 
async Task PlayAnimation (Animation animation, float animSpeed, bool queueAsAction=false, TimeSpan duration=default)
 Plays the specified animation. More...
 
async Task PlaySound (string soundName)
 Plays the specified sound as mono audio from the location of this object. More...
 
async Task PlaySoundByStrRef (StrRef strRef, bool runAsAction=true)
 Plays a sound associated with a string reference (strRef).
The sound comes out as a mono sound sourcing from the location of the object running the command.
If runAsAction is False, then the sound is played instantly. More...
 
void RemoveEffect (Effect effect)
 Removes the specified effect from this game object. More...
 
void ReplaceObjectAnimation (string anim, string newAnim)
 Replaces the specified animation with an override.
Use ClearObjectAnimationOverride to clear the override. More...
 
void ReplaceObjectTexture (string texture, string newTexture)
 Replaces the specified texture with a new texture on this object only. More...
 
void ResetMaterialShaderUniforms ()
 Resets all material shader parameter overrides on this object. More...
 
void ResetMaterialShaderUniforms (string material)
 Resets all material shader parameter overrides for the specified material on this object.

Parameters
materialThe material on the object to be reset.
More...
 
void ResetMaterialShaderUniforms (string material, string param)
 Resets the specified material shader parameter override for the specified material.

Parameters
materialThe material on the object to be reset.
paramThe parameter override to reset.
More...
 
SavingThrowResult RollSavingThrow (SavingThrow savingThrow, int dc, SavingThrowType saveType, NwGameObject? saveVs=null)
 Performs a saving throw against the given dc. More...
 
abstract ? byte[] Serialize ()
 
void SetColor (ColorChannel colorChannel, int newColor)
 Sets the color for the specified color channel. More...
 
async Task SetFacing (float facing)
 Rotates this object to face the specified facing angle. More...
 
async Task SetIsDestroyable (bool destroyable, bool raiseable=true, bool selectableWhenDead=false)
 Sets whether this object is destroyable. More...
 
void SetListenPattern (string pattern, int patternNumber)
 Sets a listen pattern for this object, assigning a pattern number that is accessible from the related object's OnConversation event. More...
 
void SetMaterialShaderUniform (string material, string param, float value)
 Sets a material shader uniform override. More...
 
void SetMaterialShaderUniform (string material, string param, int value)
 Sets a material shader uniform override. More...
 
void SetMaterialShaderUniform (string material, string param, Vector4 value)
 Sets a material shader uniform override. More...
 
void SetTextBubbleOverride (ObjectUiTextBubbleOverride mode, string text)
 Sets a text override for the hover/tab-highlight text of this object. More...
 
- Public Member Functions inherited from Anvil.API.NwObject
async Task AddActionToQueue (System.Action action)
 Inserts the function call aCommand into the Action Queue, ensuring the calling object will perform actions in a particular order. More...
 
async Task ClearActionQueue (bool clearCombatState=false)
 Clear all the object's actions. More...
 
void ClearEventSubscriptions ()
 Clears any event subscriptions associated with this object. More...
 
bool Equals (NwObject? other)
 
override bool Equals (object? obj)
 
void ForceRefreshUUID ()
 
string GetEventScript (EventScriptType eventType)
 Gets the script assigned to run for the specified object event. More...
 
override int GetHashCode ()
 
GetObjectVariable< T > (string name)
 Gets the specified object variable for this object. More...
 
bool IsEventLocked (EventScriptType eventType)
 Gets a value indicating whether the event script can be modified for the specified event. More...
 
Json SerializeToJson (bool saveObjectState)
 Serializes this game object to a json representation More...
 
void SetEventScript (EventScriptType eventType, string? script)
 Sets the script to be run on the specified object event. More...
 
async Task SpeakString (string message, TalkVolume talkVolume=TalkVolume.Talk, bool queueAsAction=false)
 Instructs this object to speak. More...
 
override string ToString ()
 The ID of this object as a string. Can be used in StringExtensions.ParseObject while the object is alive.
This cannot be used across server restarts. See UUID for a persistent unique identifier. More...
 
bool TryGetUUID (out Guid uid)
 Attempts to get the UUID for this object, assigning a new ID if it does not already exist.
More...
 
async Task WaitForObjectContext ()
 Notifies then awaits for this object to become the current active object for the purpose of implicitly assigned values (e.g. effect creators).
If the current active object is already this object, then the code runs immediately. Otherwise, it will be run with all other closures.
This is the async equivalent of AssignCommand in NWScript. More...
 

Properties

int Hardness [get, set]
 Gets or sets the hardness of this stationary object. This is the amount of damage deducted from each hit. More...
 
bool IsOpen [get]
 Gets a value indicating whether this stationary object is currently open. More...
 
abstract bool KeyAutoRemoved [get, set]
 Gets or sets a value indicating whether the key for this lock should "break"/be removed from the creature's inventory when used on this lock. More...
 
string KeyRequiredFeedback [get, set]
 Gets or sets the feedback message that will be displayed when trying to unlock this stationary object. More...
 
override Location Location [get]
 
bool Lockable [get, set]
 Gets or sets a value indicating whether this stationary object is lockable. More...
 
int LockDC [get, set]
 Gets or sets the skill DC required to lock this stationary object. More...
 
bool Locked [get, set]
 Gets or sets a value indicating whether this stationary object is locked. More...
 
bool LockKeyRequired [get, set]
 Gets or sets a value indicating whether a specific key with the tag LockKeyTag is required to open this stationary object. More...
 
string LockKeyTag [get, set]
 Gets or sets the tag of the key that will open this stationary object. More...
 
int UnlockDC [get, set]
 Gets or sets the skill DC required to unlock this stationary object. More...
 
- Properties inherited from Anvil.API.NwTrappable
bool IsTrapFlagged [get]
 Gets a value indicating whether this trap has been flagged as visible to all creatures in the game. More...
 
bool IsTrapped [get]
 Gets a value indicating whether this object is trapped. More...
 
bool OneShotTrap [get, set]
 Gets or sets a value indicating whether this trap should not reset after firing (true = don't reset). More...
 
bool TrapActive [get, set]
 Gets or sets a value indicating whether this trap is an active trap. An inactive trap will not trigger when a creature steps on it. More...
 
TrapBaseType TrapBaseType [get]
 Gets the base type of this trap. More...
 
NwPlayerTrapCreator [get]
 Gets the player that created this trap. If the trap was placed in the toolset, this returns null. More...
 
bool TrapDetectable [get, set]
 Gets or sets a value indicating whether this trap can be detected. More...
 
int TrapDetectDC [get, set]
 Gets or sets the skill DC required to detect this trap. More...
 
bool TrapDisarmable [get, set]
 Gets or sets a value indicating whether this trap can be disarmed. More...
 
int TrapDisarmDC [get, set]
 Gets or sets the skill DC required to disarm this trap. More...
 
string TrapKeyTag [get, set]
 Gets or sets the tag of the key that will disarm this trap. More...
 
bool TrapRecoverable [get, set]
 Gets or sets a value indicating whether this trap can be recovered. More...
 
- Properties inherited from Anvil.API.NwGameObject
IEnumerable< Effect >? ActiveEffects [get]
 Gets all effects (permanent and temporary) that are active on this game object. More...
 
AnimationState AnimationState [get]
 Gets the current animation state of this object. More...
 
NwAreaArea [get]
 Gets the area this object is currently in. More...
 
int CasterLevel [get]
 Gets the caster level of this object. More...
 
Color HighlightColor [get, set]
 Gets or sets the highlight color of this object. More...
 
int HP [get, set]
 Gets or sets the current HP for this object. More...
 
bool IsInConversation [get]
 Gets a value indicating whether this object is in a conversation. More...
 
bool IsListening [get, set]
 Gets or sets if this object should be listening for chat patterns, via the listen pattern system. More...
 
virtual ? Location Location [get, set]
 Gets or sets the location of this object. More...
 
int MaxHP [get, set]
 Gets or sets the maximum HP for this object. Returns 0 if this object has no defined HP. More...
 
MouseCursor MouseCursor [get, set]
 Gets or sets the mouse cursor for this object. More...
 
Action< ModuleEvents.OnAcquireItemOnAcquireItem
 
Action< OnChatMessageSendOnChatMessageSend
 
Action< OnDisarmWeaponOnDisarmWeapon
 
Action< OnDispelMagicApplyOnDispelMagicApply
 
Action< OnEffectApplyOnEffectApply
 
Action< OnEffectRemoveOnEffectRemove
 
Action< OnHealOnHeal
 
Action< OnSpellBroadcastOnSpellBroadcast
 
Action< OnSpellCastOnSpellCast
 
Action< OnSpellInterruptOnSpellInterrupt
 
Action< ModuleEvents.OnUnacquireItemOnUnacquireItem
 
bool PlotFlag [get, set]
 Gets or sets a value indicating whether the plot flag is enabled. More...
 
PortraitTableEntry???? PortraitId [get, set]
 Gets or sets the PortraitId of this (game object). More...
 
string PortraitResRef [get, set]
 Gets or sets the Portrait ResRef for this object. More...
 
virtual Vector3 Position [get, set]
 Gets or sets the local area position of this GameObject. More...
 
virtual float Rotation [get, set]
 Gets or sets the world rotation for this object. More...
 
NwGameObjectTransitionTarget [get, set]
 Gets or sets the transition target for this object. More...
 
ObjectUiDiscovery UiDiscoveryFlags [get, set]
 Gets or sets flags for controlling Ui discovery of this object. More...
 
bool Useable [get, set]
 Gets or sets a value indicating whether this object should be useable (clickable). More...
 
VisibilityMode VisibilityOverride [get, set]
 Gets or sets the global visiblity override for this object. More...
 
float VisibleDistance [get, set]
 Gets or sets the distance that this object will become visible to clients (default 45.0).
This is still subject to other limitations, such as perception ranges for creatures. More...
 
VisualTransform VisualTransform [get]
 Gets the base visual transform for this object.
Use GetVisualTransform to get the visual transform for other scopes for this object. More...
 
- Properties inherited from Anvil.API.NwObject
string Description [get, set]
 Gets or sets the description for this object. More...
 
static EventService EventService = null! [get]
 
bool HasUUID [get]
 Gets a value indicating whether this object has an assigned UUID. More...
 
bool IsValid [get]
 Gets a value indicating whether this is a valid object. More...
 
IEnumerable< ObjectVariableLocalVariables [get]
 Gets all local variables assigned on this object. More...
 
string Name [get, set]
 Gets or sets the name of this object. More...
 
static Lazy< ObjectVisibilityService > ObjectVisibilityService = null! [get]
 
string OriginalDescription [get]
 Gets the original description for this object as defined in the toolset. More...
 
static ResourceManager ResourceManager = null! [get]
 
string ResRef [get]
 Gets the resource reference used to create this object. More...
 
string Tag [get, set]
 Gets or sets the tag for this object. More...
 
Guid UUID [get]
 Gets the globally unique identifier for this object. More...
 
static VirtualMachine VirtualMachine = null! [get]
 

Additional Inherited Members

- Static Public Member Functions inherited from Anvil.API.NwObject
static IEnumerable< T > FindObjectsOfType< T > ()
 Locates all objects of the specified type. More...
 
static IEnumerable< NwObjectFindObjectsWithTag (params string[] tags)
 Locates all objects of that have the specified tag. More...
 
static IEnumerable< T > FindObjectsWithTag< T > (params string[] tags)
 Locates all objects of the specified type that have the specified tag. More...
 
static implicit operator uint (NwObject? gameObject)
 
static bool operator!= (NwObject? left, NwObject? right)
 
static bool operator== (NwObject? left, NwObject? right)
 
- Public Attributes inherited from Anvil.API.NwObject
readonly uint ObjectId
 The ID of this object instance. Not persistent, changes after every spawn of the object.
See UUID for a persistent unique ID for objects. More...
 
- Protected Member Functions inherited from Anvil.API.NwGameObject
abstract void AddToArea (CNWSArea area, float x, float y, float z)
 
CloneInternal< T > (Location location, string? newTag, bool copyLocalState)
 
- Protected Member Functions inherited from Anvil.API.NwObject
 NwObject (ICGameObject gameObject)
 
void AssertObjectValid ()
 

Detailed Description

A stationary game object entity.

Member Function Documentation

◆ CreateTrap()

void Anvil.API.NwStationary.CreateTrap ( TrapBaseType  trap,
string  disarm = "",
string  triggered = "" 
)
inline

Creates the specified trap.

Parameters
trapThe base type of trap.
disarmThe script that will fire when the trap is disarmed. If no value set, defaults to an empty string and no script will fire.
triggeredThe script that will fire when the trap is triggered. If no value set, defaults to an empty string and the default OnTrapTriggered script for the trap type specified will fire instead (as specified in the traps.2da).

◆ FaceToPoint()

override Task Anvil.API.NwStationary.FaceToPoint ( Vector3  point)
inlinevirtual

Rotates this object to face a position.

Parameters
pointThe position to face towards.

Reimplemented from Anvil.API.NwGameObject.

◆ GetLastLockedBy()

async Task<NwGameObject?> Anvil.API.NwStationary.GetLastLockedBy ( )
inline

Gets the object that last locked this stationary object.

◆ SetSavingThrow()

void Anvil.API.NwStationary.SetSavingThrow ( SavingThrow  savingThrow,
int  amount 
)
inline

Sets the saving throw value for this stationary object.

Parameters
savingThrowThe type of saving throw to set.
amountThe new saving throw value (0-250).

Property Documentation

◆ Hardness

int Anvil.API.NwStationary.Hardness
getset

Gets or sets the hardness of this stationary object. This is the amount of damage deducted from each hit.

◆ IsOpen

bool Anvil.API.NwStationary.IsOpen
get

Gets a value indicating whether this stationary object is currently open.

◆ KeyAutoRemoved

abstract bool Anvil.API.NwStationary.KeyAutoRemoved
getset

Gets or sets a value indicating whether the key for this lock should "break"/be removed from the creature's inventory when used on this lock.

◆ KeyRequiredFeedback

string Anvil.API.NwStationary.KeyRequiredFeedback
getset

Gets or sets the feedback message that will be displayed when trying to unlock this stationary object.

◆ Lockable

bool Anvil.API.NwStationary.Lockable
getset

Gets or sets a value indicating whether this stationary object is lockable.

◆ LockDC

int Anvil.API.NwStationary.LockDC
getset

Gets or sets the skill DC required to lock this stationary object.

◆ Locked

bool Anvil.API.NwStationary.Locked
getset

Gets or sets a value indicating whether this stationary object is locked.

◆ LockKeyRequired

bool Anvil.API.NwStationary.LockKeyRequired
getset

Gets or sets a value indicating whether a specific key with the tag LockKeyTag is required to open this stationary object.

◆ LockKeyTag

string Anvil.API.NwStationary.LockKeyTag
getset

Gets or sets the tag of the key that will open this stationary object.

◆ UnlockDC

int Anvil.API.NwStationary.UnlockDC
getset

Gets or sets the skill DC required to unlock this stationary object.


The documentation for this class was generated from the following file: