Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
46 lines
1.5 KiB
Plaintext
46 lines
1.5 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name Caustic Mire - OnExit
|
|
//:: FileName inv_causticmireb.nss
|
|
//::///////////////////////////////////////////////
|
|
|
|
#include "inv_inc_invfunc"
|
|
#include "inv_invokehook"
|
|
|
|
void main()
|
|
{
|
|
//Get the object that is exiting the AOE
|
|
object oTarget = GetExitingObject();
|
|
object oCaster = GetAreaOfEffectCreator();
|
|
int CasterLvl = GetInvokerLevel(oCaster, CLASS_TYPE_WARLOCK);
|
|
int nPenetr = SPGetPenetrAOE(oCaster, CasterLvl);
|
|
|
|
//Search through the valid effects on the target.
|
|
effect eAOE = GetFirstEffect(oTarget);
|
|
while (GetIsEffectValid(eAOE))// && bValid == FALSE)
|
|
{
|
|
//If the effect was created by the Web then remove it
|
|
if (GetEffectCreator(eAOE) == oCaster)
|
|
{
|
|
if(GetEffectSpellId(eAOE) == INVOKE_CAUSTIC_MIRE)
|
|
{
|
|
RemoveEffect(oTarget, eAOE);
|
|
}
|
|
}
|
|
eAOE = GetNextEffect(oTarget);
|
|
}
|
|
|
|
if(!PRCDoResistSpell(oCaster, oTarget, nPenetr))
|
|
{
|
|
location lLastLocation = GetLocalLocation(oTarget, "LastMirePos");
|
|
float fDistance = GetDistanceBetweenLocations(lLastLocation, GetLocation(oTarget));
|
|
|
|
int nDam = FloatToInt(fDistance / FeetToMeters(5.0));
|
|
effect eDam = EffectDamage(d6(nDam), DAMAGE_TYPE_ACID);
|
|
effect eLink = EffectLinkEffects(eDam, EffectVisualEffect(VFX_IMP_ACID_S));
|
|
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eLink, oTarget);
|
|
}
|
|
DeleteLocalLocation(oTarget, "LastMirePos");
|
|
}
|
|
|