Table of Contents

Namespace Anvil.API

Classes

AppearanceTableEntry

A creature appearance table entry (appearance.2da)

ArmorTableEntry
BodyBagTableEntry
CallInfo

Meta information for script calls, consumed by ScriptHandler attributed methods in service classes.

CampaignVariable
CampaignVariableBool
CampaignVariableEnum<T>
CampaignVariableFloat
CampaignVariableGuid
CampaignVariableInt
CampaignVariableLocation
CampaignVariableObject<T>
CampaignVariableString
CampaignVariableVector
CampaignVariable<T>
Cassowary

Represents a Cassowary engine structure.
A Cassowary is a type of solver. NWN uses them internally to resize the newer GUI window.

CassowaryException

Exception thrown when a Cassowary solver operation fails.

CassowaryStrength

Strength constants for Cassowary solver constraints.

ClassAbilityGainList
ClassFeat
ClassPreReqTableEntry
ClassSkill
ClassSpellGainList
CollectionExtensions

Various class extensions for generic collections.

ColorConstants
CreatureClassInfo

Class-specific information for a creature, including domains, spellbook, and level details. Provides access to known spells and memorized slots for a single class progression.

CreatureLevelInfo

Provides level-specific data for a creature, including the chosen class, feats gained, hit die result, skill points, ability increase, and spellbook changes.

CreatureModelNumber
CreatureSpellAbility

Represents a spell-like ability on a creature.

DamageLevelEntry
DebugOptions
Direction
Effect

Represents an effect engine structure.

EffectBase

Base type for effect and item property engine structures, exposing parameter arrays and common metadata.

EffectIconTableEntry

An effect icon table entry (effecticons.2da)

EffectParams<T>

Represents an array of Effect parameters.

EncounterListEntry

Represents a single creature entry in an encounter's spawn list, including blueprint, challenge rating, uniqueness, and usage state.

EncounterSpawnPoint

Describes a specific spawn location used by an encounter, including position and facing.

EngineStructure

A pointer-type VM structure.

EnvironmentPreset

An environment preset defined in environment.2da

ExpTableEntry
ExpTableExtensions
FadeSpeed
GffResource
GffResourceField

A property/field in a GffResource.

GffResourceFieldList

A GffResourceField containing a list of GffResourceFieldStruct values.

GffResourceFieldStruct

A GffResourceField containing a structure of key/value pairs.

GffResourceFieldValue

A regular GffResourceField containing a primitive value.

GuidExtensions

GUID/UUID extension methods for resolving game objects, and GUID serialisation.

IntegerExtensions

Integer and object ID interop helpers for NWScript.

Inventory

Provides inventory access for an object, including item enumeration and fit checks against the repository grid.

ItemAppearance

Provides structured access to an item's visual appearance (models and colors), and utilities for cloning, copying, and serializing/deserializing appearance data.

ItemProperty

Represents an item property effect engine structure.

ItemPropertyCostTableEntry
ItemPropertyCostTablesEntry
ItemPropertyItemMapTableEntry
ItemPropertyParamTableEntry
ItemPropertyParamTablesEntry
ItemPropertySubTypeTableEntry
ItemPropertyTableEntry
JoiningRestrictions
JournalEntry
Json

Represents a json engine structure.

JsonUtility

Utility methods for serializing/deserializing JSON data.

LightColorTableEntry
LoadScreenTableEntry
LocalVariableBool
LocalVariableCassowary
LocalVariableEnum<T>
LocalVariableFloat
LocalVariableGuid
LocalVariableInt
LocalVariableLocation
LocalVariableObject<T>
LocalVariableString
LocalVariableStruct<T>

A local variable generic structure.

LocalVariable<T>
Location

A location in the module, represented by area, position and orientation.

MemorizedSpellSlot
NativeUtils
NuiBindStrRef

A NUI property binding for localized strings (StrRef) that can be updated after being sent to the client.

NuiBind<T>

A NUI property binding that can be updated after being sent to the client.

NuiButton

A clickable button with text as the label.

NuiButtonImage

A clickable button with an image as the label.

NuiButtonSelect

A clickable button with text as the label.
Same as NuiButton, but this one is a toggle.

NuiChart

A line/column chart element.

NuiChartSlot

A chart element/data set for use in NuiChart.

NuiCheck

A checkbox with a label to the right of it.

NuiColorPicker

A simple color picker, with no borders or spacing.

NuiColumn

A layout element that will auto-space all elements inside of it and advise the parent about its desired size.

NuiCombo

A dropdown menu/combobox.

NuiComboEntry

A combo/list element for use in NuiCombo.

NuiDrawListArc

A circular arc rendered within a draw list.

NuiDrawListCircle

A circle rendered within a draw list.

NuiDrawListCurve

A Bezier curve rendered within a draw list.

NuiDrawListImage
NuiDrawListItem

The abstract base for draw list items rendered within a NUI draw list.

NuiDrawListLine

A straight line rendered within a draw list.

NuiDrawListPolyLine

A sequence of connected straight line segments rendered within a draw list.

NuiDrawListText

A text label rendered within a draw list.

NuiElement

A dynamic NUI element with style support.

NuiGroup

A group, usually with a border and some padding, holding a single element. Can scroll.
Will not advise parent of size, so you need to let it fill a span (col/row) as if it was a element.

NuiImage

An image, with no border or padding.

NuiLabel

A single-line, styleable, non-editable text field.

NuiLayout

Base class for NUI layout elements that contain child elements.

NuiList

A list view of elements.

NuiListTemplateCell

A cell template for use in NuiList.

NuiOptions

A list of options (radio buttons).
Only one can be selected at a time.

NuiProgress

A generic progress bar.

NuiProperty<T>

A NUI property that can be configured as a static readonly value, or a property that can be updated at runtime.

NuiRow

A layout element that will auto-space all elements inside of it and advise the parent about its desired size.

NuiSlider

A slider bar with integer values.

NuiSliderFloat

A slider bar with floating-point values.

NuiSpacer

A special widget that just takes up layout space.
Configure the space used with the Width and Height properties.

NuiStyle

Common style constants for standard NUI control dimensions.

NuiText

A non-editable text field. Supports multiple lines and has a skinned border and a scrollbar if needed.

NuiTextEdit

An editable text field. Can be optionally configured as multi-line.

NuiToggles

A tab bar widget presenting selectable toggle elements.

NuiValueConverter

JSON converter for NuiValue<T> that serializes/deserializes only the wrapped value.

NuiValueStrRef

A readonly NUI property value for localized strings (StrRef) that cannot be changed at runtime.

NuiValueStrRefConverter

JSON converter for NuiValueStrRef that serializes/deserializes the contained StrRef.

NuiValue<T>

A readonly NUI property value that cannot be changed at runtime.

NuiWidget

The abstract base for all NUI widgets - the building blocks for creating NUI windows.

NuiWindow

Represents a NUI scriptable window container.

NwArea

An environment/game level.

NwAreaOfEffect

The area/region of an ongoing spell effect or ability.

NwBaseItem

A base item type definition.

NwClass

A creature/character class definition.

NwCreature

A monster, NPC, player character or DM avatar

NwDomain

A selectable domain type used by classes with the HasDomains property (e.g. clerics)

NwDoor

A tile-based door.

NwEncounter

An encounter trigger that spawns creatures.

NwFaction

The faction info of a Creature/Player/GameObject.

NwFeat

A creature/character feat(ure) definition.

NwGameObject

Base class for all entities in areas.

NwGameTables
NwItem

An item object that can be carried by creatures, stored in placeable containers, or dropped in an anrea.

NwMath

Common math functions and constants.

NwModule

The root container object for all areas and module entities.

NwObject

Base class for all world entities (game objects) and containers (modules, areas).

NwPlaceable

A static world object that is optionally interactable or destroyable.

NwPlayer

A player client connected to the server.

NwRace

The race type of a creature. Contains additional ruleset information about the race.

NwRandom

Functions for generating random values (numbers, names).

NwRuleset

Ruleset definitions for the module.
Classes/Feats/Races/Skills/BaseItems/Spells.

NwServer
NwSkill

A creature/character skill definition.

NwSound

A configurable sound object in an area.

NwSpell

A spell definition.

NwStationary

A stationary game object entity.

NwStore

A store object for bartering, and items to purchase.

NwTask

Asynchronous tasks and helpers for running NWN APIs in an async context.

NwTimeSpan

Helpers to convert game time units to a TimeSpan.

NwTrappable

A trappable game object/entity.

NwTrigger

A trigger volume entity.

NwWaypoint

A waypoint entity that uniquely identifies a location in the module.

ObjectExtensions

Object helpers for resolving player information from game objects.

ObjectStorageVariableBool
ObjectStorageVariableEnum<T>
ObjectStorageVariableFloat
ObjectStorageVariableGuid
ObjectStorageVariableInt
ObjectStorageVariableString
ObjectStorageVariableStruct<T>
ObjectStorageVariable<T>
ObjectVariable

A key/value pair/variable stored on an Object.

ObjectVariable<T>
PartsTableEntry
PersistentVariableBool
PersistentVariableEnum<T>
PersistentVariableFloat
PersistentVariableGuid
PersistentVariableInt
PersistentVariableString
PersistentVariableStruct<T>
PersistentVfxTableEntry
PersistentWorldOptions
PlaceableSoundTableEntry
PlaceableTableEntry
PlaceableTypeTableEntry

A placeable type table entry (placeabletypes.2da)

PlayOptions
PlayerDeviceProperty
PlayerIdConstants
PlayerQuickBarButton
PolymorphTableEntry

A creature polymorph table entry (polymorph.2da)

PortraitTableEntry

A portrait table entry (portraits.2da)

ProgrammedEffectTableEntry
RadiusSize
RandomExtensions

Extensions to the Random class for reimplementing native random functions (Dice and Ranges).

ReflectionExtensions

Reflection helpers for attributes, metadata, and member naming.

RulesetKeys
SQLQuery

A SQL Query.

SQLResult

Represents a row returned in an SQL result. See Result/Results.

ScriptConstants
ScriptParams
ServerInfo
SkillItemCostTableEntry
SpecialAbility
StringExtensions

String helpers for script names, object ID parsing, color tokens, and common conversions.

SurfaceMaterialTableEntry
Talent

Represents a talent structure. A talent is a feat, skill or spell possessed by a creature.

TalentExtensions
TileData

Represents a tile configuration at a location.

TileInfo

Area tile information

TilesetResRef
Time

Interface for querying time information for the current frame or since startup.

TwoDimArray

A two dimensional array data resource.

TwoDimArrayEntry

2da row data.

TwoDimArray<T>

A two dimensional array resource, with a decoded row type.

VirtualMachine

Standard and Low Level methods and properties for querying/interacting with the NwScript virtual machine.

VisualEffectTableEntry
VisualTransform
VisualTransformLerpSettings
WorldTimer

Structs

CRulesKeyHash
Color

A 8 bit Color structure.

CreatureTypeFilter

Represents a composable filter used to match creatures by a specific criterion (alive state, class, race, spell effects, perception, player control, or reputation).

HitEffect

Represents an "On Hit" item property effect, for use with OnHitEffect(IPOnHitSaveDC, HitEffect).

MonsterHitEffect

Represents a monster "On Hit" item property effect, for use with OnMonsterHitProperties(MonsterHitEffect).

NuiRect

Represents an axis-aligned rectangle in NUI coordinate space.

NuiVector

Represents a 2D vector in NUI coordinate space.

NuiWindowToken

Represents a NUI window instance for a certain player.

NwDateTime
StrRef

A talk table (tlk) string reference.

StrTokenCustom
Vector2Int

A vector with two 32 bit integer values.

Interfaces

IAwaitable

Explicit interface to support the compiling of async/await.

IAwaitable<TResult>

Explicit interface to support the compiling of async/await.

IAwaiter

Explicit interface for an awaiter. An awaiter is a system that will run an async operation and schedule a continuation when it completes.

IAwaiter<TResult>

Explicit interface for an awaiter. An awaiter is a system that will run an async operation and schedule a continuation when it completes.

ITwoDimArrayEntry

Implement to decode TwoDimArrayEntry into a type using GetTable<T>(string?, bool, bool).

Enums

ACBonus
Ability
Action
ActionMode
ActionState
AddPropPolicy
AiLevel
Alignment
AmbientSound
AnimalCompanionCreatureType
Animation
AnimationState
AppearanceType
AreaDestroyResult
AreaFlags

Flags that describe high-level properties of an area. These values can be combined to represent multiple properties at once.

AreaLightColor
AreaLightDirection
AreaSizeDimension
AreaTransition
AssociateCommand
AssociateType
AttackBonus
Attitude
AudioStreamIdentifier
BaseItemAmmunitionType
BaseItemCategory
BaseItemModelType
BaseItemQBBehaviour
BaseItemRotation
BaseItemType
BaseItemWeaponSize
BaseItemWeaponWieldType
BodyNode
CameraFlag
CameraMode
CameraTransitionType
ChatBarChannel
ClassFeatListTypes
ClassPreReqType
ClassRestrictionTypes
ClassRestrictions
ClassType
ColorChannel
CombatMode
CreaturePart
CreatureSize
CreatureTailType
CreatureType
CreatureWingType
DamageBonus
DamagePower
DamageType
DayNightMode

Controls how an area handles time-of-day visuals and lighting.

DiseaseType
Domain
DoorAction
DoorOpenState
EffectDuration
EffectIcon
EffectRunScriptType
EffectSubType
EffectType
EncounterDifficulty
EquipmentSlots
EventScriptType
EventType
FamiliarCreatureType
Feat
FogColor
FogType
FootstepType
GUIPanel
GameDifficulty
Gender
GffResourceFieldType
GuiEventType
IPACModifierType
IPAbility
IPAdditional
IPAlignment
IPAlignmentGroup
IPAmmoType
IPArcaneSpellFailure
IPCastSpell
IPCastSpellNumUses
IPClass
IPContainerWeightReduction
IPDamageBonus
IPDamageImmunityType
IPDamageReduction
IPDamageResist
IPDamageSoak
IPDamageType
IPDamageVulnerabilityType
IPFeat
IPLightBrightness
IPLightColor
IPMiscImmunity
IPMonsterDamage
IPOnHit
IPOnHitCastSpell
IPOnHitDuration
IPOnHitSaveDC
IPOnMonsterHit
IPPoisonDamage
IPQuality
IPRacialType
IPReducedWeight
IPSaveBaseType
IPSaveVs
IPSpellImmunity
IPSpellLevel
IPSpellResistanceBonus
IPSpellSchool
IPTrapStrength
IPTrapType
IPUnlimitedAmmoType
IPWeightIncrease
ImmunityType
InventoryDisturbType
InventorySlot
InvisibilityType
ItemAppearanceArmorColor
ItemAppearanceType
ItemAppearanceWeaponColor
ItemAppearanceWeaponModel
ItemPropertyType
ItemVisual
LastAttackMode
MetaMagic
MissChanceType
MouseCursor
MovementRate
MovementType
NameTable
NuiAspect

Specifies how content should scale within its container in NUI.

NuiChartType

Chart rendering type for NUI charts.

NuiDirection

Layout direction used by NUI controls.

NuiDrawListItemOrder

Relative render order for draw list items.

NuiDrawListItemRender

Conditions under which a draw list item should render.

NuiDrawListItemType

Draw list item geometry type for NUI rendering.

NuiEventType
NuiHAlign

Horizontal alignment for NUI content.

NuiMouseButton

Mouse button identifiers used in NUI interactions.

NuiScrollbars

Scrollbar visibility and axis selection for NUI containers.

NuiVAlign

Vertical alignment for NUI content.

ObjectTypes
ObjectUiDiscovery
ObjectUiTextBubbleOverride
ObjectVisualTransform
ObjectVisualTransformBehavior
ObjectVisualTransformDataScope
PVPSetting
PackageType
PanelButton
PerceptionEventType
PerceptionType
PersistentVfxType
PersistentZone
Phenotype
PlaceableAction
PlayerLanguage
PlayerPlatform
PlayerSearch

Specifies how to resolve an NwPlayer from an object ID.

PoisonType
PolymorphType
ProgFxType
ProjectilePathType
QuickBarButtonType
RacialType
RegexpFormat
RegexpMatch
RegexpType
ReputationType
ResRefType
ResistSpellResult
RestEventType
SavingThrow
SavingThrowResult
SavingThrowType
ScreenAnchor
SettleFlags
ShaderUniform
ShadowSize
ShakeType
Shape
Skill
SkillResult
Skybox
SpecialAttack
Spell
SpellCastAnimType
SpellComponents
SpellConjureAnimType
SpellFailureType
SpellProjectileOrientation
SpellProjectileSpawnPoint
SpellRange
SpellSchool
SpellTargetTypes
SpellTargetingFlags
SpellTargetingShape
SpellUserType
StandardFaction
StoreCategory
SubSkill
Subfeat
TalentCategory
TalentType
TalkVolume
TileMainLightColor
TileRotation
TileSourceLightColor
TouchAttackResult
Track
TrapBaseType
VfxType
VibratorMotor
VisualTransformLerpType
VoiceChatType
WeatherType