47 lines
1.8 KiB
Plaintext
47 lines
1.8 KiB
Plaintext
|
/* Script generated by
|
||
|
Lilac Soul's NWN Script Generator, v. 1.6
|
||
|
|
||
|
For download info, please visit:
|
||
|
http://www.lilacsoul.revility.com */
|
||
|
|
||
|
|
||
|
|
||
|
void Raise(object oPlayer)
|
||
|
{
|
||
|
effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION);
|
||
|
|
||
|
effect eBad = GetFirstEffect(oPlayer);
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer);
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPlayer)), oPlayer);
|
||
|
|
||
|
//Search for negative effects
|
||
|
while(GetIsEffectValid(eBad))
|
||
|
{
|
||
|
if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
|
||
|
GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
|
||
|
{
|
||
|
//Remove effect if it is negative.
|
||
|
RemoveEffect(oPlayer, eBad);
|
||
|
}
|
||
|
eBad = GetNextEffect(oPlayer);
|
||
|
}
|
||
|
//Fire cast spell at event for the specified target
|
||
|
SignalEvent(oPlayer, EventSpellCastAt(OBJECT_SELF, SPELL_RESTORATION, FALSE));
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oPlayer);
|
||
|
|
||
|
SetLocalInt(oPlayer, GetTag(OBJECT_SELF), TRUE);
|
||
|
|
||
|
|
||
|
}
|
||
|
//void main (){}
|