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 ); Added a parameter to ActionStartConversation() to stop playing the hello. Fixed an issue in scripting where the code would skip a switch evaluation line (in particular, if it was called without a compound statement as the statement inside an if, while, do/while or for statement!) Copy item template name as part of copy item (used for infinite store items). Fixed compilation bug that causes compiler/toolset to crash when a semi-colon immediately followed the "else" keyword. Fix a crash related to GetCasterLevel(). Server-specific changes Fixed a server crash when a creature that was the target of a spell was sent into limbo. Made some improvements to network performance. 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 Added a new system for script caching on the game server. You can now cache your most frequently called scripts to help improve performance. Go to "Module Properties" and click on the new "Cached Scripts" tab. Added ability to save and load a set of spell selections on the Spells tab of Creatures. Uh, is this the coolest thing ever, or what? Added buttons on Scripts page of various object types to save an load a set of script assignments. Actually, this is pretty darn cool, too. Added Autolevelup Package dropdown to Classes tab for Creatures, for use when autolevelling up a creature via scripting. Changed representation of current area's treenode in the area treeview. Instead of being in bold text, it now uses the Script Editor's keyword color. Bold text was causing sizing issues with certain fonts, most notably in Japanese. When deleting temp0 folder, delete read-only files as well as files of types unknown to the resource manager. If the directory cannot be removed, show an error message. Added double-click support to Inventory dialog. Double-clicking a treeview item sends it to the backpack/store. Double-clicking a backpack item attempts to equip it. Double-clicking an equipped item unequips it. Added Cancel button to Build Module progress bar. Added warnings when editing a resource that is in a Hak Pak, and added option to enable/disable the resource-is-in-Hak-Pak warning. Fixed creation of temp directories for new modules so that they are called "temp0" instead of just "0". Changed handling of stray temp directories in the modules folder. Toolset will try to use only temp0, not any of the higher numbers. It will automatically remove a stale temp0 if temp0 is empty, and prompt to remove temp0 if it is not empty but contains no module.ifo to recover. It will now do the temp0 check on every attempt to create a new module or open an existing one. Added support in the Resource Selection dialog for "x#_" resref filters when the filter currently in use begins with "nw_" or "plc_". Modifications to current area now prompted for save when exporting the current area via File|Export. It had already been doing this when exporting via the area treeview's Export context menu option. Added Armor Class field to the Appearance tab for armor being edited in the Item properties dialog. This makes it easier to see the effect of armor appearance on AC. This is simply a duplicate of the one on the General page. Added Armor Check Penalty, Arcane Failure Rate, and Max Dex Bonus fields to Item properties dialog. Fixed bug in item dialog where Stack Size adjustments using the UpDown control would update the Total Cost field using the previous stack size value. Fixed bug in Store Dialog where the Sell Mark Up would increment when attempting to increase the Buy Mark Down past its maximum. The Sell Mark Up now remains the same. Inventory dialog for stores now consistent with game in terms of buy/sell values. Minimum buy/sell price is 1 gp at all times, except for plot items, which are always 0 gp buy/sell. Static Placeable objects forced to default animation, because that's the only animation the game supports for them. Fixed stack overflow bug when placeable object properties opens an object whose portrait ID has no value in portraits.2da. Open Lock and Close Lock DC now disabled when 'Key Required to Lock or Unlock' is checked. Fixed minor bug with Preview Window layout cutting off information for triggers. Fixed Preview Window not showing all information for Trigger and Store instances. Fixed problem where in non-English languages, the users would see English text in the custom palettes, even when the custom palette node's blueprint did have a StrRef for its name. Refreshing a palette will now use the StrRef for a blueprint IF the blueprint name has a StrRef, AND the blueprint name's locstring does not have any embedded text. Fixed bug where, if a module could not be opened, the toolset would say that required hak paks are missing even if there are no missing hak paks. Fixed inability to cut/copy/paste in the non-modal dialogs appearing over the main toolset window (eg., the Find Instances dialog). Fixed garbled characters in Store Setup Dialog when warning that the selected creature is of a hostile faction. Fixed creature and item colors not updating when choosing their colors in their property dialogs when environment mapping is turned off. Fixed memory leak in hak pak attachment in the module properties dialog. Fixed encounter spawn point orientations not saving correctly when they are facing between 0 and 180 degrees. Fixed OK button appearing on the generic warning dialog when it should not. Fixed bug where, when trying to remove all references to a script or conversation from the module, it would stop after the first such removal in each area in the module, leaving the other object instances untouched. Fixed bug where certain item types were being rotated about an incorrect axis when rotating them in the area viewer. Fixed access violations and allocated memory overwrite errors when doing the following exact set of steps: Ctrl-C an instance, Ctrl-V, then select a different palette or blueprint, then select another instance and Ctrl-C, Ctrl-V. Fixed bug where shrinking an area would not mark the area or module as modified. Script Editor Script Editor no longer parses #include files inside /* */-style block comments when generating the list of functions and variables in the sidebar In Script Editor, Ctrl+F now prompts to search again from the beginning if the string was not found, just like F3. Script Editor dialog remembers window state (maximized/normal) Fixes bug where Script Editor would fail to compile conditional scripts when doing a Save All with Autocompile-on-save turned on. Fixed bug where exporting a conditional script would sometimes not compile the script. Conversation Editor Added Insert Token button to Conversation Editor. Conversation Editor remembers position of splitter bars. Added Ctrl+F, Ctrl-R, and F3 shortcut keybindings to Conversation Editor. Fixed Conversation Test dialog's initial test node not showing all the text for a response that has long, multiline text. Fixed BadStrRef context menu item in the Conversation Dialog Input dialog. It now reads "Insert Token". Fixed bug in Conversation Editor where the [END DIALOGUE] indicator on a PC node (and all nodes linking to it) would not disappear after pasting an NPC node under it (either as a link or for real). Journal Editor Journal Editor no longer re-sorts the Entries within a Category unless the last edited Entry had its ID changed. This reduces the frequency with which the treeview will scroll to the right when moving among the treenodes (the scrolling was annoying). Journal Editor has vertical scrollbars in text entry fields now. Plot Wizard Changed Plot Wizard basic page to show blueprint full names instead of resrefs. When loading a plot blueprint, Plot Wizard no longer asks for confirmation to overwrite the current plot if the current plot has not been modified. Fixed progress frame sometimes not repainting when changing the status of a line or set of lines. Fixed progress frame having red X's for all steps when reopening a plot or an existing plot node. The steps are now marked with green checks to reflect that they had been completed already. localized plot overwrite confirmation when loading plot blueprint in plot wizard. Utilities added a script debugger, spawnable from scripting - utils\DebugServer.exe NOTE: YOU MUST GO INTO THE TOOLSET OPTIONS AND TURN ON THE OPTION "Generate Debug Information When Compiling Scripts" added a command-line script compiler - utils\clcompile.exe added a database packing program - utils\DataPack.exe 2DA Files Changed in this Update appearance.2da baseitems.2da classes.2da feat.2da iprp_spells.2da itempropdef.2da packages.2da portraits.2da soundset.2da spells.2da visualeffects.2da weaponsounds.2da http://megagames.com/news/html/patches/neverwinternights129-130patch.shtml