Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

48 lines
1.6 KiB
Plaintext

//::///////////////////////////////////////////////
//:: 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();
}