Neverwinter Nights 1.61 Critical Rebuild Patch
Neverwinter Nights Game
added in 1.61 support for all game versions - with and without SoU and with
and without HotU
added Demonflesh Golem to game resources
added support for custom TLK files for single-player games. Multiplayer support
for custom TLK files will be added in a future update.
Made damage reduction for DD and barbarians stack.
Added dm_visualeffect console command. first param is int for vfx #, second
is duration in seconds (float, optional). Can target ground, doors, creatures
and placeable objects.
Fixed NPCs trying to use items that they were not usable due to race, alignment
or class restrictions and standing around looking dumb.
Fixed Whirlwind timing for attacking so you can attack right away after finishing
the whirlwind, and fixed too many attacks warnings
Fixed a bug with opening inventory while container is opened on top of open
inventory, inventory was open but had no items.
Fixed a bug on LAN page where connect button was not being updated when the
list is empty and a new server is added.
Fixed a crash in sound options GUI that could happen when Environment Effects=1
but had disabled hardware sound acceleration through DXDiag.
Fixed a crash in the level-up GUI if you had a invalid familiar
Fixed a crash when loading saved game when user managed to save between the
time an OnHitCastSpell event was signalled and the time it impacted.
Fixed a crash when examining object just before area transition
Fixed an ELC problem that was sometimes evident in Epic Levels
Fixed a Palemaster level bonus bug
Fixed a couple relatively rare crash bugs
Fixed a save/load bug when using a custom talktable file
Made some fixes to prevent game/character hacking. Sorry, but we will never
publically discuss specific changes to the game with regards to hacking the
game.
Made several game stability fixes.
Neverwinter Nights Aurora Toolset
General
* Fixed bug where two controls in the Options dialog would cause an array out
of bounds error when fetching the StrRefs for their text. Fixes access violation
when trying to open Options dialog.
* Fixed bug where ctrl + up arrow or ctrl + down arrow in the Sound Properties
dialog's waves listbox would cause the selected item index to move twice in
the indicated direction instead of once.
* Small stability fixes
* Fixed some memory leaks
Custom Content:
* Support for using an alternate tlk file if the StrRef is greater than 0x00ffffff,
where the bit 0x01000000 has been set. It will mask off the upper 2 hex digits
and use the resulting number as the StrRef into the alternate tlk file.
* Module Properties dialog Custom Content tabsheet contains setting for specifying
a custom tlk file from among those in the user's tlk subfolder.
* Added Hak conflicts dialog. It is launched from the Custom Contents page of
the module properties dialog.
* Refreshing Custom palette will now include blueprints from ERFs (read: hak
paks) in addition to just the module blueprints.
Items
* Added robes support
* Added Cursed/Undroppable property to Items.
* Whips created in Item Wizard automatically have "Bonus Feat: Disarm (Whip)"
* Added support for stand-alone Visual Effect item property.
* Fixed bug where elemental damage vfx would not always override alignment damage
vfx.
* Changed toolset handling of alignment-based vfx to be consistent with game
in that any damage amount vs good or evil will generate a vfx.
* Fixed bug in Item Properties dialog where no color variations would be listed
for a weapon part if it has only one color variation.
* Gold can no longer be set to undroppable in the inventory dialog for
creatures.
* When composing an armor icon, the appropriate armor parts are now hidden according
to the settings in parts_robe.2da.
Creatures
* Added Wings and Tails support.
* Added Lootable and DecayTime properties to Creatures.
* Creature Wizard and Creature Dialog allows up to level 60.
* In Creature Properties dialog, entering a special ability caster level >
15 will clamp the value to 15 instead of restoring the previous value.
* Restrict maximum Special Ability caster level to 15.
* Fixed bug in Creature Dialog where visiting the Classes page would cause unspecified
classes to count as 1 level toward the creature's total level when calculating
HP. (eg., level 10 abberation would have 12 levels of constitution bonus).
* Fixed bug where a creature could be saved with a level 0 class.
* When loading a creature, it will no longer load classes that have -1 classID
and/or level 0.
* Can no longer set a creature's level to 0 in the creature properties dialog.
* When loading package names in Creature Editor, fall back on 2da Label if StrRef
not found.
Creature Wizard and Creature Levelup Wizard
* Added new package-2da-based backend for Creature Wizard.
* Added Creature Levelup Wizard. You can run it by right-clicking on a creature
instance, or by going to the Classes tab in the Creature Properties Dialog and
clicking on the Levelup Wizard button.
* Fixed bug in Creature Wizard where Starting Package was not being
initialized.
* Changed Creature Wizard to use the CLS_BFEAT_*.2da tables to determine class
bonus feats instead of hardcoding rules for each class. Fixes problem where
no hardcoded rules were present for some classes and level ranges, causing creatures
to miss out on bonus feats.
Areas
* Added skybox property to Areas.
* Added area property for fog clip distance.
* Added reading of default skybox from environment.2da when setting up default
area properties.
* Increased height of Area Wizard dialog so that all tilesets are visible without
having to scroll the listbox.
* Fixed bug in tilegroup painting where it would not lock corners in the interior
of a tilegroup that should have been locked. When painting group tiles, tiles
that belong to the group are locked (at the center) and those tiles can skip
the template verification. This change allows for 3x3 and larger groups that
contain null tiles.
* When using the context menu to open the Inventory dialog on an object in the
area viewer then clicking OK, it will now flag the area as modified.
* Fixed bug where Location Adjustment dialog would not flag the area as modified.
* Added Apply button to Location Adjustment dialog.
* Fixed crash when doing the following: select item, copy, paste, R-click, select
item again, copy, paste.
* Fixed crash that would occur if user did Ctrl-C on an object, then selected
a different object in the area treeview, then typed Ctrl-C again.
Stores
* Added new Store properties: IdentifyPrice, MaxBuyPrice, StoreGold,
OnStoreClosed, and the WillNotBuy and WillOnlyBuy lists of baseitem types.
* fixed crash to desktop due to stack overflow in the store properties dialog
when clicking the up/down arrows for the sell markup/markdown values when they
contained certain combinations of manually typed in and out-of-bound values.
* Fixed bug where equality comparison for stores was not checking OnOpenStore
event. (Affected use of AddToPalette on store instances)
Module
* Fixed access violation setting the date/time on a mod or erf when the user's
system clock exceeded the year 2038.
* Added option to create backup module files on save.
* Fixed bug where the Strings section of the ERF header of a module was not
being set to exactly the same set of strings as in the Module.ifo's Description
CExoLocString.
* Optimized ERF file I/O. ERF import and export is faster now and uses less
memory.
* Significantly sped up saving custom creature palettes by not doing a full
creature load in order to get the CR and FactionID. Instead, it now specifically
reads only those fields out of the utc. However, this means that the CR is no
longer recalculated, so if anything happened to invalide the CR since the creature
was last saved, the CR saved to the custom palette will still be invalid.
* Build Module Dialog:
+ Double-clicking an instance in the message listbox will also edit that instance
in its property dialog, not just focus on the instance.
+ Double-clicking a journal-related message in the messages listbox will open
the journal editor.
* Added OnPlayerEquipItem and OnPlayerUnEquipItem event to module properties.
Resource Management
* Fixed bug in resource selection dialog where multiple "hits" would
show up if you typed in a resref quickly enough to get in multiple keystrokes
inbetween refreshes of the resources listview.
* Fixed bug where the editing-a-standard-resources warning and the
editing-a-resource--in-a-hak warnings would not be disabled when the user checked
the "Never Warn Again" checkbox.
* Do a total reload of a custom palette if trying to add a blueprint whose palette
category does not exist in the current custom palette, which could happen in
old modules created prior to the addition of new standard palette categories.
Scripting
* In Script Editor: when parsing shortcuts for a script, user-defined constants
will now appear in bold in the Constants listbox. A user-defined constant must
be "const int", "const float", or "const string"
and have an assignment. eg., "const int BLAH = 0;"
* Fixed BadStrRef statusbar hint when mousing over main text entry area of script
editor.
* Added context menu items for Location and Variables dialogs from the module
contents treeview.
* Variables dialog:
+ Fixed Variables dialog not flagging the current area as modified when it was
used on an instance.
+ Added Variables dialog menu option for Encounter and Trigger instances.
+ Replacing a Variable will no longer deselect it from the Variables listview.
This will allow you to Replace it again without reselecting it.
+ After deleting a variable, it will select the next variable that moved into
selected line, if there is one.
+ Fixed Delete button still being enabled when no variables are selected.
Doors
* Invisible door models in doortypes.2da (VisibleModel = 0) now show up in
the Unique Door Appearances dropdown in the Door Properties Dialog, regardless
of what tileset the current area is using.
* Door Dialog now checks TileSet0, TileSet1, TileSet3 columns in doortypes.2da
if the TileSet column does not match the currently open area's tileset. If one
of those additional columns matches the current area's tileset, then that door
appearance is selectable.
* Door Wizard now sets OnDeath=x2_door_death for new Doors.
Placeable Objects
* Added Environment-mapping support for placeable objects by reading
"Reflection" column from placeables.2da. **** means no reflection.
"default" means use the default env map. Any other value means to
use the named TGA file.
Sound
* The Audio page of the Area Properties dialog will no longer show music tracks
that do not exist.
* The Audio page of the Area Properties dialog will no longer show ambient sound
tracks that do not exist.
* Fixed bug where the ambient sound dropdowns, on the Audio page of the Area
Properties dialog, were not using the DisplayName column in ambientsound.2da
when no StrRef was present in the Description column.
Conversation Editor
* Fixed bug where the Text Dump function in the Conversation Editor function
would not restore the toolset's original working folder after saving the text
dump.
* removed Looping checkbox for animations in a conversation node. It never worked
correctly, and making it would would require the artists to create two copies
of every animation in the list--a fire and forget and a looping one.
* Added context menu option in area viewer to directly edit the conversation
of an instance.
SpellCheck
* Removed MS Word SpellCheck.
Journal
* Fixed bug where recent changes to the LocName and Comments of a Journal Category
would be discarded when R-clicking the treenode for that journal category.
Factions
* Added progress bars to faction updates when OKing the Faction Editor.
Plot Wizard
* Fixed bug in Plot Wizard where it would insert OnAcquireItem lines at the
top of the Module OnAcquireItem script, if that script already existed, but
did not contain any previous Plot Wizard modifications.
* Fixed bug in plot node wizard where a node that uses the designated villain
cast member would always be loaded up with the "Conflict with Villain"
radio button checked, even if it was saved with the "Conversation"
button checked.
Multi-Language Support
* Fixed toolset always using English as the user's language ID. It now uses
the language in dialog.tlk
* Fixed LocString dialog, when initially showing itself, showing the first available
embedded string if no string for the user's current language could be found.
* Fixed conversation dialog tree always displaying locstrings in English. It
will now display in the current language
* Fixed bug where a LocString control would have its displayed text added to
the locstring on initial creation when the displayed text is not for the current
language.
* If a localized text control cannot find a string in the specified language
and gender, it will search for a string in the specified language but opposite
gender, before it searches for a strref or string in another language.
* After clicking OK in the multilanguage string dialog, the text in the LocString
field would be set to the first available language's string. If the string shown
was not for the current language, it would then change the current language's
string to the displayed string. Fixed so that it no longer sets the text for
the current language on returning from the multilanguage dialog.
* Added Default Editing Language option so that the user can set the default
language for editing locstrings to something other than the language specified
in the user's dialog.tlk file. Note that this only affects user-entered module
text, not the actual GUI labels. (eg., an English user can edit a module as
if he were German, with all localized strings showing up and being saved in
German instead of English.)
DM Client
* Fixed HP sometimes displaying as 0/0 in DM party bar.
* DMs will now be included in Attack, Damage, and Death messages as if they
were a member of the party
* Fix so that you can't send a DM possessed creature into Limbo (25805)
* Fixed another instance of the bug when a DM cancels out of game options screen
the difficulty was being set to easy.
* Fixed bug where if a DM stole an item directly from a players equipped slot
the weight encumbrance of that character was not being recalulated.
Scripting-specific
* Added a number of HotU scripting commands including:
+ GetCreatureStartingPackage()
+ SetCameraHeigth()
+ ForceRest()
+ SetStolenFlag()
+ GetIsCreatureDisarmable()
+ GetItemPropertyParam1Value()
+ GetItemPropertyParam1()
+ GetItemPropertyCostTableValue()
+ GetItemPropertyCostTable()
+ GetIsInSubArea()
+ EffectCutsceneImmobilize() - this effect is meant for the Dwarven Defender's
defensive stance. it roots the creature to the spot so that they can't move
but grants no other penalties. It cannot be resisted (even by Freedom of Movement)
* We now drop items at the object's position when CopyItem() or
CopyAndModifyItem() fails to add the new item to the inventory.
* Fix to CopyAndModifyItem() to not always drop the items at your feet
* Fixed a crash when an area attempted to do an ActionSpeakString()
* StartNewModule() will no longer crash if the module name is invalid
2DA Files Changed in this Update
* probably most of them - please see the 2dasource.zip file or the "source"
directory in your NWN install.