PRC8/nwn/nwnprc/trunk/scripts/gensp_holyrad.nss
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

69 lines
2.2 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Magic Circle Against Evil
//:: NW_S0_CircEvil.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
//:: [Description of File]
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: March 18, 2001
//:://////////////////////////////////////////////
//:: Last Updated By: Preston Watamaniuk, On: April 11, 2001
//:: modified by mr_bumpkin Dec 4, 2003
#include "prc_class_const"
#include "x2_inc_spellhook"
#include "prc_alterations"
#include "prc_spell_const"
void main()
{
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_ABJURATION);
/*
Spellcast Hook Code
Added 2003-06-23 by GeorgZ
If you want to make changes to all spells,
check x2_inc_spellhook.nss to find out more
*/
if (!X2PreSpellCastCode())
{
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
return;
}
// End of Spell Cast Hook
if (GetHasSpellEffect(SPELL_HOLYRADIANCE)
|| GetAlignmentGoodEvil(OBJECT_SELF)!= ALIGNMENT_GOOD )
{
PRCRemoveSpellEffects(GetSpellId(),OBJECT_SELF,PRCGetSpellTargetObject());
return;
}
//Declare major variables including Area of Effect Object
effect eAOE = EffectAreaOfEffect(AOE_MOB_CIRCEVIL,"gensp_holyrada","gensp_holyradc");
effect eVis = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MINOR);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
effect eVis2 = EffectVisualEffect(VFX_IMP_GOOD_HELP);
effect eLink = EffectLinkEffects(eAOE, eVis);
eLink = EffectLinkEffects(eLink, eDur);
eLink = SupernaturalEffect(eLink);
object oTarget = PRCGetSpellTargetObject();
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_MAGIC_CIRCLE_AGAINST_EVIL, FALSE));
//Create an instance of the AOE Object using the Apply Effect function
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget);
}