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

107 lines
3.9 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Name Ayailla's Radiant Burst
//:: FileName sp_ayaiila_rb.nss
//:://////////////////////////////////////////////
/**@file Ayailla's Radiant Burst
Evocation [Good]
Level: Sanctified 2
Components: V, S, Sacrifice
Casting Time: 1 standard action
Range: 60 ft.
Area: Cone-shaped burst
Duration: Instantaneous
Saving Throw: Fortitude negates (blindness) and
Reflex half (shards)
Spell Resistance: Yes
Shards of heavenly light spray from your fingertips,
blinding evil creatures in their path for 1 round.
A successful Fortitude save negates the blindness.
The luminous shards also sear the flesh of evil
creatures, dealing 1d6 points of damage per two
caster levels (maximum 5d6). A successful Reflex
save halves the damage, which is of divine origin.
Sacrifice: 1d2 points of Strength damage.
Author: Tenjac
Created: 6/1/06
*/
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
#include "prc_inc_spells"
#include "prc_add_spell_dc"
void main()
{
if(!X2PreSpellCastCode()) return;
PRCSetSchool(SPELL_SCHOOL_EVOCATION);
object oPC = OBJECT_SELF;
int nCasterLvl = PRCGetCasterLevel(oPC);
int nDC;
int nDam;
int nMetaMagic = PRCGetMetaMagicFeat();
location lLoc = PRCGetSpellTargetLocation();
object oTarget = MyFirstObjectInShape(SHAPE_SPELLCONE, 18.28f, lLoc, TRUE, OBJECT_TYPE_CREATURE);
float fDur = 6.0f;
//Metamagic extend
if(nMetaMagic & METAMAGIC_EXTEND)
{
fDur = fDur * 2;
}
while(GetIsObjectValid(oTarget))
{
//make sure it's not the PC
if(oTarget != oPC)
{
if(!PRCDoResistSpell(oPC, oTarget, nCasterLvl + SPGetPenetr()) && GetAlignmentGoodEvil(oTarget) == ALIGNMENT_EVIL)
{
nDC = PRCGetSaveDC(oTarget, oPC);
if(PRCGetIsAliveCreature(oTarget))
{
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC))
{
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBlindness(), oTarget, fDur);
}
}
//evil take damage, separate saving throw
nDam = d6(min(5, nCasterLvl/2));
//maximize
if(nMetaMagic & METAMAGIC_MAXIMIZE)
{
nDam = 6 * (min(5, nCasterLvl/2));
}
//empower
if(nMetaMagic & METAMAGIC_EMPOWER)
{
nDam += (nDam/2);
}
nDam += SpellDamagePerDice(oPC, min(5, nCasterLvl/2));
if(PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC)) nDam = (nDam/2);
//Apply damage
SPApplyEffectToObject(DURATION_TYPE_INSTANT, PRCEffectDamage(oTarget, nDam, DAMAGE_TYPE_DIVINE), oTarget);
}
}
oTarget = MyNextObjectInShape(SHAPE_SPELLCONE, 18.28f, lLoc, TRUE, OBJECT_TYPE_CREATURE);
}
//Bwahah... yes, it's secretly Corruption cost and not Sacrifice :P
DoCorruptionCost(oPC, ABILITY_STRENGTH, d2(), 0);
//Sanctified spells get mandatory 10 pt good adjustment, regardless of switch
AdjustAlignment(oPC, ALIGNMENT_GOOD, 10, FALSE);
//SPGoodShift(oPC);
PRCSetSchool();
}