Rjshae made a useful list of broken functions / known issues:

https://neverwintervault.org/forums/neverwinter-nights-2/nwn2-scripting/broken-functions-list

Currently Broken Functions as of patch 1.23:



ActionSit

PC moves two steps towards chair, but not all the way, and does not perform sitting animation on it.

Workaround: KEMOs Chairs non the Vault



SetWeather

Does not work for WEATHER_TYPE_ SNOW or WEATHER_TYPE_LIGHTNING

WorkAround: GUI / Visual Special Effects?



SetEventHandler

Does not work for module or Area Objects



GetEventHandler

Does not work for module or Area Objects



ActionPlayAnimation

Does not loop a looping animation for the full time period specified by  fDurationSeconds.

Workaround: Wrap in a self-calling delaycommand  loop



SetFirstName

Does not work immediately on Items whose names have already been loaded by the UI (only updates after area 

transition the object is moved in inventory)

Workaround: Force move the item in inventory



ActionRest

Ignores bIgnoreNoRest parameter (does not ignore AREA no rest flag, but does ignore nearby hostile creatures)

Workaround: Use ForceRest



SetDescription

Does not immediately effect the Examine window text upon inspection.

Workaround: Force Close and Reopen Examine Window



AddItemProperty

Does not work with ItemPropertyDamageReduction

Workaround: Use EffectDamage Reduction



GetFirstName

Does not return toolset edited FirstName value, will return correct value but only after SetFirstName has been called 

Workaround: Assign value as variable, then set in OnSpawn



EffectDisintegrate

Does not appear to do anything

Workaround: Use a custom SEF file?



AddHenchman

Attempting to exit to the main menu while a henchman (not a companion) is added 

crashes the client

Workaround: Don’t do it



StringToObject

Does not does properly handle Hex values which include A-F characters, which

is what ObjectToString can generates

Workaround: Use Custom function which correctly handles hex values



GetDescription

Does not retrieve the default description (original toolset defined description) Only retrieves correct value after SetDescription has been called

Workaround: Assign value as variable, then set in OnSpawn



GetclassByPosition

Does not return class_TYPE_INVALID when given OBJECT_INVALID

Workaround: Use wrapper function



DayToNight & NightToDay

Does not  work. Displays/removes stars but does not change lighting & skybox

Workaround: Advance the time instead



EffectCutsceneGhost

Does not cause effected creature to ignore collision

Workaround: Use SetCollision



ItemPropertySkillBonus

Does not work with SKILL_ALL_SKILLS constant

Workaround: Add each skill individually



GetResRef

Does not work for waypoints, stores, sounds, or areas

Workaround: Assign value as variable to object in toolset and use Wrapper function to retrieve



EffectDisappearAppear

Creature does not reappear at passed in location

Workaround: Use custom animation instead



EffectDisappear & EffectAppear

Does not perform the animation

Workaround: Use custom animation instead



SetActionMode

Does not turn on or off all modes (or does not update the UI)



SetCutsceneMode

Does not fully disable UI while active, open gui screens can still be manipulated, some feats and modes can still be toggled

Workaround: Close/Hide open GUI screens, and/or open a transparent, full screen gui to intercept all mouse clicks



FadeToBlack

Does not fully disable UI while active, keyboard shortcuts will still execute (hotbar 

mode/feat/skill toggles, 'R' for rest, etc)



GetDamageDealtByType

DAMAGE_TYPE_SLASHING/ PIERCING/BLUDGEONING does not work. 



ItemPropertyDamageResistance

DAMAGE_TYPE_SLASHING/ PIERCING/BLUDGEONING Do not work (are ignored, UI chat logs indicates absorption, underlying HP values do not)



EffectDamageResistance

DAMAGE_TYPE_SLASHING/ PIERCING/BLUDGEONING Do not work (are ignored, UI chat logs indicates absorption, underlying HP values do not)



SetOwnersControlledCompanion

Does not swap control to a controllable associate (ex: familiar, ASSOCIATE_TYPE_**) when original PC is the currently active character



ForceRest

Does not trigger poison and disease saving throw stages

Workaround: Perform check manually before calling ForceRest, and reapply effects 

after if necessary



[Action]JumpToLocation/Object

Does not work if creature is uncommandable, (cannot move, is paralyzed, etc)

Workaround: Use JumpPartyToArea? (comments say uncommandable can be jumped)



SetFog

Does not work (signature and description identical to SetNWN2Fog  plus fFarPlaneClipDistance)



Get/SetCampaign**

Does not perform string length checking of the variable name for saving and retrieval

Workaround: Use Better Names or Globals instead



SignalEvent

Does not work for AOE object's user defined events



EffectAreaOfEffect

Does not properly display AOE if creator is the Module or an Area

Workaround: Use a placeable, creature or waypoint instead to create it



CreateObject

Does not work for creatures if the location is not walkable. 

Workaround: Combine with GetIsLocationValid and CalcSafeLocation



ActionUseSkill

Does not work for all skills (Taunt, SetTrap)

Workaround: Use Wrapper function and/or ActionUseTalent



ActionStart Conversation

Does not work on DMs after they've possessed an NPC



ActionCastSpellAtObject/Location

Ignores the nMetaMagic parameter and does not set correct caster 

level when bCheat = TRUE



ActionMoveToObject/Location

Does not work if target is in another area. Does not continue or log failure if location is blocked 



ResistSpell

Causes GetSpellResistance result to reset to zero.



SetDescription and GetDescription

Do not have an identified parameter at all which is needed-see NWN1 version. GetDescription works on NPC's 

but not on players.



EffectAbilityIncrease

Has trouble if the effect does not stack, does not give stat increase, but any secondary effects, slots, spells and the like get a boost. So if you get a con boost of 4, have a +4 magic item that gives you 4 con already, and are 1st level, your hit points go to 12 while your max hit points stay at 10. Also affects other stats but they are a lot harder to measure ( for example this can boost your spell slots above normal ). If you are not wearing magic gear it has no effect.



GetHasSpell()

Is broken for the Summon Creature I-IX spells. It always returns the sum of the squares of the sum of identical spells in the wizard and cleric spell level 1 slots. This means that it will return a positive number whether or not you have a Summon Creature spell (even if you can't cast it at all).

--------------------------------------



The following effects have no ID, and are thus unable to be detected, removed, replaced when they are in effect. ( those with ID 0 i specifically applied the effect, then iterated the effects on the target to get the ids that are active, and removed them as i echoed info about the effects. ).

  • EffectBABMinimum <- ID 0
  • EffectCutsceneDominated<- ID 0
  • EffectDarkVision <- ID 0
  • EffectKnockdown<-ID 0
  • EffectLowLightVision<- ID 0
  • EffectModifyAttacks<-ID 0
  • EffectNWN2SpecialEffectFile <- ID 0
  • EffectSeeInvisible
  • EffectSeeTrueHPs
  • EffectSetScale
  • EffectSummonCopy
  • EffectSummonCreature

These are instant effects, no constant needed or possible ( logically )

  • EffectHeal
  • EffectDeath
  • EffectDamage
  • EffectAppear<- are these deprecated with EffectAppearDisappear?
  • EffectDisappear<- are these deprecated with EffectAppearDisappear?

These seem to cause an error, the first a runtime error, the second does not 

leave an effect to remove.

  • EffectNWN2ParticleEffect <-- causes an error if you use it???
  • EffectNWN2ParticleEffectFile<- no result at all

This are constant has no effect available for it (that i know of)



EFFECT_TYPE_NWN2_DEX_ACMOD_DISABLE



--------------------

The following functions should be deprecated or are otherwise NA to NWN2

OpenInventory (Workaround: use a Custom GUI)

CopyItemAndModify

GetItem 

Appearance

Get/SetTile**

Dis/MountObject

RecomputeStatic 

Lighting

SetPanel ButtonFlash

GetLastReSpawn ButtonPresser

SetPlaceable

Illumination

EffectTimeStop



--------------------

The following functions were listed as broken but I have not tested them to confirm if they still are.



ActivatePortal 

Does not work



GetName

Only returns english names



AddJournalQuest Entry

Ignores bAllParty Members parameter



Adjust Reputation

Does not adjust only a single player w/ respect to NPC faction, adjusts all players. Need to be able to effect only a single player



OnAreaExit

Doesn’t fire for an inter-module transition



OnClientLeave

Doesn't fire for an inter-module transition

  • No labels