Page 1 of 1

Patch 1.06 released.

Posted: Wed Jun 13, 2007 12:38 am
by AcadiusLost
Official and final 1.06 patch released today, here are the notes:
Neverwinter Nights 2 – Version 1.06 Patch Notes
May 11th, 2007

New Features
Custom Content
• Several new UI customizability features. Among them, users can now set textures on UI objects via script, and users can set the state of progress bars via script.
• Spells that have multiple casting modes can now be cast from items (i.e., protection from evil, meteor swarm).
Scripting
• Many new script functions have been added.
o SetGUIObjectTexture()
o UIObject_Misc_ExtractData()
o UIObject_OnRadial_DisplayCustomRadial()
o UIObject_Input_ActionTargetScript()
o GetInfiniteFlag()
o SetInfiniteFlag()
o GetKeyRequiredFeedbackMessage()
o SetKeyRequiredFeedbackMessage()
o GetPickpocketableFlag()
o SetPickpocketableFlag()
o GetTrapActive()
o SetWillSavingThrow() (Used for Doors and Placeables only)
o SetReflexSavingThrow() (Used for Doors and Placeables only)
o SetFortitudeSavingThrow() (Used for Doors and Placeables only)
o SetLockKeyRequired()
o SetLockKeyTag()
o SetLockLockDC()
o SetLockUnlockDC()
o SetLockLockable()
o SetHardness()
o GetHardness()
o GetAreaSize()
o SetUseableFlag()
o GetPlaceableLastClickedBy()
o SetGUIProgressBarPosition()
o IntToObject()
o ObjectToInt()
• Placeables now have an OnClick event. This event will fire whenever a user clicks a placeable, regardless of whether the user can currently path to it.
• EffectSetScale() can now be used to scale creatures non-uniformally along different axes.
• SpeakOneLineConversation() now has a volume parameter that understands Whispers and Shouts.
• GetAttribute() now takes a parameter called nBaseAttribute=FALSE. If made TRUE, then the value returned will be the creature's BASE attribute instead of total.
• CreateItemOnObject() now has a 4th parameter that allows users to set the tag of the created item.
Toolset
• Undo and Redo now work for Terrain, Grass, and Water painting.
• There are several new hot keys that alter Brush size and pressure in the toolset:
o [ Brush size down 1
o Shift + [ Brush outer size down 1
o ] Brush size up 1
o Shift + ] Brush outer size up 1
o - Pressure down 10%
o Shift + - Pressure down 25%
o = Pressure up 10%
o Shift + = Pressure up 25%
• The Flatten tool has been modified to more gradually slope between its inner and outer height. Additionally, a Pressure setting has been added to the tool to determine how rapidly it applies the change, and the Inner value is now capped at 0 instead of 1.
• A new Cliff_08 texture has been added.
• Higher resolution normal maps have been added to the Cliff_04 and Cliff_05 textures.
Bug Fixes
General
• “Greater Weapon Specialization (Light Hammer)” will no longer show up as “Greater Weapon Specialization (Flail)”
• The Dedicated Server will now load modules from directories as well as from .mod files. To load a module directory from the command line, use the following parameter:
-moduledir <module name>
• Specular Lighting has been improved. Shiny objects should now look better than before.
• Trees and Objects that fade no longer lose their directional light shadow when faded out.
Scripting
• ActionRest() will now properly utilize the bIgnoreNoRestFlag parameter.
• EffectHeal() can now restore the HP of doors and placeables.
• SetTrapActive() now works on Doors and Placeables as well as triggers.
• SetOrientOnDialog() now functions properly.
• ExportAllCharacters() and ExportSingleCharacters() will write to the server vault.

Effects/Spells/Domains
• Bestow Curse now reduces all of the target’s ability scores by 3 rather than 2.
• Energy Drain no longer allows a saving throw.
• The War Domain has been renamed to the Fury Domain, to allow future implementation of a more D&D-accurate War Domain.
Fixes from v1.06 Beta:
• The Turn Undead ability will now function properly.
• Druids, Rangers and Clerics w/ Animal Domain can properly select their animal companions.
• The toolset will no longer throw an unhandled exception when bringing up the “Will Not Buy…” and “Will Not Sell…” dialogues on store properties.
2DA Changes
The following 2DA files have been changed in v1.06:
• ambientmusic.2da
• appearance.2da
• crafting.2da
• disease.2da
• doortypes.2da
• iprp_bonushp.2da
• iprp_monsterhit.2da
• soundset.2da
• spells.2da
• terrainmaterials.2daW
• visualeffects.2da
a file comparison done between 1.05 and 1.06 on the 2das by someone on NWN2 forums also showed this:
ambientmusic.2da.....Files are different
appearance.2da.....Files are different
baseitems.2da.....Files are different
crafting.2da.....Files are different
disease.2da.....Files are different
doortypes.2da.....Files are different
feat.2da.....Files are different
iprp_bonushp.2da.....Files are different
iprp_monsterhit.2da.....Files are different
soundset.2da.....Files are different
spells.2da.....Files are different
terrainmaterials.2DA.....Files are different
visualeffects.2da.....Files are different
k_xp_awards.2da.....Only in C:\Install\2DA_105
TexturesTileCeiling.2da.....Only in C:\Install\2DA_106
TexturesTileFloor.2da.....Only in C:\Install\2DA_106
TexturesTileWall.2da.....Only in C:\Install\2DA_106
I'm looking at potentially a busy rest of the week and weekend, but I'll try to make some headway in the next ACR release. At this point I'm not sure whether to hope for a quick move to 1.07 in the near future, or for some stability in the 2das and such. I don't see any major changes from what we'd expected with 1.06 here (save the old news that most of the improvements we were waiting for got pushed back to another patch).

CreateItemOnObject's 4th parameter should help streamline the death system, GetAreaSize() will be convenient for improving seamless AT performance, and ExportSingleCharacter() should be helpful for writing visa/portalling code. It's also possible that some of the key/lock scripts added will make scripted inns for the basemod much more straightforward (less customization needed from the builder).

I'm hoping to at least get Appearance.2da bundled in with this ACR and hak, to fix scaling issues with the races and subraces, since it doesn't interface with the custom tlk. I believe Cipher has NWNx4 integration nearly ready as well, so hopefully we'll be able to add the "Persistency" with gusto this time. Optimistic estimate for ACR release will be a week or so, will update as we know more.

[edit: added comparison list on 2das]

Posted: Wed Jun 13, 2007 1:10 am
by indio
I'll release the new 003 mod when you're done then AL and I've got the new version installed. Let me know if I can help.

Posted: Wed Jun 13, 2007 3:18 am
by AcadiusLost
To be honest, I don't expect anything we've got in 003 to be broken by the new patch, so you're welcome to update and put up your 1.06 module now, so you can continue to collect Beta test feedback. Once we start including 2das with our haks (likely from next release onward), we'll probably have to start holding back servers on patches till the haks and ACR can "catch up" (as is the norm), but this one should be a freebie.

(and as an added bonus, you can let me know if anything wacky happens that we didn't anticipate.)

Posted: Wed Jun 13, 2007 3:22 am
by indio
Will update, tidy up the mod and link the new areas tonight then.

Posted: Wed Jun 13, 2007 5:00 am
by HEEGZ
I recommend waiting a week or two in case they rollback the patch and you have to reinstall or something. Generally after 1-2 weeks the patches have been safe to update, or at least that is what I remember.

Posted: Wed Jun 13, 2007 5:11 am
by indio
Yeah, they've stuffed it up once or twice. Still, they've got reversion patches available as well, so I'll risk it. Got lots of backups anyway.

Posted: Wed Jun 13, 2007 5:46 pm
by ç i p h é r
BTW AL, I'll go ahead and remove the workarounds we put in place for the CreateItemOnObject since I'm retrofitting acr_death_i anyway. I'll check SetName() as well on the off chance it's working.

Posted: Wed Jun 13, 2007 6:35 pm
by AcadiusLost
Sounds good, I figured I'd do that if they were still in when you finished with it in any case.

If I get time, I'll do a few animation tests to see if we can sort the "standing up while bleeding" problem tonight as well. If I find code that does the trick, I'll post it here for you to work in (or, add it to your committed version once it's up).

If you could test your ACR_OnCorpseResurrect() function in there as well, it'd be appreciated- it wasn't doing anything for me when I tried to use it with my rez lever scripts.

Posted: Sun Jun 17, 2007 7:11 am
by Grand Fromage
We should probably test anything that doesn't work right, the patch notes are surprisingly incomplete. From what I've gathered the notes only list a minority of the fixes--the custom 2da bug we figured out, for example, is fixed but not mentioned.

Posted: Sun Jun 17, 2007 6:05 pm
by AcadiusLost
Also noticed this weekend- they changed the name of the constant int for the "Protection from Chaos" spell, which used to have a doubled underscore in it somewhere. As a result- acr_spawn_i.nss will no longer allow things to compile properly (it's referenced in the "spawn buffed" function, line 1565).

Not sure if that's going to start causing problems on 003 or not, but it's an easy fix to go in with the next ACR/hak.

Posted: Sun Jun 17, 2007 10:12 pm
by ç i p h é r
I noticed that too. And SetName() still doesn't work. :wall:

I'll look into the resurrection issue while I'm in there.

Posted: Tue Jun 19, 2007 6:02 pm
by AcadiusLost
found a list of function changes:
EffectRescue() - Placeholder effect "so the engine knows your in rescue mode"
EffectDetectSpirits() - "Create a Detect Spirits effect." (Like detect undead most likely but against things which are spirits by GetIsSpirit())
EffectDamage ReductionNegated() - Create an effect that forces all Damage Reduction on a creature to be ignored.
EffectConcealmentNegated() - Create an effect that forces all Concealment and Miss Chance effects on a creature to be ignored.
EffectInsane() - Create an Insanity effect; creatures with this effect on them will attack the nearest creature, friend or foe.
GetIsSpirit() - Returns TRUE if the creature is a spirit - of Fey or Elemental race, or has the special "spirit" flag set on them (No way to "SetIsSpirit()" in the code)
CreateTrapAtLocation() (Yay!)
CreateTrapOnObject()
GetTrapActive() (SetTrapActive() fixed too, see changes)
SetTrapDetectable() (Note: GetTrapDetectable() is already available)
SetTrapDisarmable() (Note: GetTrapDisarmable() is already available)
GetTrapRecoverable()
SetTrapRecoverable()
SetTrapOneShot() (Note: GetTrapOneShot() is already available)
SetTrapKeyTag() (Note: GetTrapKeyTag() is already available)
SetTrapDetectDC() (Note: GetTrapDetectDC() is already available)
SetTrapDisarmDC() (Note: GetTrapDisarmDC() is already available)
GetModuleXPScale()
SetModuleXPScale()
SetPlayerGUIHidden() - This script function will turn off a player's GUI, except for the FADE screen. Floating text will still be rendered.
SetRenderWaterInArea() - Toggle whether or not water is being rendered in the specified area


Changes/fixes to existing functions not otherwise mentioned:

EffectACIncrease() - Addition of bVsSpiritsOnly parameter
EffectSavingThrowIncrease() - " " (+nwscript description fixed)
EffectDeath() - Addition of nIgnoreDeathImmunity - If TRUE this Death effect ignores any Death Immunity.
TouchAttackMelee/Ranged() - Addition of nBonus - I presume (although the description is blank for it - likely not intended!) it can add to or lower the rolls, as used in a warlock feat added to the warlock include file.
GiveGoldToCreature - Addition of bDisplayFeedback which will stop feedback to players for gold additions.
ActionGiveItem(), ActionTakeItem(), minor description fixes to match GiveGoldToCreature's.
ExploreAreaForPlayer() - New nExplored parameter. If FALSE will unexplore the area
FindSubString() - Minor move to fix description.
That ExploreAreaForPlayer() with the new parameter could get rid of the old nagging problem of every area being pre-explored on the map/minimap. We'd probably need to work out an efficient way to track when to UnExplore an area, though.