This is the final version of the game from Bioware released 9th of July 2008.

These patch notes are from the NWN Fandom used under the Creative Commons licence they use.

Patch 1.69

.ini file setting additions/changes

Feat prerequisite changes

(These may make some existing characters invalid in multiplayer games.)

General fixes

Spell/feat description and other text changes

Neverwinter Nights Aurora Toolset

Script-specific

2DA changes

Custom content

Special information with regards to some of the new content

Barrows Interior Tileset The white patches in the "Final 7x7" group are there to help you position the "Pillar #, Barrows" placeables from the "Placeable->Miscellaneous Interior" standard palette. You can turn this off by unchecking "Animation Loop 1" in the tile properties for the placed tile group).

Horses To create a mounted NPC in the Toolset you need to do the following Change the NPC's appearance to "Human mounted, Male" (or choose another race/gender that you desire). Set the phenotype to "Normal Mounted" (or "Large" for larger human phenotypes). Click on the "Appearance" tab and from the "Tail" pull down menu select the type of horse that you desire. Changing the NPC's phenotype to one of the "Jousting Mounted" settings will cause the NPC horse to use jousting animations in game, rather than the normal horse combat animations.

Patch 1.68

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.68 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.68 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.68 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.68 TOOLSET. IF YOU WANT TO GO BACK TO 1.67, WE HAVE A 1.68 TO 1.67 PATCH AVAILABLE.

Script-specific

Neverwinter Nights Aurora Toolset

Custom content

Patch 1.67

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.67 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.67 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.67 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.67 TOOLSET. IF YOU WANT TO GO BACK TO 1.66, WE WILL HAVE A 1.67 TO 1.66 PATCH AVAILABLE.

DM client

Neverwinter Nights Aurora Toolset

Scripting-specific

By setting a new variable int X2_NAME_RANDOM to 1 on a creature template in the toolset, the module creature can now tell creatures to randomize their name on Spawn. By default this will cause the creature to change it's name to a name generated by the RandomName command. For module builders not satisfied with the name selection provided by the RandomName command, the ability to override this behavior with a random name generation script of their choice has been included: If a script called "x3_name_gen.nss" exists in a module, it will be executed on spawn of any creature template that has random name generation activated. The builder can then specify a return value for that custom name generation script by setting a string variable named "X3_S_RANDOM_NAME" on OBJECT_SELF (the creature spawning), which will then be used instead of RandomName().

Custom content

     Grass=1
     GrassTextureName=my_grass

Will cause "my_grass.tga" (maximum of 16 characters) to be used as the grass texture for the tileset. The game will default to the usual "grass.tga" if "GrassTextureName" is not specified.

     1 = Fort Save Minimum Base Save Required
     2 = Ref Save Minimum Base Save Required
     3 = Will Save Minimum Base Save Required

2DA files changed in this update

Notes

Patch 1.66

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.66 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.66 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.66 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.66 TOOLSET. IF YOU WANT TO GO BACK TO 1.65, WE WILL HAVE A 1.66 TO 1.65 PATCH AVAILABLE.

   +LoadNewModule "module name that needs quotes if it contains spaces"
   +TestNewModule "module name that needs quotes if it contains spaces"

DM client

Neverwinter Nights Aurora Toolset

Script debugger

Server-specific changes

Scripting-specific

Custom content

 1) Set the "ReqAction" value for the feat to 0 in the feat.2da
 2) Have a spellID associated with the feat in the feat.2da.
 3) Have a "ImpactScript" specified in the spells.2da for the spellID that you specified in the feat.2da
 The ImpactScript will then fire immediately when the feat is used.
TYPE m				TYPE n
   --------*           --------* 
   [ | | | ]           [ | | | ] 
   [-+ | +-]           [-+ + +-] 
   [   +   ]           [       ] 
   [-+ | +-]           [-+ + +-] 
   [ | | | ]           [ | | | ] 
   --------*           --------* 

TYPE o				TYPE p
   --------*           ---------
   [ | | | ]           [ |   | ]
   [-+ | | ]           [-+   | ]
   [   + +-]           [-+   +-]
   [-+ | | ]           [-+   | ]
   [ | | | ]           [ |   | ]
   --------*           ---------

2DA Files Changed in this Update:


Please visit the Neverwinter Nights Community Site at:

Patch 1.65

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.65 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.65 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.65 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.65 TOOLSET. IF YOU WANT TO GO BACK TO 1.64, WE WILL HAVE A 1.65 TO 1.64 PATCH AVAILABLE.

DM client

Neverwinter Nights Aurora Toolset

Scripting-specific

Custom content

Patch 1.64

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.64 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.64 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.64 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.64 TOOLSET. IF YOU WANT TO GO BACK TO 1.62, WE WILL HAVE A 1.64 TO 1.62 PATCH AVAILABLE.

     ##DebugMode 1
     ##runscript nw_itemreset
     ##DebugMode 0

DM client

Neverwinter Nights Aurora Toolset

Scripting-specific

Custom content

ANIMATION_LOOPING_CUSTOM3
ANIMATION_LOOPING_CUSTOM4
ANIMATION_LOOPING_CUSTOM5
ANIMATION_LOOPING_CUSTOM6
ANIMATION_LOOPING_CUSTOM7
ANIMATION_LOOPING_CUSTOM8
ANIMATION_LOOPING_CUSTOM9
ANIMATION_LOOPING_CUSTOM10

Note: None of the current BioWare creatures use these new custom animation types, they have been added for use by custom content creators.

 TYPE g                   TYPE h
        --------*                ---------
        [ | | | ]                [   |   ]
        [ | | | ]                [---+-+ ]
        [-+-+ +-]                [----/+-]
        [ | | | ]                [-+ | | ]
        [ | | | ]                [ | | | ]
        --------*                ---------
 TYPE i                   TYPE j
        --------*                ---------
        [---+---]                [---+---]
        [   |   ]                [       ]
        [-+ | +-]                [-+   +-]
        [   |   ]                [       ]
        [---+---]                [---+---]
        --------*                ---------
 TYPE k                   TYPE f
        --------*                ---------
        [ | | | ]                [ | | | ]
        [-+ | | ]                [ | | | ]
        [---+ +-]                [-+ + +-]
        [-+ | | ]                [ | | | ]
        [ | | | ]                [ | | | ]
        --------*                ---------
 TYPE l
        ---------
        [ | | | ]
        [-+ | +-]
        [---+---]
        [-+ | +-]
        [ | | | ]
        ---------

2DA files changed in this update

Patch 1.62

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.62 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.62 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.62 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.62 TOOLSET. IF YOU WANT TO GO BACK TO 1.61, WE WILL HAVE A 1.62 TO 1.61 PATCH AVAILABLE.

DM client

Scripting-specific

Server-specific changes

Custom content installer

2DA files changed in this update

Patch 1.61

Neverwinter Nights game

Neverwinter Nights Aurora Toolset

General:

Custom content

Items

Creatures

Creature wizard and creature levelup wizard

Areas

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.

Stores

Module

Resource management

Scripting

Doors

Placeable objects

Sound

Conversation editor

SpellCheck

Journal

Factions

Plot wizard

Multi-language support

DM client

Scripting-specific

 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)

2DA files changed in this update

Patch 1.60

(Note: this patch was recalled by BioWare, as it could not recognize the Gold Edition disc as a valid installation of Shadows of Undrentide.)

Neverwinter Nights Aurora Toolset General

Custom Content

Items

Creatures

Creature Wizard and Creature Levelup Wizard

Areas

Module

Resource Management

Scripting

Doors

Sound

Conversation Editor

SpellCheck

Journal

Factions

Plot Wizard

Multi-Language Support

DM Client

Scripting-specific

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)

2DA Files Changed in this Update

Patch 1.32

Neverwinter Nights game

Patch 1.31

Neverwinter Nights game

DM client

Scripting-specific

   void ExportSingleCharacter(object oPlayer);
   void SetSubRace(object oCreature, string sSubRace);
   void SetDeity(object oCreature, string sDeity);
   int GetIsDMPossessed(object oCreature);
   int GetWeather(object oArea);
   int GetIsAreaNatural(object oArea);
   int GetIsAreaAboveGround(object oArea);

Server-specific changes

 nwnplayer.ini
 [Server Options]
 BackupSavedChars=1

Neverwinter Nights Aurora Toolset

Creature dialog

Area transition dialog

Palette

Plot wizard

Script editor

2DA files changed in this update

Patch 1.30

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.30 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.30 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.30 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.30 TOOLSET. IF YOU WANT TO GO BACK TO 1.29, WE WILL HAVE A 1.30 TO 1.29 PATCH AVAILABLE.

DM client

Scripting-specific

  int GetAppearanceType(object oCreature);
  void SpawnScriptDebugger();
  int GetModuleItemAcquiredStackSize();
  object CopyItem(object oItem, object oTargetInventory=OBJECT_INVALID);
  void SetCampaignFloat(string sCampaignName, string sVarName, float flFloat, object oPlayer=OBJECT_INVALID);
  void SetCampaignInt(string sCampaignName, string sVarName, int nInt, object oPlayer=OBJECT_INVALID);
  void SetCampaignVector(string sCampaignName, string sVarName, vector vVector, object oPlayer=OBJECT_INVALID);
  void SetCampaignLocation(string sCampaignName, string sVarName, location locLocation, object oPlayer=OBJECT_INVALID);
  void SetCampaignString(string sCampaignName, string sVarName, string sString, object oPlayer=OBJECT_INVALID);
  void DestroyCampaignDatabase(string sCampaignName);
  float GetCampaignFloat(string sCampaignName, string sVarName, object oPlayer=OBJECT_INVALID);
  int GetCampaignInt(string sCampaignName, string sVarName, object oPlayer=OBJECT_INVALID);
  vector GetCampaignVector(string sCampaignName, string sVarName, object oPlayer=OBJECT_INVALID);
  location GetCampaignLocation(string sCampaignName, string sVarName, object oPlayer=OBJECT_INVALID);
  string GetCampaignString(string sCampaignName, string sVarName, object oPlayer=OBJECT_INVALID);
  void DeleteCampaignVariable(string sCampaignName, string sVarName, object oPlayer=OBJECT_INVALID);
  int StoreCampaignObject(string sCampaignName, string sVarName, object oObject, object oPlayer=OBJECT_INVALID);
  object RetrieveCampaignObject(string sCampaignName, string sVarName, location locLocation, object oOwner = OBJECT_INVALID, object oPlayer=OBJECT_INVALID);
  int GetItemStackSize(object oItem);
  void SetItemStackSize(object oItem, int nSize);
  int GetItemCharges(object oItem);
  void SetItemCharges(object oItem, int nCharges);
  int GetIsSkillSuccessful(object oTarget, int nSkill, int nDifficulty);
  effect EffectSpellFailure(int nPercent=100, int nSpellSchool=SPELL_SCHOOL_GENERAL);
  void SpeakStringByStrRef(int nStrRef, int nTalkVolume=TALKVOLUME_TALK);
  void SetCutsceneMode(object oCreature, int nInCutscene=TRUE);
  object GetLastPCToCancelCutscene();
  float GetDialogSoundLength(int nStrRef);
  void FadeFromBlack(object oCreature, float fSpeed=FADE_SPEED_MEDIUM);
  void FadeToBlack(object oCreature, float fSpeed=FADE_SPEED_MEDIUM);
  void StopFade(object oCreature);
  void BlackScreen(object oCreature);
  int GetBaseAttackBonus(object oCreature);
  void SetImmortal(object oCreature, int bImmortal);
  void OpenInventory(object oCreature, object oPlayer);
  void StoreCameraFacing();
  void RestoreCameraFacing();
  int LevelUpHenchman(object oCreature, int nClass = CLASS_TYPE_INVALID, int bReadyAllSpells = FALSE);
  void SetDroppableFlag(object oItem, int bDroppable);
  int GetWeight(object oTarget=OBJECT_SELF);
  object GetModuleItemAcquiredBy();
  int GetImmortal(object oTarget=OBJECT_SELF);
  string Get2DAString(string s2DA, string sColumn, int nRow);
  effect EffectEthereal();
  int GetAILevel(object oTarget=OBJECT_SELF);
  void SetAILevel(object oTarget, int nAILevel);
  int GetIsPossessedFamiliar(object oCreature);
  void UnpossessFamiliar(object oCreature);
  void PlaySoundByStrRef(int nStrRef, int nRunAsAction = TRUE );

Server-specific changes

Neverwinter Nights Aurora Toolset

Script editor

Conversation editor

Journal editor

Plot wizard

Utilities

2DA files changed in this update

Patch 1.29

Neverwinter Nights game

DM client

Scripting-specific

************************
* SCRIPTERS TAKE NOTE! *
************************
* CopyObject() scripting command "Tag" parameter is now clamped at the common maximum of 32 characters for tags.

Server-specific changes

Neverwinter Nights Aurora Toolset

Patch 1.28

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.28 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.28 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.28 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.28 TOOLSET. IF YOU WANT TO GO BACK TO 1.27, WE WILL HAVE A 1.28 TO 1.27 PATCH AVAILABLE.

DM client

Scripting-specific

    // - nTransitionType: CAMERA_TRANSITION_TYPE_*  SNAP will immediately move the
    //   camera to the new position, while the other types will result in the camera moving gradually into position
    //   int CAMERA_TRANSITION_TYPE_SNAP = 0;
    //   int CAMERA_TRANSITION_TYPE_CRAWL = 2;
    //   int CAMERA_TRANSITION_TYPE_VERY_SLOW = 5;
    //   int CAMERA_TRANSITION_TYPE_SLOW = 20;
    //   int CAMERA_TRANSITION_TYPE_MEDIUM = 40;
    //   int CAMERA_TRANSITION_TYPE_FAST = 70;
    //   int CAMERA_TRANSITION_TYPE_VERY_FAST = 100;
    // Duplicates the object specified by oSource.
    // ONLY creatures and items can be specified.
    // If an owner is specified and the object is an item, it will be put into their inventory
    // If the object is a creature, they will be created at the location.
    // If a new tag is specified, it will be assigned to the new object.
    object CopyObject(object oSource, location locLocation, object oOwner = OBJECT_INVALID, string sNewTag = "");

Server-specific changes

Neverwinter Nights Aurora Toolset

Plot wizard

Hak pak editor

2DA files changed in this update

Patch 1.27

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.27 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.27 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.27 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.27 TOOLSET. IF YOU WANT TO GO BACK TO 1.26, WE WILL HAVE A 1.27 TO 1.26 PATCH AVAILABLE.

 [Game Options]
 ClientChatLogging=0

Scripting-specific

   // Returns an effect that is guaranteed to dominate a creature
   // Like EffectDominated but cannot be resisted
   effect EffectCutsceneDominated();
   // Return true if item can be dropped
   // - oItem: item to query
   int GetDroppableFlag(object oItem);
   // Returns true if placeable object can be used
   int GetUseableFlag(object oObject=OBJECT_SELF);
   // Returns true if item is stolen
   // - oItem: item to query
   int GetStolenFlag(object oItem);

Neverwinter Nights Aurora Toolset

Conversation editor

Hak pak editor

Neverwinter Nights content installer

Linux dedicated server

Patch 1.26

Neverwinter Nights game

Scripting-specific

Patch 1.25

Neverwinter Nights game

WARNING! AS OF THIS PATCH, ALL MODULES CREATED/SAVED WITH THE VERSION 1.25 TOOLSET ARE TAGGED AS REQUIRING VERSION 1.25 OR HIGHER OF NEVERWINTER NIGHTS GAME OR TOOLSET. IF YOU DON'T WANT TO BRAND YOUR MODULE AS 1.25 THEN DO NOT EDIT YOUR MODULE IN THE VERSION 1.25 TOOLSET. IF YOU WANT TO GO BACK TO 1.24, WE WILL HAVE A 1.25 TO 1.24 PATCH AVAILABLE.

 Through this, you will be able to see the on-line gaming status of your Buddies as well as the server that they are playing on.
 You can view the Community site version of the Buddy List here [5]
 Color=RedValue,GreenValue,BlueValue
 where the color values can be in the range of 1 to 255. You cannot use 0.
 Here are the default colors:
 [Chat Colors]
 TalkColor=240,240,240
 ShoutColor=255,239,80
 WhisperColor=128,128,128
 TellColor=32,255,32
 ServerColor=176,176,176
 PartyColor=240,240,240
 DMColor=16,223,255
 Here are some sample color settings:
 [Colors]
 Color=255,1,1	// Red
 Color=1,255,1    // Green
 Color=1,1,255  // Blue
 Color=1,255,255   // Cyan
 Color=255,1,255 // Magenta
 Color=255,255,1  // Yellow
 Color=255,255,255   // White
 In case you interested Orange = 255,102,1

DM client

Scripting-specific

    // Decrement the remaining uses per day for this creature by one.
    // - oCreature: creature to modify
    // - nFeat: constant FEAT_*
    void DecrementRemainingFeatUses(object oCreature, int nFeat);
    // Decrement the remaining uses per day for this creature by one.
    // - oCreature: creature to modify
    // - nSpell: constant SPELL_*
    void DecrementRemainingSpellUses(object oCreature, int nSpell);

Neverwinter Nights Aurora Toolset

Hak Pak Editor

Patch 1.24

Neverwinter Nights game

Scripting-specific

Neverwinter Nights Aurora Toolset

Hak pak editor

Patch 1.23

Neverwinter Nights game

nwplayer.ini [Server Options] Suppress Base Servervault=0

Set this to 1 if you don't want your clients seeing character files from the root of the Server Vault.

/ignore <chatname> /unignore <chatname>

Since chat names can change at each session, the ignore list is not saved.

 // Returns the stealth mode of the specified creature.
 // - oCreature
 // * Returns a constant STEALTH_MODE_*
 int GetStealthMode(object oCreature);
 // Returns the detection mode of the specified creature.
 // - oCreature
 // * Returns a constant DETECT_MODE_*
 int GetDetectMode(object oCreature);

Neverwinter Nights Aurora Toolset

Patch 1.22

Neverwinter Nights game

Neverwinter Nights Aurora Toolset

Hak pak editor

Patch 1.21

Patch 1.20

Patch 1.19

Patch 1.18

Please do not panic about the version number seemingly leaping from 1.10 to 1.18. The "missing" versions are builds of the many different international versions of Neverwinter Nights. Here are the fixes in this patch: