EffectUltravision()

From NWN Lexicon
Jump to: navigation, search

Returns an effect of Ultravision.

Description

Returns an effect of Ultravision which must then be applied to a creature using ApplyEffectToObject().

Ultravision lets the target object see when EffectDarkness is applied to them (For instance: In a Darkness spell's AOE), and so they are not blinded and have no penalties. They can also see others under the influence of darkness, either that effect or EffectInvisibility with INVISIBILITY_TYPE_DARKNESS.

The target this effect is applied to must be a creature for it to work. This effect should not be applied instantly, only temporarily or permanently.


Remarks

It has no effect on how an object sees other then the change to EffectDarkness and EffectInvisibility with INVISIBILITY_TYPE_DARKNESS.

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.


Effect Breakdown

There isn't much to add to the above.

It does apply a special vision type - VISION_EFFECT_TYPE_ULTRAVISION - behind the scenes, similar to other vision effects. You get a "lovely" pink hue that lights up the area too (apparently only on yourself, others cannot see this, similar to low light or darkvision).

When applied it will sort any current EffectDarkness applied and sort perception to those with EffectInvisibility(INVISIBILITY_TYPE_DARKNESS).

There are no effect parameters for GetEffectInteger or similar.


Version

1.62

Example

// Sample code for applying ultravision to a target
 
void main()
{
    // This is the Object to apply the effect to.
    object oTarget = OBJECT_SELF;
 
    // Create the effect to apply
    effect eUltra = EffectUltravision();
 
    // 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_MAGICAL_VISION);
 
    // Apply the visual effect to the target
    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
    // Apply the effect to the object   
    ApplyEffectToObject(DURATION_TYPE_PERMANENT, eUltra, oTarget);
}

See Also

functions:

EffectTrueSeeing EffectDarkness



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