Anvil
Anvil.API.NwEncounter Class Reference

An encounter trigger that spawns creatures. More...

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

Public Member Functions

override NwEncounter Clone (Location location, string? newTag=null, bool copyLocalState=true)
 Creates a copy of this game object. More...
 
override void Destroy ()
 Destroys this object (irrevocably). More...
 
IEnumerable< NwGameObjectGetObjectsInEncounterArea (ObjectTypes objectTypes=ObjectTypes.All)
 Gets all objects of the given types that are currently in this encounter trigger. More...
 
IEnumerable< T > GetObjectsInEncounterArea< T > ()
 Gets all objects of the given type that are currently in this encounter trigger. More...
 
override? byte[] Serialize ()
 
- 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...
 
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...
 
virtual async Task FaceToPoint (Vector3 point)
 Rotates this object to face a position. 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 ? NwEncounter Create (string template, Location location, string? newTag=null)
 
static ? NwEncounter Deserialize (byte[] serialized)
 
static implicit operator CNWSEncounter? (NwEncounter? encounter)
 
- 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

bool Active [get, set]
 Gets or sets a value indicating whether this encounter is spawned and active. More...
 
bool CanReset [get, set]
 Gets or sets if this encounter respawns or not. More...
 
IReadOnlyList< EncounterListEntryCreatureList [get]
 Gets the list of creatures that can be spawned by this encounter. More...
 
EncounterDifficulty Difficulty [get, set]
 Gets or sets the difficulty of this encounter. More...
 
NwFaction Faction [get, set]
 Gets or sets the faction for this encounter. More...
 
int MaxSpawnedCreatures [get]
 Gets the maximum amount of creatures that this encounter will spawn. More...
 
int MaxSpawns [get, set]
 Gets or sets the max amount of spawns this encounter can generate. More...
 
int MinSpawnedCreatures [get]
 Gets the minimum amount of creatures that this encounter will spawn. More...
 
int NumSpawnedCreatures [get]
 Gets the number of creatures that are spawned and alive. More...
 
Action< EncounterEvents.OnEnterOnEnter
 
Action< EncounterEvents.OnExhaustedOnExhausted
 
Action< EncounterEvents.OnExitOnExit
 
Action< EncounterEvents.OnHeartbeatOnHeartbeat
 
Action< EncounterEvents.OnUserDefinedOnUserDefined
 
bool PlayerTriggeredOnly [get, set]
 Gets or sets if this encounter is player triggered only. More...
 
TimeSpan ResetTime [get, set]
 Gets or sets the reset time of this encounter. More...
 
IReadOnlyList< EncounterSpawnPointSpawnPointList [get]
 Gets the list of spawn points that creatures can spawn at from this encounter. More...
 
int Spawns [get, set]
 Gets or sets the total amount of spawns this encounter has generated. 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

An encounter trigger that spawns creatures.

Member Function Documentation

◆ Clone()

override NwEncounter Anvil.API.NwEncounter.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.

◆ Destroy()

override void Anvil.API.NwEncounter.Destroy ( )
inlinevirtual

Destroys this object (irrevocably).

Reimplemented from Anvil.API.NwGameObject.

◆ GetObjectsInEncounterArea()

IEnumerable<NwGameObject> Anvil.API.NwEncounter.GetObjectsInEncounterArea ( ObjectTypes  objectTypes = ObjectTypes.All)
inline

Gets all objects of the given types that are currently in this encounter trigger.

Parameters
objectTypesThe types of object to return.
Returns
An enumerable containing all objects currently in the encounter area.

◆ GetObjectsInEncounterArea< T >()

IEnumerable<T> Anvil.API.NwEncounter.GetObjectsInEncounterArea< T > ( )
inline

Gets all objects of the given type that are currently in this encounter trigger.

Template Parameters
TThe type of objects to return.
Returns
An enumerable containing all objects currently in the encounter area.
Type Constraints
T :NwGameObject 

Property Documentation

◆ Active

bool Anvil.API.NwEncounter.Active
getset

Gets or sets a value indicating whether this encounter is spawned and active.

◆ CanReset

bool Anvil.API.NwEncounter.CanReset
getset

Gets or sets if this encounter respawns or not.

◆ CreatureList

IReadOnlyList<EncounterListEntry> Anvil.API.NwEncounter.CreatureList
get

Gets the list of creatures that can be spawned by this encounter.

◆ Difficulty

EncounterDifficulty Anvil.API.NwEncounter.Difficulty
getset

Gets or sets the difficulty of this encounter.

◆ Faction

NwFaction Anvil.API.NwEncounter.Faction
getset

Gets or sets the faction for this encounter.

◆ MaxSpawnedCreatures

int Anvil.API.NwEncounter.MaxSpawnedCreatures
get

Gets the maximum amount of creatures that this encounter will spawn.

◆ MaxSpawns

int Anvil.API.NwEncounter.MaxSpawns
getset

Gets or sets the max amount of spawns this encounter can generate.

◆ MinSpawnedCreatures

int Anvil.API.NwEncounter.MinSpawnedCreatures
get

Gets the minimum amount of creatures that this encounter will spawn.

◆ NumSpawnedCreatures

int Anvil.API.NwEncounter.NumSpawnedCreatures
get

Gets the number of creatures that are spawned and alive.

◆ PlayerTriggeredOnly

bool Anvil.API.NwEncounter.PlayerTriggeredOnly
getset

Gets or sets if this encounter is player triggered only.

◆ ResetTime

TimeSpan Anvil.API.NwEncounter.ResetTime
getset

Gets or sets the reset time of this encounter.

◆ SpawnPointList

IReadOnlyList<EncounterSpawnPoint> Anvil.API.NwEncounter.SpawnPointList
get

Gets the list of spawn points that creatures can spawn at from this encounter.

◆ Spawns

int Anvil.API.NwEncounter.Spawns
getset

Gets or sets the total amount of spawns this encounter has generated.


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