Cloud of Bewilderment
|Spell level :||Innate level: 2, Bard: 2, Sorcerer/Wizard: 2|
|Components :||Verbal and Somatic|
|Duration :||6 sec. * cLevel|
1 Round (cLevel)
|Save :||Fortitude negates|
|Spell resistance :||Yes|
Cloud of Bewilderment creates a volume of noxious gas in the area of effect. All creatures within this cloud are stunned and blinded for 1d6 rounds, each creature is allowed a Fortitude saving throw in order to avoid this condition.
Contrary to the in-game description, the spell's area is actually Large (not Huge).
The descriptor "Gas" is odd. It has a poison-based saving throw, so really it should be labelled poison.
Line 52: This spell doesn't use the NWN2 ApplyMetamagicDurationMods() and ApplyMetamagicDurationTypeMods() functions.
Line 29: The effects (blindness, stun) are applied as magical effects, meaning a dispel magic spell can dispel the effects despite them still standing in the area. This should not usually happen. Making the effect EffectExtraordinary() around line 29 in both scripts would help. (The effect is temporary anyway, making it extraordinary just stops it being dispelled).
On Entry - X2_S0_CldBewldA.nss
It doesn't have a valid area effect creator check like the heartbeat script does.
Since there is a if "(!GetHasSpellEffect(SPELL_CLOUD_OF_BEWILDERMENT,oTarget))" in the on-round script, it is surprising that the On Enter script doesn't have the same check. One of these must be wrong. (Edit:The OnEnter script doesn't need to check for the effect, since an entering object simply cannot have it. An object also cannot exit the cloud to re-enter if stunned. If not stunned, the target doesn't have the effect, so no check for the OnEnter event needed in any case. However, it is true that the the heartbeat script should not have this check, as any targets inside the cloud should be affected by poison every round, whether stunned or not. The same bug affects also other spells like Stonehold and Entangle, only Stinking Cloud works properly).
Line 45: The saving function must use GetAreaOfEffectCreator() otherwise saves are not done correctly.
On Heartbeat - X2_S0_CldBewldC.nss
Line 63: The same again - the saving throw must use the area of effect creator.
The fortitude save is interesting for a spell that stuns, since stun spells usually are mind affecting and will-save based. This makes it a good spell to stop low-fortitude characters and control an area of the battlefield. It does, however, affect allies too!
The stun and blindness together seem a little odd, but the blindness means that the target can also be sneak attacked since the stun holds them in place.
Useful for holding a group of monsters stuck in the area and "Kaboom!!!"