Community Patch 1.72 Beta 13 Released
download
To install it, follow as in 1.71 manual installation. Simply unpack the archive into folder with NWN files (thus if you do this right it will want to overwrite bunch of files which you have to confirm). The 1.72 is international, works for all languages as there are no changes in dialog.tlk file yet.
To uninstall it, either run 1.69 critical rebuild, 1.71 installation, or manually delete/rename the xp2patch.key file and rename the xp2patch171.key which is included in the 1.72 beta distribution.
Neverwinter Nights Community Patch 1.72 beta 13 content:
Fixed broken stuff from previous Patch versions:
- fixed 1.71 bug in AI that prevented creatures to heal their allies
- fixed nonfunctional 1.70 feature to cast dispel at AOE location - this should prevent issues when the dispel cast under self didn't dispelled the AOE spell
Revisited features from previous Patch versions:
- Colored emote icons from The Amethyst Dragon changed for Melliuc emoticons from Melliuc
New fixes and features:
Tileset fixes:
tdr01.set (ruins) - numerous visibility fixes in the interior group tiles (details here)
tni02.set (castle interior 2) - numerous visibility fixes in the round rooms tiles (details here)
tno01_n01_05 - missing tile variant added (this was done in some of the previous beta version but not announced)
2DAs:
appearance.2da - fixed kobold footpad and thug's reflection settings (Gruftlord)
classes.2da - default package for shou changed to be monk default package
domains.2da - added new column Level_0 to enable specify domain catrips
spells.2da - fixed AI category for summon shadow spells (all 4 variants)
- fixed AI category for true seeing (was TALENT_CATEGORY_BENEFICIAL_CONDITIONAL_AREAEFFECT while single target)
Spells, feats and special abilities:
- the AOE caster validity check improved, so it will no longer automatically destroy AOE created outside of the spellscript
Scripts:
- x2_inc_switches: added new switch to enable curse to bypass ability decrease immunity
- x2_mod_def_load: incorporated latest switch additions from 1.72beta 11/12/13, also the new switch with curse will be enabled automatically under hardcore&very difficult difficulty (if the module uses unmodified x2_mod_def_load script ofc)
- nw_i0_spells: removed duplicated shadow shield on the breach spell list
- 70_inc_nwnx: new library with custom functions that requires nwn©x_patch
AI:
- no more spell/feat decrementing when talent doesn't pass filter checks - this was big problem with sorcerers
- few small improvements in the AOE behavior to make it less problematic
- enabled undead creatures to heal their undead allies with negative energy spells
- smarter cure behavior:
- creatures will now be able to cure fear, mind-affecting effects, mobility impairing effects and petrify if they have right spell to do so
- creatures will no longer try to cure level drain with lesser restoration
- better see invisible behavior:
- creatures will try to use revealing talents if they lose track of their last enemy
- creatures will try to use ultravision in darkness
- creatures will be able to use also potions and unequippable items with revealing spells
- creatures will use detect mode if they don't have any revealing spells or if those spell didn't revealed anyone
- creatures will use restoration - others and cure critical wounds - others spells properly
- creatures will try to find other enemy if their current enemy is petrified
- fixed the AI engine so it can use any summoning feat (which normally doesn't work because of bug in ActionUseTalentAtLocation which is why summoning feats are disabled by default) however, no feat in feat.2da get the AI category changed to provide backwards compatibility in modules where this fix won't be functional
- additional AI spell usage checks:
- creatures won't cast haste if they got item with haste itemproperty
- creatures won't cast stone bones on non-undead target
- creatures won't use see invis, ultravision, true seeing talents if they got true seeing effect or item
- creatures won't use any sort of invisibility talent if they are already invisible
- creatures won't use sanctuary if they are under greater sanctuary effect
- creatures won't use minor globe of invulnerability if they are already under effect of different/stronger version of this spell
- creatures won't use ghostly visage if they are already under effect of different version of this spell or ethereal visage spell
- creatures won't use any sort of spell mantle talent if they already have any spell mantle active
- creatures won't try to substitute inflict spells when casting them on self/ally (in these cases its on purpose)
- the haste and true seeing checks will now be also verified on items, creatures with these effects on item properties won't waste time casting these spells
- implemented "intelligence" check, intelligent creatures will avoid use spells on immune and such. Intelligence is determined via AI level (High/Very High) or racial type (player races, dragons, feys, outsiders, magical beasts, abberations) or base intelligence score 10+ excluding vermins, oozes, animals and beasts (note many of these checks were there already, now will be used only by smart creatures)
- additional AI intelligence checks:
- readded check for using drown and level drain usage spells on naturally immune targets which was disabled in 1.70
- high ai creatures will use breach spells only when the enemy has spells which breach removes
- high ai creatures will try to substitute dispel spells for breach, if enemy has spell mantle/shadow shield
- Tasha hideous laughter added into AI purpose mind-affecting spells list (which will prevent casting this spell on immune targets if the creature is smart enough)
- additional High AI features:
- high ai creatures will be able to summon Epic Dragon, Epic Mummy and Fiendish Servant
- high ai creatures will be able to use mass heal, healing circle, circle of doom and negative energy burst to heal their allies
- high ai creatures will be able to use Greater Restoration to heal self or their allies
NWNX_Patch and NWNCX_Patch plugins (current version v1.16):
- fixed a memory leak related to the OnPlayerLeave improvement from NWNX_Patch 1.15
- fixed server crash when player with more than 255 memorised spell slots login
- fixed combat informations update after level down
- fixed monk speed interaction with haste
- fixed buying items from store with full inventory issue (such item was destroyed from store if not infinite)
- AOO softcoded script reworked to run also when the AOO has no specfic target but instead is used on OBJECT_INVALID which translates to everyone near
- curse feature to ignore ability decrease immunity is no longer automatically enabled and is now dependant on module switch
- counterspell button will no longer be enabled when the radial menu is opened at location
- two new [Server Options] in nwnplayer.ini
- Disallow New Characters: if 1, server will not accept new characters (purpose is to enable premade characters only with usage of base server vault)
- Num Tiles Explored: will change how many tiles are revealed in front of character. Allowed values 1-10, default value is 8, recommended value is 4.
- fixed the bug in unarmed damage calculation where medium sized Monk11+/Shou Disciple5 had unarmed damage 2d20
- unarmed damage calculation externalized into 2da
- classes.2da contains a new collumn "UnarmedDamageTable" which contains a name of the 2DA with unarmed damage calculation
- the cls_unarm_* structure enables to set different values for tiny, large and huge creature size as well, see cls_unarm_monk and cls_unarm_shou for details
- the smite evil and smite good damage calculation made custom content compatible: it will automatically stack any custom class levels with paladin/bg if such class have smite evil/good in a feat list
- spellcasting softcoded and externalized, it is now possible to create custom spellcasters or modify vanilla ones, details will be explained in special readme
- softcoded learning spell scrolls into "70_s2_learnscroll" script
- new feature to pick up custom race/subrace - is it possible to receive custom playable race in character creation via the subrace field - player must input the string that matches custom race "Label" collumn in racialtypes.2da. (Note: only dynamic appearances are allowed, client crashes if you allow player to select race that doesn't have such appearance)
- added new custom functions for scripters:
- NWNXPatch_IsInUse
- NWNXPatch_GetPlayerLanguage
- NWNXPatch_GetObjectById
- NWNXPatch_PlayMovie
- NWNXPatch_BootPCWithMessage
- NWNXPatch_GetPCFileName
- NWNXPatch_GetNumAreas
- NWNXPatch_GetNthArea
- NWNXPatch_GetNoRestFlag
- NWNXPatch_SetNoRestFlag
- NWNXPatch_GetSurfaceMaterial
- NWNXPatch_GetPvPSettings
- NWNXPatch_SetPvPSettings
- NWNXPatch_DumpEffects
- NWNXPatch_SetCurrentHitPoints
- NWNXPatch_SetTag
- NWNXPatch_SetTrapFlagged
- NWNXPatch_SetTrapCreator
- NWNXPatch_GetConversation
- NWNXPatch_SetConversation
- NWNXPatch_SetBaseItemType
- NWNXPatch_SetCreatureSize
- NWNXPatch_GetEquippmentWeight
- NWNXPatch_SetGold
- NWNXPatch_GetSoundsetId
- NWNXPatch_SetSoundsetId
- NWNXPatch_JumpToLimbo
- NWNXPatch_GetMovementRateFactor
- NWNXPatch_GetFlanked
- NWNXPatch_GetIsFlatfooted
- NWNXPatch_GetEncumbranceState
- NWNXPatch_SetMovementRate
- NWNXPatch_BroadcastAttackOfOpportunity
- NWNXPatch_GetUsedDeflectArrows
- NWNXPatch_SetUsedDeflectArrows
- NWNXPatch_SetRacialType
- NWNXPatch_SetXP
- NWNXPatch_SetAge
- NWNXPatch_SetGender
- NWNXPatch_SetAbilityScore
- NWNXPatch_GetUsedEpicDodge
- NWNXPatch_SetUsedEpicDodge
- NWNXPatch_GetEncounterFrom
- NWNXPatch_GetBodyBag
- NWNXPatch_SetBodyBag
- NWNXPatch_GetFactionId
- NWNXPatch_SetFactionId
- NWNXPatch_GetKnowsSpell
- NWNXPatch_AddKnownSpell
- NWNXPatch_RemoveKnownSpell
- NWNXPatch_GetKnownSpell
- NWNXPatch_GetSpellSchoolSpecialization
- NWNXPatch_SetSpellSchoolSpecialization
- NWNXPatch_GetDomain
- NWNXPatch_SetDomain
- NWNXPatch_GetMemorisedSpellSlot
- NWNXPatch_SetMemorisedSpellSlot
- NWNXPatch_GetMaxSpellSlots
Notes:
1) I had quite a big pause and I might forgot to document a lot of things especially around the nwnx_patch plugin, also didn't tested thoroughly latest changes I had to do. I really have no time to re-test everything after making a significant change in the code. So expect things might not work as should, that way you won't be disappointed. Also the documentation to the latest nwncx_patch features (custom races selection) is not complete. If someone can help with that, contact me I will give you full access to the current documentation on my google drive.
2) The PlayMovie function works only for singleplayer. Its possible to make it work for multiplayer, but the problem here is that it needs to setup custom server-client communication, essentially what nwnx_connect is doing. Im not yet convinced to do that. Because if I should do it, then I see no reason to have nwnx_connect separated so I will most likely take over its functionality. Which might cause conflicts with the original plugin/developers... Anyway, with the server-client communication I would be able to also implement SetAnimLoop, SetTexturePack, SetTextureReplace functions and maybe more.