Further file organization
Further file organization
This commit is contained in:
48
nwn/nwnprc/trunk/epicspellscripts/ss_ep_warding.nss
Normal file
48
nwn/nwnprc/trunk/epicspellscripts/ss_ep_warding.nss
Normal file
@@ -0,0 +1,48 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Epic Ward
|
||||
//:: X2_S2_EpicWard.
|
||||
//:: Copyright (c) 2003 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Makes the caster invulnerable to damage
|
||||
(equals damage reduction 50/+20)
|
||||
Lasts 1 round per level
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Georg Zoeller
|
||||
//:: Created On: Aug 12, 2003
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Altered by Boneshank, for purposes of the Epic Spellcasting project.
|
||||
*/
|
||||
|
||||
#include "inc_epicspells"
|
||||
|
||||
void main()
|
||||
{
|
||||
if(!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_ABJURATION);
|
||||
|
||||
object oCaster = OBJECT_SELF;
|
||||
if(GetCanCastSpell(oCaster, SPELL_EPIC_EP_WARD))
|
||||
{
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nDuration = GetTotalCastingLevel(oCaster);
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, GetSpellId(), FALSE));
|
||||
int nLimit = 50*nDuration;
|
||||
effect eDur = EffectVisualEffect(495);
|
||||
effect eProt = EffectDamageReduction(50, DAMAGE_POWER_PLUS_TWENTY, nLimit);
|
||||
effect eLink = EffectLinkEffects(eDur, eProt);
|
||||
eLink = EffectLinkEffects(eLink, eDur);
|
||||
|
||||
// * Brent, Nov 24, making extraodinary so cannot be dispelled
|
||||
eLink = ExtraordinaryEffect(eLink);
|
||||
|
||||
PRCRemoveEffectsFromSpell(oCaster, GetSpellId());
|
||||
//Apply the armor bonuses and the VFX impact
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration), TRUE, -1, nDuration);
|
||||
}
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user