Anvil
Anvil.API.NwDoor Class Reference

A tile-based door. More...

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

Public Member Functions

override NwDoor Clone (Location location, string? newTag=null, bool copyLocalState=true)
 Creates a copy of this game object. More...
 
async Task Close ()
 Closes this door. More...
 
int GetBaseSavingThrow (SavingThrow savingThrow)
 Gets this door's base save value for the specified saving throw. More...
 
bool IsDoorActionPossible (DoorAction action)
 Determines whether the specified action can be performed on this door. More...
 
async Task Open ()
 Opens this door. More...
 
override? byte[] Serialize ()
 
void SetBaseSavingThrow (SavingThrow savingThrow, sbyte newValue)
 Sets this door's base save value for the specified saving throw. More...
 
- Public Member Functions inherited from Anvil.API.NwStationary
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...
 
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...
 
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...
 

Static Public Member Functions

static ? NwDoor Create (string template, Location location, string? newTag=null)
 Creates a door at the specified location. More...
 
static ? NwDoor Deserialize (byte[] serialized)
 
static implicit operator CNWSDoor? (NwDoor? door)
 
- 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)
 

Protected Member Functions

override void AddToArea (CNWSArea area, float x, float y, float z)
 
- Protected Member Functions inherited from Anvil.API.NwGameObject
CloneInternal< T > (Location location, string? newTag, bool copyLocalState)
 
- Protected Member Functions inherited from Anvil.API.NwObject
 NwObject (ICGameObject gameObject)
 
void AssertObjectValid ()
 

Properties

string? DialogResRef [get, set]
 Gets or sets the dialog ResRef for this door. More...
 
DoorOpenState DoorOpenState [get, set]
 Gets or sets the open state for this door. More...
 
override bool KeyAutoRemoved [get, set]
 
Action< DoorEvents.OnAreaTransitionClickOnAreaTransitionClick
 
Action< DoorEvents.OnCloseOnClose
 
Action< DoorEvents.OnConversationOnConversation
 
Action< DoorEvents.OnDamagedOnDamaged
 
Action< DoorEvents.OnDeathOnDeath
 
Action< DoorEvents.OnDisarmOnDisarm
 
Action< OnDoorSetOpenStateOnDoorSetOpenState
 
Action< DoorEvents.OnFailToOpenOnFailToOpen
 
Action< DoorEvents.OnHeartbeatOnHeartbeat
 
Action< DoorEvents.OnLockOnLock
 
Action< DoorEvents.OnOpenOnOpen
 
Action< DoorEvents.OnPhysicalAttackedOnPhysicalAttacked
 
Action< DoorEvents.OnSpellCastAtOnSpellCastAt
 
Action< DoorEvents.OnTrapTriggeredOnTrapTriggered
 
Action< DoorEvents.OnUnlockOnUnlock
 
Action< DoorEvents.OnUserDefinedOnUserDefined
 
- Properties inherited from Anvil.API.NwStationary
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

- 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...
 

Detailed Description

A tile-based door.

Member Function Documentation

◆ Clone()

override NwDoor Anvil.API.NwDoor.Clone ( Location  location,
string?  newTag = null,
bool  copyLocalState = true 
)
inlinevirtual

Creates a copy of this game object.

Parameters
locationThe location to create the cloned object.
newTagA new tag to assign the cloned object.
copyLocalStateIf true, will clone all local variables, effects, action queue and transition info (triggers, doors) for the object.
Returns
The newly cloned copy of the item.

Implements Anvil.API.NwGameObject.

◆ Close()

async Task Anvil.API.NwDoor.Close ( )
inline

Closes this door.

◆ Create()

static ? NwDoor Anvil.API.NwDoor.Create ( string  template,
Location  location,
string?  newTag = null 
)
inlinestatic

Creates a door at the specified location.

Parameters
templateThe door resref template from the toolset palette.
locationThe location where this door will spawn.
newTagThe new tag to assign this door. Leave uninitialized/as null to use the template's tag.

◆ GetBaseSavingThrow()

int Anvil.API.NwDoor.GetBaseSavingThrow ( SavingThrow  savingThrow)
inline

Gets this door's base save value for the specified saving throw.

Parameters
savingThrowThe type of saving throw.
Returns
The creature's base saving throw value.
Exceptions
ArgumentOutOfRangeExceptionThrown if savingThrow is not Fortitude, Reflex, or Will.

◆ IsDoorActionPossible()

bool Anvil.API.NwDoor.IsDoorActionPossible ( DoorAction  action)
inline

Determines whether the specified action can be performed on this door.

Parameters
actionThe action to check.
Returns
true if the specified action can be performed, otherwise false.

◆ Open()

async Task Anvil.API.NwDoor.Open ( )
inline

Opens this door.

◆ SetBaseSavingThrow()

void Anvil.API.NwDoor.SetBaseSavingThrow ( SavingThrow  savingThrow,
sbyte  newValue 
)
inline

Sets this door's base save value for the specified saving throw.

Parameters
savingThrowThe type of saving throw.
newValueThe new base saving throw.
Exceptions
ArgumentOutOfRangeExceptionThrown if savingThrow is not Fortitude, Reflex, or Will.

Property Documentation

◆ DialogResRef

string? Anvil.API.NwDoor.DialogResRef
getset

Gets or sets the dialog ResRef for this door.

◆ DoorOpenState

DoorOpenState Anvil.API.NwDoor.DoorOpenState
getset

Gets or sets the open state for this door.

Changing this property will not fire the door's OnOpen/OnClose event.
Use the OnDoorSetOpenState event to handle state changes to the door.


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