Releases: nwn-dotnet/Anvil
Releases · nwn-dotnet/Anvil
Release 8193.37.0
Added
- Plugins: Added support to disable loading plugins on startup with new environment variable,
ANVIL_PLUGINNAME_SKIP
- Plugins: Implemented new API for loading/unloading isolated plugins at runtime.
- To mark a plugin as "isolated", add the
PluginInfo
assembly attribute withIsolated
=true
. - To load the isolated plugin, call the
PluginManager.LoadPlugin
method. - To unload the isolated plugin, call the
PluginManager.UnloadPlugin
method.
- To mark a plugin as "isolated", add the
- PlayerDeviceProperty: Added new 8193.37 constants.
- PlayerPlatform: Added new 8193.37 constants.
- SavingThrowType: Added new 8193.37 constants.
- SpellFailureType: Added new 8193.37 constants.
- Effect: Added
DamageIncrease
overload with correct constants. - Effect: Added
SummonCreature
overload withNwCreature
parameter instead of string ResRef. - ItemProperty: Added
OnHitCastSpell
overload with correct casterLevel parameter. - CreatureEvents.OnDamaged: Added
GetDamageDealtByType
method. - Events: Added
OnPolymorphApply
event. - Events: Added
OnPolymorphRemove
event. - OnSpellBroadcast: Added
TargetObject
,TargetPosition
properties. - CreatureClassInfo: Added
School
property setter. - NwAreaOfEffect: Added
SetRadius
method. - NwCreature: Added
AnimalCompanionName
property setter. - NwCreature: Added
AnimalCompanionType
property setter. - NwCreature: Added
FamiliarName
property setter. - NwCreature: Added
FamiliarType
property setter. - NwCreature: Added
ActionCloseDoor
method. - NwCreature: Added
ForceLevelUp
method. - NwCreature: Added
ActionOpenDoor
method. - NwCreature: Added
SpellResistanceCheck
method. - NwCreature: Added
SpellImmunityCheck
method. - NwCreature: Added
SpellAbsorptionLimitedCheck
method. - NwCreature: Added
SpellAbsorptionUnlimitedCheck
method. - NwCreature: Added
SummonAnimalCompanion
method. - NwCreature: Added
UnsummonAnimalCompanion
method. - NwCreature: Added
SummonFamiliar
method. - NwCreature: Added
UnsummonFamiliar
method. - NwCreature: Added
Unsummon
method. - NwGameObject: Added
IsDestroyable
property. - NwGameObject: Added
IsRaiseable
property. - NwGameObject: Added
IsSelectableWhenDead
property. - NwItem: Added
GetMinEquipLevelOverride
,SetMinEquipLevelOverride
,ClearMinEquipLevelOverride
methods. - NwPlayer: Added
Latency
property. - NwPlayer: Added
LatencyAverage
property. - NwPlayer: Added
CancelTargetMode
method. - NwPlayer: Added
UpdateCharacterSheet
method. - NwPlaceable/NwTrigger: Added
LockedBy
property. - NwPlaceable/NwTrigger: Added
UnlockedBy
property. - NwRace: Added
GetFavoredEnemyFeat
method. - EnforceLegalCharacterService: Added failure event for too many ability score increases.
Package Updates
- NWNX: 9865013 -> 7fc892a
- NWN.Core: 8193.36.1 -> 8193.37.2
- NWN.Native: 8193.36.2 -> 8193.37.3
- NLog: 5.2.8 -> 5.4.0
- System.Reflection.MetadataLoadContext: 8.0.1
Changed
- Changed NWNX_DotNET interop to use
NWNX.NET
plugin. - Use
NWNX.NET
for encoding strings between UTF-16 and CP-1252. - Effect:
Polymorph
now supports optionalunPolymorphVfx
,spellAbilityModifier
,spellAbilityCasterLevel
parameters. - Effect:
SpellFailure
now supports an optionalfailureType
parameter. - Effect/ItemProperty:
Spell
property is now correctly marked as nullable. - NwCreature:
TouchAttackMelee
method is no-longer async. - NwCreature:
TouchAttackRanged
method is no-longer async. - NwGameObject:
EndConversation
method is now awaitable. - NwGameObject:
FaceToObject
method is no-longer async. - NwGameObject:
FaceToPoint
method is no-longer async. - NwGameObject:
SetFacing
method is no-longer async. - NwModule:
PlayerCount
property is now an int. - NwObject:
ClearActionQueue
method is no-longer async. - ClassFeatListTypes: Renamed to match flags enum naming convention.
Deprecated
ItemProperty.OnHitCastSpell(IPCastSpell, IPSpellLevel)
- use theItemProperty.OnHitCastSpell(IPCastSpell, int)
overload instead.NwCreature.CheckResistSpell(NwGameObject)
- use theNwCreature.SpellResistanceCheck
method instead.NwGameObject.SetIsDestroyable(bool,bool,bool)
- use the IsDestroyable/IsRaiseable/IsSelectableWhenDead properties instead.
Fixed
- ItemProperty:
OnMonsterHitProperties
now correctly uses the "special" parameter. - OnItemUnequip: Fixed a function hook issue.
- SchedulerService: Fixed an issue where scheduling events immediately after reloading anvil would delay the event for the total uptime of the server.
- NwCreature:
BaseAttackBonus
now returns the correct value if the value was not overriden with a custom value. - Paket: Fixed an issue where logs would be printed multiple times after reloading anvil.
- NwCreature: Fixed an issue where setting
AlwaysWalk
tofalse
would not correctly update the encumbrance state of the player. - HookService: Re-implemented as core service, and added new API to persist some function hooks after reloading anvil.
- ObjectStorageService: Re-implemented as core service. Persistent variables should now persist after reloading anvil.
- EnforceLegalCharacterService: Fixed an IndexOutOfRangeException for characters with too many ability score increases.
Pull Requests
- ELC validation failure check on 4th level ability gain by @Chimerik in #754
- Add polymorph events. by @jhett12321 in #756
- Use official Jetbrains InspectCode Github Action by @jhett12321 in #762
- Bump Microsoft.CodeAnalysis.CSharp from 4.8.0 to 4.9.2 by @dependabot in #755
- Fix ClassFeat list type enum. by @jhett12321 in #761
- Use GetLastDamager overload for damage event. by @jhett12321 in #760
- Update NWN.Native to 8193.36.4. Update NWNX to 2f732e7. by @jhett12321 in #768
- Use updated docker compose command. by @jhett12321 in #771
- Fix poor checks in AddItemProperty by @jakkn in #770
- Define EffectBase.Spell as nullable by @jakkn in #773
- Test Runner: Add support for additional nunit args. by @jhett12321 in #775
- Add DamageIncrease method overload to support DamageBonus parameter by @zeroark in #774
- Bump GHA artifact tasks to v4. by @jhett12321 in #777
- New Engine Structure Tests by @jhett12321 in #776
- Adds FavoredEnemyFeat getter by @Chimerik in #766
- Update to .NET 8 by @jhett12321 in #778
- Correctly restore walk rate if player is slowed/encumbered. by @jhett12321 in #786
- .NET 8 code style updates by @jhett12321 in #787
- Test/sample project code style fixes. by @jhett12321 in #788
- Implement isolated plugins, runtime plugin load/unload by @jhett12321 in #751
- OnSpellBroadcast - Add Target & TargetPosition parameters by @Chimerik in #790
- Bump NLog from 5.2.8 to 5.3.4 by @dependabot in #780
- 8193.37 Initial Support by @jhett12321 in #798
- 8193.37 API Updates by @jhett12321 in #799
- NwCreature - Associates by @Chimerik in #795
- Add NWNX.NET version to server log. Use anvil to resolve NWNX.NET dependency. by @jhett12321 in #800
- Refresh IUpdateable list immediately when waiting for plugin unload. by @jhett12321 in #801
- Use correct method/field for base attack bonus. by @jhett12321 in #802
- Add remove effect test. by @jhett12321 in #803
- Remove additional nunit args for now. Update Microsoft.CodeAnalysis.CSharp. by @jhett12321 in #804
- Update GitHub CI Workflows by @jhett12321 in #805
- Bump NLog from 5.3.4 to 5.4.0 by @dependabot in #806
- Update NWNX/NWN.Core/NWN.Native. by @jhett12321 in #809
- Add persistent function hook methods. Change object storage to core service by @jhett12321 in #810
- Bump NWN.Core from 8193.37.1 to 8193.37.2 by @dependabot in #811
- Add ILR override API/service. by @jhett12321 in #812
- Bump Microsoft.CodeAnalysis.CSharp from 4.12.0 to 4.13.0 by @dependabot in #813
- Add UpdateCharacterSheet to NwPlayer. by @jhett12321 in #814
- Add class spell school setter. by @jhett12321 in #816
- Use correct hook service methods for object storage. by @jhett12321 in #817
- Hot reload fixes by @jhett12321 in #818
- Hot reload fixes by @jhett12321 in #819
- Update NWNX/NWN.Core/NWN.Native. by @jhett12321 in #820
New Contributors
- @zeroark made their first contribution in https://github.com/nwn-dotnet/Anvil/...
Release 8193.36.1
Added
- EffectType: Added new 8193.36 constants
- GuiEventType: Added new 8193.36 constants
- PlayerDeviceProperty: Added new 8193.36 constants
- ResRefType: Added new 8193.36 constants and missing constants for 8193.35
- Effect: Added
EnemyAttackBonus
method. - SQLQuery: Added
Columns
property. - SQLResult: Added overloads with column name parameters.
- OnPlayerGuiEvent: Added missing documentation for
EventObject
event types. - NwArea: Added
SetAreaTileBorderDisabled
method. - NwArea: Added
SetAreaGrassOverride
method. - NwArea: Added
RemoveAreaGrassOverride
method. - NwArea: Added
SetAreaDefaultGrassDisabled
method. - NwGameObject: Added
CasterLevel
property. This replacesLastSpellCasterLevel
from NwCreature. - NwCreature: Added
SpellAbilities
property for managing creature spell-like abilities. - NwPlayer: Added
StartAudioStream
method. - NwPlayer: Added
StopAudioStream
method. - NwPlayer: Added
SetAudioStreamPaused
method. - NwPlayer: Added
SetAudioStreamVolume
method. - NwPlayer: Added
SeekAudioStream
method. - CRulesKeyHash: New structure to support working with the new hash-based ruleset key labels.
- RulesetKeys: New constants class with hashed keys for all known ruleset definitions.
- NwGameTables: Added
SurfaceMaterialTable
.
Package Updates
- NWNX: 51162c5 -> 9865013
- NWN.Core: 8193.35.21 -> 8193.36.1
- NWN.Native: 8193.35.9 -> 8193.36.2
- NLog: 5.2.5 -> 5.2.8
Changed
- Effect:
DamageReduction
now supports an optionalrangedOnly
parameter. - Effect:
DamageResistance
now supports an optionalrangedOnly
parameter. - Effect:
EffectType
will return the new types introduced in 8193.36. - NwDoor:
Clone
now uses the sharedCloneInternal
behaviour. - NwEncounter:
Clone
is now supported. - NwGameObject:
ActionCastSpellAt
now supports optionalspellClass
andspontaneousCast
parameters. - NwPlayer:
FloatingTextString
now supports an optionalchatWindow
parameter. - NwPlayer:
FloatingTextStrRef
now supports an optionalchatWindow
parameter. - CampaignVariableObject: Tightened generic constraint to only allow
NwGameObject
instead ofNwObject
to match base game behaviour.
Deprecated
- ItemProperty:
LimitUseByClass(IPClass)
- Use theLimitUseByClass(NwClass)
overload instead.
Fixed
- Fixed
Possessor
not correctly returning bags/containers.
Release 8193.35.3
Removed
- Removed custom crash handler due to preventing dotnet from collecting a crash dump.
Release 8193.35.2
Added
- Effect: Added
AreaOfEffect
overload withPersistentVfxTableEntry
support. - Effect: Added
Polymorph
overload withPolymorphTableEntry
support. - Location: Added
TileInfo
property. - Events: Added
OnDispelMagicApply
event. - NuiDrawList: Added
NuiDrawListItemType.Line
support. - NuiDrawList: Added support for item order and render options.
- NuiDrawList: Added
ImageRegion
property. - NuiImage: Added
ImageRegion
property. - NuiImage: Added
WordWrap
property. - Nui: Added
NuiToggles
widget. - NuiElement: Added
DisabledTooltip
,Encouraged
properties. - NuiWindow: Added
AcceptsInput
property. - CreatureLevelInfo: Added
AbilityGained
property. - NwArea: Added
TileInfo
property. - NwCreature: Added
RemainingSkillPoints
property. - NwCreature: Added
BroadcastSkillRoll
method. - NwCreature: Added
CalculateAbilityModifierFromScore
method. - NwCreature: Added
GetArmorClassVersus
method. - NwCreature: Added parameter to
RemoveFeat
to optionally remove the feat from the level stat list (for ELC). - NwItem: Extended
AddItemProperty
to support additional behaviours for managing existing item properties. - NwItem: Added
CompareItem
method. - NwItem: Added
HasItemProperty
method. - NwItem: Added
RemoveItemProperties
method. - NwModule: Added
RefreshClientObjects
method. - NwPlayer: Added
RefreshClientObject
method. - NwPlayer: Added
RefreshPlayerClientObject
method. - NwServer: Added
DebugMode
,DebugCombat
,DebugSaveThrows
,DebugHitDie
,DebugMoveSpeed
properties. - NwGameTables: Added
PlaceableTypeTable
- NwGameTables: Added
PolymorphTable
- NwGameTables: Added
PortraitTable
- NwGameTables: Added
PersistentEffectTable
- PluginManager: Added support for specifying additional plugin directories with a new environment variable,
ADD_PLUGIN_PATHS
- UnobservedTaskExceptionLogger: Added new service for logging and handling uncaught
async Task
exceptions.
Package Updates
- NWNX: b419e42 -> 51162c5
- NWN.Core: 8193.35.6 -> 8193.35.21
- NWN.Native: 8193.34.6 -> 8193.35.9
- NLog: 5.1.4 -> 5.2.5
Changed
- Effect:
Tag
property is now correctly marked as nullable. - ItemProperty:
Tag
property is now correctly marked as nullable. - OnClientConnect:
PlayerName
,CDKey
properties are no longer nullable. - CreatureLevelInfo:
Feats
property is now a mutable list. - EncounterListEntry:
CreatureResRef
is now correctly marked as nullable. - NwCreature:
DialogResRef
is now correctly marked as nullable. - NwCreature:
TalentBest
,TalentRandom
now returns the correct talent class type. - NwDoor:
DialogResRef
is now correctly marked as nullable. - NwGameObject:
PortraitId
now uses the 2da PortraitTableEntry type. - NwPlaceable:
DialogResRef
is now correctly marked as nullable. - NwBaseItem:
DefaultIcon
is now correctly marked as nullable. - NwBaseItem:
DefaultModel
is now correctly marked as nullable. - NwClass:
IconResRef
,SpellTableColumn
properties are now correctly marked as nullable. - NwClass:
PreReqTable
is now a nullable reference to a TwoDimArray wrapper of the associated class prereq table. - NwDomain:
Icon
is now correctly marked as nullable. - NwFeat:
IconResRef
is now correctly marked as nullable. - NwRace:
DefaultCharacterDescription
,Description
,Name
,PluralName
properties are now correctly marked as nullable. - NwSkill:
IconResRef
is now correctly marked as nullable. - NwSpell:
CastGroundVisual
,CastHandVisual
,CastHeadVisual
,CastSound
,ConjureGroundVisual
,ConjureHandVisual
,ConjureHeadVisual
,ConjureSound
,IconResRef
,ImpactScript
,ProjectileModel
,ProjectileSound
properties are now correctly marked as nullable. - NativeObjectExtensions: Moved to
Anvil.Native
to prevent missing method errors when using other extension overloads, and made public again. - ArrayWrapper: Added additional error checking.
- EnforceLegalCharacterService: Added 8 multiclass support.
- ServerLogRedirectorService: Don't log empty or null messages.
- ScriptDispatchService: Remove redundant try/catch, optimization.
- AnvilCore: Merged
VirtualMachineFunctionHandler
into AnvilCore. - AnvilCore: Use better performant unmanaged function pointers for handling low level events from NWNX.
- AnvilCore: Implement custom crash handler with managed stacktrace.
Deprecated
IPRacialType
- useNwRace
instead.HitEffect.SlayRace
- useNwRace
overload instead.ItemProperty.ACBonusVsRace
- useNwRace
overload instead.ItemProperty.AttackBonusVsRace
- useNwRace
overload instead.ItemProperty.DamageBonusVsRace
- useNwRace
overload instead.ItemProperty.EnhancementBonusVsRace
- useNwRace
overload instead.ItemProperty.LimitUseByRace
- useNwRace
overload instead.DamageData
properties - use GetDamageByType, SetDamageByType instead.
Fixed
- EventService: Built-in game events subscribed in anvil will now preserve the event script identifier when calling the original script.
- ItemAppearance: Now correctly supports the extended appearance types added in 8193.35.
- NwArea:
GetTileInfo
now correctly returns the correct tile when specifying a tile coordinate. - NwCreature: Fixed
ActionUseFeat
subFeat parameter not working. - EnforceLegalCharacterService: Fixed an erroneous calculation when calculating ability scores with a level stat bonus.
- WeaponService: Fixed a rare server crash when calculating levels for a specific class.
Release 8193.35.1
Fixed
- (Docker) Fixed an issue with libssl dependency.
Release 8193.35.0
Added
- DamageType: Added
CustomXX
damage type constants - EffectSubType: Added
Unyielding
subtype. - EffectType: Added
Pacify
,BonusFeat
,TimeStopImmunity
,ForceWalk
effects. - GuiEventType: Added
RadialOpen
- GuiPanel: Added
Tile
,Trigger
,Creature
,Item
,Placeable
,Door
,Quickbar
panels. - PlayerDeviceProperty: Added various graphics properties.
- Effect: Added
BonusFeat
,ForceWalk
,Pacified
,TimeStopImmunity
effect methods. - Effect: Added
LinkId
,IgnoreImmunity
properties. - Location: Added
TileId
,TileRotation
,TileHeight
properties. - Location: Added
SetTile
,SetTileAnimationLoops
methods. - SQLQuery: Added
Reset
method. - ModuleEvents.OnPlayerEquipItem: Added
Slot
property. - ModuleEvents.OnPlayerGuiEvent: Added
Vector
property. - ModuleEvents.OnPlayerUnequipItem: Added
Slot
property. - SpellEvents.OnSpellCast: Added
IsSpontaneousCast
,SpellLevel
properties. - NwArea: Added
ReloadAreaGrass
,ReloadAreaBorder
,SetTiles
,GetAreaLightColor
,SetAreaLightColor
,GetAreaLightDirection
,SetAreaLightDirection
,SetFogColor
methods. - NwCreature: Added
ControllingPlayer
setter. - NwCreature: Added
ActionUseFeat
,GetSpellUsesLeft
,SetEffectIconFlashing
methods - NwGameObject: Added
Usable
,VisibleDistance
,VisualTransform
,UiDiscoveryFlags
properties. - NwGameObject: Added
GetVisualTransform
method with scope option. - NwGameObject: Added
ReplaceObjectAnimation
,ClearObjectAnimationOverride
,SetTextBubbleOverride
methods. - NwPlayer: Added
CameraFlags
,ClientVersionCommitSha1
properties. - NwPlayer: Added
AttachCamera
,SetCameraLimits
,SetShaderUniform
,SetSpellTargetingData
methods. - VisualTransform: Added
Clear
method. - VisualTransformLerpSettings: Added
BehaviorFlags
,Repeats
properties. - DevastatingCriticalData: Added
Attacker
property.
Package Updates
- NWNX: d44d373 -> b419e42
- NWN.Core: 8193.34.15 -> 8193.35.6
- NWN.Native: 8193.34.5 -> 8193.35.6
- LightInject: 6.6.3 -> 6.6.4
- NLog: 5.1.3 -> 5.1.4
Changed
- !! Anvil now targets .NET 7. You may need to update your plugin's target framework to successfully compile against Anvil.
- !! HookService: NWNX and NWN.Native no-longer exposes a list of function addresses, and the address parameter has been removed from
RequestHook
. The RequestHook now expects a delegate with theNativeFunction
attribute. See here for an example. - ItemAppearance: Update return values to support the extended part ranges introduced in 8193.35.
- NwPlayer:
ClientVersion
now includes the revision value of the client version. - NwPlayer:
EnterTargetMode
now specifies a setting object that contains all new options added in 8193.35.
Removed
- ItemAppearanceArmorModel: Removed deprecated class.
- DoorEvents.OnDialogue: Removed deprecated class.
- PlaceableEvents.OnDialogue: Removed deprecated class.
- ItemAppearanceArmorModel: Removed deprecated class.
- Effect: Removed deprecated
EffectIcon
overload. - ItemProperty: Removed deprecated
PropertyType
property. - CreatureEvents.OnConversation: Removed deprecated
CurrentSpeaker
property. - ModuleEvents.OnNuiEvent: Removed deprecated
WindowToken
property. - CreatureClassInfo: Removed deprecated
AddKnownSpell
,GetKnownSpellCountByLevel
,GetKnownSpells
,RemoveKnownSpell
methods. - ItemAppearance: Removed deprecated
ClearArmorPieceColor
,GetArmorModel
,GetArmorPieceColor
,SetArmorModel
,SetArmorPieceColor
overloads. - NativeObjectInfoAttribute: Removed unused class.
- NwArea: Removed deprecated
GetFogAmount
,GetFogColor
methods. - NwGameObject: Removed deprecated
CreatureAppearanceType
property. - NwGameObject: Remove
Destroy
,PlaySoundByStrRef
overloads. - NwPlayer: Remove
ClearTlkOverride
,CreateNuiWindow
,NuiDestroy
,NuiGetUserData
,NuiGetWindowId
,NuiSetUserData
,SetTlkOverride
methods. - Color: Removed
ToInt
method.
Fixed
- (NWNX) Fixed an issue where nested VM scopes would cause an invalid stack and assertion error.
Release 8193.34.28
Fixed
- NwCreature: Fixed an issue where GetAssociates would return an empty list for certain associate types.
- VirtualMachine: Fix an issue where the context object would be incorrectly flagged as invalid.
- Creature.OnDeath: Support Area/Module as the killer of the creature.
- EventService: More reliable handling of game events.
Release 8193.34.27
Added
- NwCreature: Added
BodyBag
,BodyBagTemplate
properties. - NwPlaceable: Added
IsBodyBag
property.
Changed
- OnPlayerGuiEvent:
EffectIcon
property is now nullable. - OnDebugPlayVisualEffect:
Effect
property is now nullable. - APIs that accept a
TableEntry
parameter now have implicit casts (e.g.EffectIconTableEntry
&EffectIcon
).
Fixed
- NwCreature: Fixed an infinite loop caused by the
Associates
property when having dominated creature associates. - Added some index/range checks for some usages of game table data.
Release 8193.34.26
Added
- NwGameTables: Added
EffectIconTable
. - CreatureClassInfo: Added
School
,KnownSpells
properties. - CreatureLevelInfo: Added
AddedKnownSpells
,RemovedKnownSpells
properties.
Package Updates
- NWNX: 2692ecb -> d44d373
- NWN.Core: 8193.34.12 -> 8193.34.15
- NWN.Native: 8193.34.5 -> 8193.34.7
- Newtonsoft.Json: 13.0.2 -> 13.0.3
- NLog: 5.1.2 -> 5.1.3
- Paket.Core: 7.2.0 -> 7.2.1
Changed
- CollectionExtensions:
InsertOrdered
now returns the index in which the item was inserted. - Anvil will now log a managed stack trace during an assertion failure. We're hoping this will help track down issues where the nwscript VM reports an invalid stack state.
Deprecated
CreatureClassInfo.AddKnownSpell
- useCreatureClassInfo.KnownSpells[].Add
instead.CreatureClassInfo.RemoveKnownSpell
- useCreatureClassInfo.KnownSpells[].Remove
instead.CreatureClassInfo.GetKnownSpellCountByLevel
- useCreatureClassInfo.KnownSpells[].Count
instead.CreatureClassInfo.GetKnownSpells
- useCreatureClassInfo.KnownSpells
instead.
Fixed
- Fixed null/empty script names not clearing object event scripts.
- Fixed an issue where an invalid script name could be assigned to an object event.
- Fixed a NRE in the
ModuleEvents.OnAcquireItem
event caused by characters failing ELC. - Fixed a cast exception in the
PlaceableEvents.OnDisturbed
event when the last inventory event was not caused by a creature. - NwStore: Fixed
WillNotBuyItems
,WillOnlyBuyItems
lists not removing items, and LINQ functions (ToList/ToArray) not working. - CreatureLevelInfo:
ClassInfo
now returns the correct creature class. - ItemPropertyItemMapTable: Fixed some item property values returning valid when they shouldn't be.
Release 8193.34.25
Added
- Exposed
HomeStorage
class for accessing paths in anvil home. - Added support for creating
Cassowary
solvers throughnew Cassowary()
- NwGameObject: Added
ActionJumpToLocation
method. - Events: Added
OnPlayerQuickChat
event. - NwPlayer: Added object name override support (SetObjectNameOverride)
- NwPlayer: Added player-specific looping vfx support (AddLoopingVisualEffect)
- NwCreature: Added
LevelUp
method that bypasses validation.
Package Updates
- NLog: 5.1.1 -> 5.1.2
- Microsoft.CodeAnalysis.CSharp: 4.4.0 -> 4.5.0
Changed
- Optional anvil services will now log a message when they are used.
Fixed
- !! Fixed a memory leak when not using
Dispose()
on engine structures. (Effect, Location, ItemProperty, Json, SQLQuery, Talent)