Anvil
|
Base class for all entities in areas. More...
Public Member Functions | |||||
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... | |||||
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< NwCreature > | GetNearestCreatures () | ||||
Returns the creatures closest to this object. More... | |||||
IEnumerable< NwCreature > | GetNearestCreatures (CreatureTypeFilter filter1) | ||||
Returns the creatures closest to this object, matching the specified criteria. More... | |||||
IEnumerable< NwCreature > | GetNearestCreatures (CreatureTypeFilter filter1, CreatureTypeFilter filter2) | ||||
Returns the creatures closest to this object, matching all of the specified criteria. More... | |||||
IEnumerable< NwCreature > | GetNearestCreatures (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.
| |||||
void | ResetMaterialShaderUniforms (string material, string param) | ||||
Resets the specified material shader parameter override for the specified material.
| |||||
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 () | ||||
T | 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... | |||||
Protected Member Functions | |
abstract void | AddToArea (CNWSArea area, float x, float y, float z) |
T | CloneInternal< T > (Location location, string? newTag, bool copyLocalState) |
Protected Member Functions inherited from Anvil.API.NwObject | |
NwObject (ICGameObject gameObject) | |
void | AssertObjectValid () |
Properties | |
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... | |
NwArea? | Area [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.OnAcquireItem > | OnAcquireItem |
Action< OnChatMessageSend > | OnChatMessageSend |
Action< OnDisarmWeapon > | OnDisarmWeapon |
Action< OnDispelMagicApply > | OnDispelMagicApply |
Action< OnEffectApply > | OnEffectApply |
Action< OnEffectRemove > | OnEffectRemove |
Action< OnHeal > | OnHeal |
Action< OnSpellBroadcast > | OnSpellBroadcast |
Action< OnSpellCast > | OnSpellCast |
Action< OnSpellInterrupt > | OnSpellInterrupt |
Action< ModuleEvents.OnUnacquireItem > | OnUnacquireItem |
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... | |
NwGameObject? | TransitionTarget [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< ObjectVariable > | LocalVariables [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< NwObject > | FindObjectsWithTag (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... | |
Base class for all entities in areas.
|
inline |
Casts a spell at an location.
spell | The spell to cast. |
target | The target for the spell. |
metaMagic | Metamagic that should be applied to the spell. |
cheat | If true, this object doesn't have to be able to cast the spell. |
projectilePathType | The type of projectile path to use for this spell. |
instant | If true, the spell is cast immediately. |
spellClass | If specified, the spell will be cast using that class specifically. Null will use spell abilities instead. |
spontaneousCast | If true, the creature will attempt to cast the given spell spontaneously. Requires class parameter is set to a valid class with spontaneous cast spells. |
domainLevel | Specifies the spell level if the spell is to be cast as a domain spell. |
|
inline |
Casts a spell at an object.
spell | The spell to cast. |
target | The target for the spell. |
metaMagic | Metamagic that should be applied to the spell. If class is specified, cannot be MetaMagic.Any. |
cheat | If true, this object doesn't have to be able to cast the spell. Ignored if class is specified. |
domainLevel | Specifies the spell level if the spell is to be cast as a domain spell. |
projectilePathType | The type of projectile path to use for this spell. |
instant | If true, the spell is cast immediately. |
spellClass | If specified, the spell will be cast using that class specifically. Null will use spell abilities instead. |
spontaneousCast | If true, the creature will attempt to cast the given spell spontaneously. Requires class parameter is set to a valid class with spontaneous cast spells. |
|
inline |
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.
location | The location to attempt to jump to. |
|
inline |
Instructs this object to do nothing for the specified duration, before continuing with the next item in the action queue.
duration | The time to wait. |
|
inline |
Applies the specified effect to this game object.
durationType | The duration type to apply with this effect. |
effect | The effect to apply. |
duration | If duration type is EffectDuration.Temporary, the duration of this effect. |
|
inline |
Clears the specified animation override, restoring the original.
anim | The name of the original animation to clear. |
|
pure virtual |
Creates a copy of this game object.
location | The location to create the cloned object. |
newTag | A new tag to assign the cloned object. |
copyLocalState | If true, will clone all local variables, effects, action queue and transition info (triggers, doors) for the object. |
Implemented in Anvil.API.NwWaypoint, Anvil.API.NwTrigger, Anvil.API.NwStore, Anvil.API.NwSound, Anvil.API.NwPlaceable, Anvil.API.NwItem, Anvil.API.NwEncounter, Anvil.API.NwDoor, Anvil.API.NwCreature, and Anvil.API.NwAreaOfEffect.
|
inlinevirtual |
Destroys this object (irrevocably).
Reimplemented in Anvil.API.NwEncounter.
|
inline |
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.
target | The other object to calculate distance from. |
|
inline |
Returns the squared distance to the target.
target | The other object to calculate distance from. |
|
inline |
Immediately ends this GameObject's current conversation.
|
inline |
Rotates this object to face towards target.
target | The target object to face. |
|
inlinevirtual |
Rotates this object to face a position.
point | The position to face towards. |
Reimplemented in Anvil.API.NwStationary.
|
inline |
Gets the color for the specified color channel.
colorChannel | The color channel that you want to get the color value of. |
|
inline |
Returns the creatures closest to this object.
|
inline |
Returns the creatures closest to this object, matching the specified criteria.
filter1 | A filter created using CreatureTypeFilter. |
|
inline |
Returns the creatures closest to this object, matching all of the specified criteria.
filter1 | A filter created using CreatureTypeFilter. |
filter2 | A 2nd filter created using CreatureTypeFilter. |
|
inline |
Returns the creatures closest to this object, matching all of the specified criteria.
filter1 | A filter created using CreatureTypeFilter. |
filter2 | A 2nd filter created using CreatureTypeFilter. |
filter3 | A 3rd filter created using CreatureTypeFilter. |
|
inline |
Gets the nearest object that is of the specified type.
T | The type of object to search. |
T | : | NwGameObject |
|
inline |
Gets the visual transform of this object for the specified scope.
scope | The transform scope to get. |
|
inline |
Gets whether this object has a direct line of sight to the specified object (not blocked by any geometry).
target | The target object to perform the line of sight check against. |
|
inlinevirtual |
Attempts to get the UUID of this object, if assigned.
Implements Anvil.API.NwObject.
|
inline |
Plays the specified animation.
animation | Constant value representing the animation to play. |
animSpeed | Speed to play the animation. |
queueAsAction | If true, enqueues animation playback in the object's action queue. |
duration | Duration to keep animating. Not used in fire and forget animations. |
|
inline |
Plays the specified sound as mono audio from the location of this object.
soundName | The name of the sound to play. |
|
inline |
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.
strRef | String reference number of the sound to play. |
runAsAction | Determines if this is an action that can be stacked on the action queue. |
The strRef values for sounds can be found in the file dialog.tlk in the NWN install directory.
|
inline |
Removes the specified effect from this game object.
effect | The existing effect instance. |
|
inline |
Replaces the specified animation with an override.
Use ClearObjectAnimationOverride to clear the override.
anim | The animation to replace. |
newAnim | The replacement animation. |
|
inline |
Replaces the specified texture with a new texture on this object only.
texture | The texture to be replaced. |
newTexture | The replacement texture. |
|
inline |
Resets all material shader parameter overrides on this object.
|
inline |
Resets all material shader parameter overrides for the specified material on this object.
material | The material on the object to be reset. |
|
inline |
Resets the specified material shader parameter override for the specified material.
material | The material on the object to be reset. |
param | The parameter override to reset. |
|
inline |
Performs a saving throw against the given dc.
savingThrow | The type of saving throw to make (Fortitude/Reflex/Will). |
dc | Difficulty class. |
saveType | The sub-type of this save (Mind effect, etc). |
saveVs | The creature this object is making the save against. |
ArgumentOutOfRangeException | Thrown if savingThrow is not Fortitude, Reflex, or Will. |
|
inline |
Sets the color for the specified color channel.
colorChannel | The color channel to modify. |
newColor | The color channel's new color index. |
|
inline |
Rotates this object to face the specified facing angle.
facing | The angle to face. |
|
inline |
Sets whether this object is destroyable.
destroyable | If false, this creature does not fade out on death, but sticks around as a corpse. |
raiseable | If true, this creature can be raised via resurrection. |
selectableWhenDead | If true, this creature is selectable after death. |
|
inline |
Sets a listen pattern for this object, assigning a pattern number that is accessible from the related object's OnConversation event.
pattern | The pattern to match the message against. This is not regex, but a custom pattern format. See the remarks for more info. |
patternNumber | The pattern number to assign, on a successful match. |
Pattern Format:
** will match zero or more characters
*w one or more whitespace
*n one or more numeric
*p one or more punctuation
*a one or more alphabetic
| is or
( and ) can be used for block.
Setting a creature to listen for "**" will match any string
Telling him to listen for "**funk**" will match any string that contains the word "funk".
"**(bash|open|unlock)**(chest|door)**" will match strings like "open the door please" or "he just bashed that chest!"
|
inline |
Sets a material shader uniform override.
material | The material on the object to modify. |
param | The parameter to override. |
value | The new parameter value. |
|
inline |
Sets a material shader uniform override.
material | The material on the object to modify. |
param | The parameter to override. |
value | The new parameter value. |
|
inline |
Sets a material shader uniform override.
material | The material on the object to modify. |
param | The parameter to override. |
value | The new parameter value. |
|
inline |
Sets a text override for the hover/tab-highlight text of this object.
mode | How the text should be applied. |
text | The text override. |
|
get |
Gets all effects (permanent and temporary) that are active on this game object.
|
get |
Gets the current animation state of this object.
|
get |
Gets the area this object is currently in.
|
get |
Gets the caster level of this object.
A creature will return the caster level of their currently cast spell or ability, or the item's caster level if an item was used.
A placeable will return an automatic caster level: floor(10, (spell innate level * 2) - 1)
An Area of Effect object will return the caster level that was used to create the Area of Effect.
Otherwise, returns 0
|
getset |
Gets or sets the highlight color of this object.
|
getset |
Gets or sets the current HP for this object.
|
get |
Gets a value indicating whether this object is in a conversation.
|
getset |
Gets or sets if this object should be listening for chat patterns, via the listen pattern system.
|
getset |
Gets or sets the location of this object.
|
getset |
Gets or sets the maximum HP for this object. Returns 0 if this object has no defined HP.
|
getset |
Gets or sets the mouse cursor for this object.
|
getset |
Gets or sets a value indicating whether the plot flag is enabled.
|
getset |
Gets or sets the PortraitId of this (game object).
When this property is set to null, the ID will be set to NWScript.PORTRAIT_INVALID (65535).
When this property is invalid, the portrait from PortraitResRef will be used instead.
|
getset |
Gets or sets the Portrait ResRef for this object.
Setting this property will automatically set PortraitId to invalid, ensuring this property is used instead.
|
getset |
Gets or sets the local area position of this GameObject.
|
getset |
Gets or sets the world rotation for this object.
|
getset |
Gets or sets the transition target for this object.
|
getset |
Gets or sets flags for controlling Ui discovery of this object.
|
getset |
Gets or sets a value indicating whether this object should be useable (clickable).
|
getset |
Gets or sets the global visiblity override for this object.
|
getset |
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.
|
get |
Gets the base visual transform for this object.
Use GetVisualTransform to get the visual transform for other scopes for this object.