EffectResurrection()

From NWN Lexicon
Jump to: navigation, search

Returns a new effect object.

Description

Create a Resurrection effect. This should be applied as an instantaneous effect.

This, when applied to any NPC or PC who is at 0 or lower hit points gets put back to 1 hit point.

When used on a PC it will automatically clear their death panel - the one brought up with PopUpDeathGUIPanel.

The target this effect is applied to must be a creature for it to work. This effect can only be applied instantly.


Remarks

Dead PCs (at -11 hit points or lower) can always be raised; however, only NPC creatures who are correctly destroyable via the use of SetIsDestroyable will work with this effect, so be careful with henchmen in this sense.

For a proper "Resurrection" to full hit points, you need to use EffectHeal after applying EffectResurrection, as this doesn't do any healing, nor apply any penalties for actually being raised.

If applied to an alive creature, or a non-creature, it will fail with no message.

Effect functions are Constructors, which are special methods that help construct effect "objects". You can declare effects, and then apply them using an ApplyEffectToObject Command. See the Effect Tutorial for more details.


Effect Breakdown

There isn't any GetEffectInteger parameters for this instant effect. The only thing to note on this is that resurrection - or the process to getting to 1HP which this effect is generally the only way of doing so - will remove EffectHitPointChangeWhenDying.


Version

1.62

Example

// Sample code for applying resurrection to a target,
// not OBJECT_SELF.
 
void main()
{
    // This is the Object to apply the effect to.
    object oTarget = GetFirstPC();
 
    // Create the effect to apply
    effect eRaise = EffectResurrection();
 
    // 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_RAISE_DEAD);
 
    // Apply the visual effect to the target
    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
    // Apply the effect to the object   
    ApplyEffectToObject(DURATION_TYPE_INSTANT, eRaise, oTarget);
}

See Also



 author: Michael Nork, editors: Jasperre, Mistress, additional contributor: Jasperre