PRC8/nwn/nwnprc/trunk/spells/sp_holy_aura.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

92 lines
3.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//::///////////////////////////////////////////////
//:: Name Holy Aura
//:: FileName sp_holy_aura.nss
//:://////////////////////////////////////////////8
/** @file Holy Aura
Abjuration [Good]
Level: Clr 8, Good 8, Hlr 8
Components: V, S, F
Casting Time: 1 standard action
Range: 20 ft.
Targets: One creature/level in a 20-ft.-radius burst centered on you
Duration: 1 round/level (D)
Saving Throw: See text
Spell Resistance: Yes (harmless)
A brilliant divine radiance surrounds the subjects,
protecting them from attacks, granting them resistance
to spells cast by evil creatures, and causing evil
creatures to become blinded when they strike the
subjects. This abjuration has four effects.
First, each warded creature gains a +4 deflection bonus
to AC and a +4 resistance bonus on saves. Unlike
protection from evil, this benefit applies against all
attacks, not just against attacks by evil creatures.
Second, each warded creature gains spell resistance 25
against evil spells and spells cast by evil creatures.
Third, the abjuration blocks possession and mental
influence, just as protection from evil does.
Finally, if an evil creature succeeds on a melee
attack against a warded creature, the offending
attacker is blinded (Fortitude save negates, as
blindness/deafness, but against holy auras save DC).
Focus: A tiny reliquary containing some sacred relic.
The reliquary costs at least 500 gp.
**/
////////////////////////////////////////////////////
// Author: Tenjac
// Date : 7.10.06
////////////////////////////////////////////////////
#include "prc_alterations"
#include "prc_inc_spells"
void main()
{
if(!X2PreSpellCastCode()) return;
PRCSetSchool(SPELL_SCHOOL_ABJURATION);
object oPC = OBJECT_SELF;
location lLoc = GetLocation(oPC);
object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(20.0f), lLoc, FALSE, OBJECT_TYPE_CREATURE);
int nCasterLvl = PRCGetCasterLevel(oPC);
int nCounter = nCasterLvl;
int nMetaMagic = PRCGetMetaMagicFeat();
float fDur = RoundsToSeconds(nCasterLvl);
effect eDur = EffectVisualEffect(VFX_DUR_PROTECTION_EVIL_MINOR);
eDur = EffectLinkEffects(EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE), eDur);
if(nMetaMagic & METAMAGIC_EXTEND)
{
fDur += fDur;
}
effect eLink = EffectLinkEffects(VersusAlignmentEffect(EffectImmunity(IMMUNITY_TYPE_MIND_SPELLS), ALIGNMENT_ALL, ALIGNMENT_EVIL), EffectACIncrease(4, AC_DEFLECTION_BONUS, AC_VS_DAMAGE_TYPE_ALL));
eLink = EffectLinkEffects(eLink, EffectSavingThrowIncrease(SAVING_THROW_ALL, 4, SAVING_THROW_TYPE_ALL));
eLink = EffectLinkEffects(eLink, VersusAlignmentEffect(EffectSpellResistanceIncrease(25), ALIGNMENT_ALL, ALIGNMENT_EVIL));
eLink = EffectLinkEffects(eLink, eDur);
while(GetIsObjectValid(oTarget) && nCounter > 0)
{
if(GetIsFriend(oTarget, oPC))
{
nCounter--;
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, fDur);
}
oTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(20.0f), lLoc, FALSE, OBJECT_TYPE_CREATURE);
}
PRCSetSchool();
}