//:://///////////////////////////////////////////// //:: Grease: On Exit //:: NW_S0_GreaseB.nss //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* Creatures entering the zone of grease must make a reflex save or fall down. Those that make their save have their movement reduced by 1/2. */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Aug 1, 2001 //::///////////////////////////////////////////// //:: modified by mr_bumpkin Dec 4, 2003 for PRC stuff #include "prc_inc_spells" void main() { DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR"); SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION); //Declare major variables //Get the object that is exiting the AOE object oTarget = GetExitingObject(); int bValid = FALSE; effect eAOE; if(GetHasSpellEffect(SPELL_GREASE, oTarget)) { //Search through the valid effects on the target. eAOE = GetFirstEffect(oTarget); while (GetIsEffectValid(eAOE) && bValid == FALSE) { if (GetEffectCreator(eAOE) == GetAreaOfEffectCreator()) { if(GetEffectType(eAOE) == EFFECT_TYPE_MOVEMENT_SPEED_DECREASE) { //If the effect was created by the Acid_Fog then remove it if(GetEffectSpellId(eAOE) == SPELL_GREASE) { RemoveEffect(oTarget, eAOE); bValid = TRUE; } } } //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 }