Plugins
xp_EnhancedFeatures
This plugin will extend the capabilities of various nwnscript functions.
It will also "patch" some of them, giving you a more advanced way to customize the game.
It comes with a powerful "RulesSystem" that allows admins to easily write new behaviors by simply changing some INI files, without any noticeable performance impact.
- "Fix" for SetTag : previous Tag will be properly removed from the lookup table.
- Indeed, in the "base game", when you change an object tag, this object will be returned by GetObjectByTag(newTag) AND GetObjectByTag(oldTag).
- Fix DestroyObject : Remove the Memory leak when you delete an object possessing an inventory by properly delete the inventory objects.
- Fix Item Bonus Persistence on Unequip: This fix addresses the issue where, when a player logs in with an item equipped, if they unequip the item, the bonus from the item remains active. This allows players to equip another item and stack the bonuses
- Fix SaveThrow: Without the fix, Will and Reflex saving throws were not correctly subject to automatic failure. This meant that if the total roll was higher than the DC and the roll was a natural 1, the save still succeeded instead of automatically failing as it should have.
- Fix WildShape Usage: Without the fix, if the PC has the “Extra Wild Shape” feat, “Oaken Resilience” and “Elephant's Hide” will restore charges of “Wild Shape” instead of consuming them.
- Fix Dodge VSDamageType Removal: Without the fix, if the PC unequip an item with a property “Dodge AC Bonus vs Damage Type”, the game will remove this specific bonus but also the same amount of Dodge AC.
- Fix Decrease SpellLeft on BonusLoss: By default, for Sorcerer/Bard type class, the game will reduce the number of SpellUsage each time you remove a bonus (buff, or item) that grant Spells or SpellcastAbility. You can now select the behavior.
- Fix for ItemStacking: By default, the game only check the number of "passive" properties of an item instad of reallycheck them. This fix now properly test them before allowing the stack
- Fix for ItemSplit: By default, newly created stack doesn't have the LocalVar of original one. This fix change this behavior
- DestroyObject : InstancedArea (from CreateInstancedAreaFromSource) can now be properly deleted.
- Store/Restore functions : By default, they only act on items and creatures, without saving local vars. They now also work on objects such as Placeable, Light, Trigger, Door, PlacedEffect, WayPoint,...(Note that SQLStore/Retrieve rely on those function and so, will be enhanced too).
- CreateInstancedAreaFromSource: Allow to use this function even with other instance. Will put the origin area id as CreatorID to the new one
- Customisation :
- Allow to disable the AC bonus given by Tumble skill score
- Allow to disable the SpellSave bonus given by SpellCraft skill score
- Allow you to disable the SetTrap/Disable Trap skills synergy
- MonkWeapon List : Allow you to set the list of MonkWeapon
- RulesSystem Part :
- Offer the possiblity to precisely customize any "SpeedFeat" you want
- Offer the possibility to precisely customize any "SkillFeat" you want
- Offer the possiblity to change (even dynamicly) the Ability used for each Skill
- Offer the possibility to precisely customize the rules of WeaponFinesse
- Offer the possibility to precisely customize the SpeedReductions (or not) rules
- Hook (script calls on event) :
- OnGoldChange : Call a script everytime the gold value change on a creature.
- GlobalOnClientEnter : A OnClientEnter script common to all your area. Usefull for generic script
- StartTransition : A script called everytime a character start a transition by a door or transition trigger.
- OnItemStack: A script called everytime a two item are about to stack and have been checked as the "same" by the game.
- OnSplit: A script called everytime a split occur on a stack
OnItemBaseCostCalculation: A script called everytime the base price of an item is recalculated
The plugin introduces a set of new functions designed to enhance the management of spellbooks. These functions provide advanced capabilities for customizing and controlling spellbook behavior within the game.
Here you can find a list. For more details, please refer to the NSS file.
- ClearMemorizedSpellBySpellId_EFF : Clear memorized spell slots based on spell id
- ClearMemorizedSpell_EFF : Clear a specific memorized spell slot
- SetMemorizedSpellReady_EFF : toggle the "ready" flag of a specific spell slot
- SetMemorizedSpell_EFF : set every aspect of a specific spell slot
- SetMemorizableSpellNumber_EFF
- SetNumberOfSpellUsesLeft_EFF
- SetNumberOfBonusSpell_EFF
- GetIsInKnownSpellList_EFF
- GetKnownSpellCount_EFF
- GetKnownSpellId_EFF
- GetMemorizedSpellIsDomainSpell_EFF
- GetMemorizedSpellMetaMagic_EFF
- GetMemorizedSpellId_EFF
- GetMemorizedSpellReady_EFF
- GetMaxNumberOfSpell_EFF
- GetMemorizedSpellCountByLevel_EFF
- GetNumberOfSpellUsesLeft_EFF
- More hooks
- hooks will be added to more and more hardcoded stuff, allowing you to really customize the game at will.
v1.1.6 (2024/12/19) (dll)
- Fix a possible crash
v1.1.5 (2024/11/29) (dll)
- Add DisableTrapSynergy: Option to disable the SetTrap/DisableTrap skills synergy
- Add two newfunction in the RuleEngine : Skill andAbility functions can now be used in your rules.
- Improve RuleEngine to allow numerical comparators in the "Extra" field. : « <,<=, >, >=, !=, ==» can now be used in extra fields.
- Allow to use functions in "Extra" field with a numerical comparators.
v1.1.4 (2024/10/31) (dll)
- Add KeepLocalVarOnSplit: Option to enable a fix that properly copies the LocalVar on the resulting stack after a split
- Add OnSplitStackScript: Hook to call a script that allows additional operations after stack split.
v1.1.3 (2024/10/30) (dll)
- Fixed a possibility of crash that could occur after destroying an instancedArea where a player had disconnected.
v1.1.2 (2024/10/28) (dll)
- Add FixItemStacking : option to enable a fix that properly checks item properties before allowing stacking.
- Add OnItemStackScript : Hook to call a script that allow additional checks or operation before allowing two items to stack.
- Add OnItemBaseCostCalculation: Hook to call a script that gives a more direct control on items price.
v1.1.1 (2024/10/26) (dll)
- Change GlobalOnClientEnter to match exactly base OnClientEnter behavior
v1.1.0 (2024/10/25) (dll, nwnx_enhancedfeatures.nss, config files)
- Added ReduceSpeed management with the RuleEngine
- Added the ini option "ReduceSpeedFile" that allows pointing to the new RuleEngine configuration file.
- Added new nwnscript function : XPEnhancedFeatures_ReloadReduceSpeedFile
- Added [General]/DisableHook option possibility for every RuleEngine config files.
- Added 5 new "Special" keyword for the Extra fields : TrackMode, DetectMode, StealthMode, EncumbranceNone, EncumbranceNormal and EncumbranceHeavy