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.
41 lines
1.6 KiB
Plaintext
41 lines
1.6 KiB
Plaintext
|
|
|
|
#include "prc_inc_spells"
|
|
#include "inv_inc_invfunc"
|
|
#include "inv_invokehook"
|
|
|
|
void main()
|
|
{
|
|
|
|
//Declare major variables
|
|
object oTarget = GetEnteringObject();
|
|
int CasterLvl = GetInvokerLevel(GetAreaOfEffectCreator(), CLASS_TYPE_WARLOCK);
|
|
int nDC = GetInvocationSaveDC(oTarget, GetAreaOfEffectCreator(),INVOKE_ENERVATING_SHADOW);
|
|
effect eConceal = EffectConcealment(20);
|
|
effect eStrength = EffectAbilityDecrease(ABILITY_STRENGTH, 4);
|
|
effect eVis = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
|
|
|
|
if(oTarget == GetAreaOfEffectCreator())
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eConceal, oTarget, RoundsToSeconds(5),TRUE,-1,CasterLvl);
|
|
|
|
else if(!GetLocalInt(oTarget, "EnervatingShadowLock") && PRCGetIsAliveCreature(oTarget))
|
|
{
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), INVOKE_ENERVATING_SHADOW, FALSE));
|
|
|
|
//SR
|
|
if(!PRCDoResistSpell(GetAreaOfEffectCreator(), oTarget, SPGetPenetrAOE(GetAreaOfEffectCreator(), CasterLvl)))
|
|
{
|
|
//save
|
|
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_SPELL))
|
|
{
|
|
//Apply VFX impact and effects
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eStrength, oTarget, RoundsToSeconds(5),TRUE,-1,CasterLvl);
|
|
SetLocalInt(oTarget, "EnervatingShadowLock", TRUE);
|
|
DelayCommand(HoursToSeconds(24), DeleteLocalInt(oTarget, "EnervatingShadowLock"));
|
|
}
|
|
}
|
|
}
|
|
}
|