generated from Jaysyn/ModuleTemplate
57 lines
1.8 KiB
Plaintext
57 lines
1.8 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Elemental Shield
|
|
//:: NW_S0_FireShld.nss
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Caster gains 50% cold and fire immunity. Also anyone
|
|
who strikes the caster with melee attacks takes
|
|
1d6 + 1 per caster level in damage.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: Jan 7, 2002
|
|
//:://////////////////////////////////////////////
|
|
//:: Created On: Aug 28, 2003, GZ: Fixed stacking issue
|
|
// edited by Blackhowling's to create Iron Maiden
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
|
|
|
|
//Declare major variables
|
|
effect eVis = EffectVisualEffect(VFX_DUR_DEATH_ARMOR);
|
|
int nDuration = PRCGetCasterLevel(OBJECT_SELF);
|
|
int nMetaMagic = PRCGetMetaMagicFeat();
|
|
object oTarget = OBJECT_SELF;
|
|
effect eShield = EffectDamageShield(nDuration, DAMAGE_BONUS_1d6, DAMAGE_TYPE_NEGATIVE);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
|
effect eCold = EffectDamageImmunityIncrease(DAMAGE_TYPE_BLUDGEONING, 50);
|
|
effect eFire = EffectDamageImmunityIncrease(DAMAGE_TYPE_PIERCING, 50);
|
|
effect eIce = EffectDamageImmunityIncrease(DAMAGE_TYPE_SLASHING, 50);
|
|
|
|
//Link effects
|
|
effect eLink = EffectLinkEffects(eShield, eCold);
|
|
eLink = EffectLinkEffects(eLink, eFire);
|
|
eLink = EffectLinkEffects(eLink, eIce);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
eLink = EffectLinkEffects(eLink, eVis);
|
|
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_ELEMENTAL_SHIELD, FALSE));
|
|
|
|
// *GZ: No longer stack this spell
|
|
if (GetHasSpellEffect(PRCGetSpellId(),oTarget))
|
|
{
|
|
|
|
}
|
|
|
|
|
|
{
|
|
}
|
|
//Apply the VFX impact and effects
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 180.0f);
|
|
}
|
|
|