PRC8_fork/nwn/nwnprc/trunk/spells/nw_s0_entangleb.nss

54 lines
1.6 KiB
Plaintext
Raw Permalink Normal View History

//::///////////////////////////////////////////////
//:: Entangle B: On Exit
//:: NW_S0_EntangleB
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Removes the entangle effect after the AOE dies.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Jan 25, 2002
//:://////////////////////////////////////////////
//:: modified by mr_bumpkin Dec 4, 2003 for PRC stuff
#include "prc_inc_spells"
void main()
{
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_TRANSMUTATION);
//Declare major variables
//Get the object that is exiting the AOE
object oTarget = GetExitingObject();
effect eAOE;
if(GetHasSpellEffect(SPELL_ENTANGLE, oTarget))
{
//Search through the valid effects on the target.
eAOE = GetFirstEffect(oTarget);
while (GetIsEffectValid(eAOE))
{
if (GetEffectCreator(eAOE) == GetAreaOfEffectCreator())
{
if(GetEffectType(eAOE) == EFFECT_TYPE_ENTANGLE)
{
//If the effect was created by the Entagle then remove it
if(GetEffectSpellId(eAOE) == SPELL_ENTANGLE)
{
RemoveEffect(oTarget, eAOE);
}
}
}
//Get next effect on the target
eAOE = GetNextEffect(oTarget);
}
}
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
// Getting rid of the local integer storing the spellschool name
}