Anvil
Anvil.API.NwStore Class Reference

A store object for bartering, and items to purchase. More...

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

Public Member Functions

void AcquireItem (NwItem item)
 Adds the specified item to this store's inventory. More...
 
override NwStore Clone (Location location, string? newTag=null, bool copyLocalState=true)
 Creates a copy of this game object. More...
 
void Open (NwPlayer player, int bonusMarkup=0, int bonusMarkDown=0)
 Open oStore for oPC.
You can mark up or down the prices with the optional parameters.
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...
 
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< 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 ? NwStore Create (string template, Location location, bool useAppearAnim=false, string newTag="")
 
static ? NwStore Deserialize (byte[] serialized)
 
static implicit operator CNWSStore? (NwStore? store)
 
- 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 BuyStolenGoods [get, set]
 Gets or sets if this store purchases stolen goods. More...
 
IReadOnlyList< NwCreature >? CurrentCustomers [get]
 Gets the current customers of this store. More...
 
int CustomerCount [get]
 Gets the number of current customers using this store. More...
 
int IdentifyCost [get, set]
 Gets or sets the amount this store charges to identify an item.
Returns -1 if the store does not identify items. More...
 
IEnumerable< NwItemItems [get]
 Gets all items belonging to this store's inventory. More...
 
int MarkDown [get, set]
 Gets or sets the base markdown price for items sold to this store. More...
 
int MarkDownStolen [get, set]
 Gets or sets the base markdown price for stolen items sold to this store. More...
 
int MarkUp [get, set]
 Gets or sets the base markup price for items in the store's inventory. More...
 
int MaxBuyPrice [get, set]
 Gets or sets the maximum price this store will pay for an item.
Returns -1 if the store has no limit. More...
 
Action< StoreEvents.OnCloseOnClose
 
Action< StoreEvents.OnOpenOnOpen
 
int StoreGold [get, set]
 
IList< NwBaseItem?>???? WillNotBuyItems [get]
 Gets the list of base item types that this store will not buy.
Has precedence over WillOnlyBuyItems. More...
 
IList< NwBaseItem?>???? WillOnlyBuyItems [get]
 Gets the list of base item types that this store will only buy.
Does nothing if WillNotBuyItems is populated. 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 store object for bartering, and items to purchase.

Member Function Documentation

◆ AcquireItem()

void Anvil.API.NwStore.AcquireItem ( NwItem  item)
inline

Adds the specified item to this store's inventory.

Parameters
itemThe item to add.

◆ Clone()

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

◆ Open()

void Anvil.API.NwStore.Open ( NwPlayer  player,
int  bonusMarkup = 0,
int  bonusMarkDown = 0 
)
inline

Open oStore for oPC.
You can mark up or down the prices with the optional parameters.

Parameters
playerThe player to present the store.
bonusMarkupA number in percent to mark up prices. (Default: 0).
bonusMarkDownA number in percent to mark down prices. (Default: 0).

If bonusMarkup is given a value of 10, prices will be 110% of the normal prices.

Property Documentation

◆ BuyStolenGoods

bool Anvil.API.NwStore.BuyStolenGoods
getset

Gets or sets if this store purchases stolen goods.

◆ CurrentCustomers

IReadOnlyList<NwCreature>? Anvil.API.NwStore.CurrentCustomers
get

Gets the current customers of this store.

◆ CustomerCount

int Anvil.API.NwStore.CustomerCount
get

Gets the number of current customers using this store.

◆ IdentifyCost

int Anvil.API.NwStore.IdentifyCost
getset

Gets or sets the amount this store charges to identify an item.
Returns -1 if the store does not identify items.

◆ Items

IEnumerable<NwItem> Anvil.API.NwStore.Items
get

Gets all items belonging to this store's inventory.

◆ MarkDown

int Anvil.API.NwStore.MarkDown
getset

Gets or sets the base markdown price for items sold to this store.

◆ MarkDownStolen

int Anvil.API.NwStore.MarkDownStolen
getset

Gets or sets the base markdown price for stolen items sold to this store.

◆ MarkUp

int Anvil.API.NwStore.MarkUp
getset

Gets or sets the base markup price for items in the store's inventory.

◆ MaxBuyPrice

int Anvil.API.NwStore.MaxBuyPrice
getset

Gets or sets the maximum price this store will pay for an item.
Returns -1 if the store has no limit.

◆ WillNotBuyItems

IList<NwBaseItem?>???? Anvil.API.NwStore.WillNotBuyItems
get

Gets the list of base item types that this store will not buy.
Has precedence over WillOnlyBuyItems.

◆ WillOnlyBuyItems

IList<NwBaseItem?>???? Anvil.API.NwStore.WillOnlyBuyItems
get

Gets the list of base item types that this store will only buy.
Does nothing if WillNotBuyItems is populated.


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