Files
HeroesStone_PRC8/_module/nss/ironmaiden.nss
Jaysyn904 1eefc84201 Initial Commit
Initial Commit.
2025-09-14 15:40:46 -04:00

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);
}