From NWN Lexicon
Jump to: navigation, search


Returns a Stunned effect.


Create a Stun effect.

This is a mind-effecting effect, and so immunity to mind effects prevents this from working. It appears applying this as a SupernaturalEffect can potentially bypass the mind immunities but likely not a stun immunity.

Stunning basically makes the mind of the target stop working, stunning what they are doing - they lose 2 dexterity, have -2 AC (but see below), and they can take no action whatsoever and are prone to attacks.

Given some ruleset.2da information, it can be confirmed that the effects are: Losing all dexterity (and possibly dodge) bonuses to their AC, and every attacker gains +2 to hit rather than -2 AC being applied.

The target this effect is applied to must be a creature for it to work.

To truly stop a creature regardless of immunities (eg; in a cutscene), use EffectCutsceneImmobilize and EffectCutsceneParalyze, not this effect.


Stunning keeps a creature in one place. They cannot move - even functions like JumpToLocation() will fail, as if they were petrified or paralyzed.

Stunning can be countered with Immunity: Stun, and Immunity: Mind Spells.

Effect functions are Constructors, which are special methods that help construct effect "objects". You can declare and link effects, and apply them using an ApplyEffectToObject() Command. Once applied, each effect can be got separately via. looping valid effects on the target (GetFirst/NextEffect()). See the Effect Tutorial for more details.




// Sample code for applying a stunning effect to a target
void main()
    // This is the Object to apply the effect to.
    object oTarget = OBJECT_SELF;
    // Create the effect to apply
    effect eStun = EffectStunned();
    // Create the visual portion of the effect. This is instantly
    // applied and not persistent with whether or not we have the
    // above effect.
    effect eVis = EffectVisualEffect(VFX_IMP_STUN);
    // Apply the visual effect to the target
    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
    // Apply the effect to the object   
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eStun, oTarget);

See Also



 author: Brett Lathrope, editor: Jasperre, additional contributor(s): Jasperre, Andrei Hajdukewycz