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.
69 lines
2.8 KiB
Plaintext
69 lines
2.8 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Holy Aura
|
|
//:: NW_S0_HolyAura.nss
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
The cleric casting this spell gains +4 AC and
|
|
+4 to saves. Is immune to Mind-Affecting Spells
|
|
used by evil creatures and gains an SR of 25
|
|
versus the spells of Evil Creatures
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: Sept 28, 2001
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_alterations"
|
|
|
|
void main()
|
|
{
|
|
//--------------------------------------------------------------------------
|
|
// GZ: Make sure this aura is only active once
|
|
//--------------------------------------------------------------------------
|
|
PRCRemoveSpellEffects(GetSpellId(),OBJECT_SELF,PRCGetSpellTargetObject());
|
|
|
|
//Declare major variables
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nDuration = 10;
|
|
|
|
effect eVis = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MAJOR);
|
|
effect eAC = EffectACIncrease(4, AC_DEFLECTION_BONUS);
|
|
effect eSave = EffectSavingThrowIncrease(SAVING_THROW_ALL, 4);
|
|
effect eImmune = EffectImmunity(IMMUNITY_TYPE_MIND_SPELLS);
|
|
effect eSR = EffectSpellResistanceIncrease(25);
|
|
effect eDur = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MAJOR);
|
|
effect eDur2 = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE);
|
|
effect eEvil = EffectDamageShield(6, DAMAGE_BONUS_1d8, DAMAGE_TYPE_DIVINE);
|
|
|
|
// * make them versus the alignment
|
|
eImmune = VersusAlignmentEffect(eImmune, ALIGNMENT_ALL, ALIGNMENT_EVIL);
|
|
eSR = VersusAlignmentEffect(eSR,ALIGNMENT_ALL, ALIGNMENT_EVIL);
|
|
eAC = VersusAlignmentEffect(eAC,ALIGNMENT_ALL, ALIGNMENT_EVIL);
|
|
eSave = VersusAlignmentEffect(eSave,ALIGNMENT_ALL, ALIGNMENT_EVIL);
|
|
eEvil = VersusAlignmentEffect(eEvil,ALIGNMENT_ALL, ALIGNMENT_EVIL);
|
|
|
|
// * make them versus the racial type
|
|
eImmune = VersusRacialTypeEffect(eImmune, RACIAL_TYPE_OUTSIDER);
|
|
eSR = VersusRacialTypeEffect(eSR, RACIAL_TYPE_OUTSIDER);
|
|
eAC = VersusRacialTypeEffect(eAC, RACIAL_TYPE_OUTSIDER);
|
|
eSave = VersusRacialTypeEffect(eSave, RACIAL_TYPE_OUTSIDER);
|
|
eEvil = VersusRacialTypeEffect(eEvil, RACIAL_TYPE_OUTSIDER);
|
|
|
|
//Link effects
|
|
effect eLink = EffectLinkEffects(eImmune, eSave);
|
|
eLink = EffectLinkEffects(eLink, eAC);
|
|
eLink = EffectLinkEffects(eLink, eSR);
|
|
eLink = EffectLinkEffects(eLink, eDur);
|
|
eLink = EffectLinkEffects(eLink, eDur2);
|
|
eLink = EffectLinkEffects(eLink, eEvil);
|
|
|
|
//Fire cast spell at event for the specified target
|
|
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, GetSpellId(), FALSE));
|
|
|
|
//Apply the VFX impact and effects
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
|
|
}
|
|
|