Further file organization
Further file organization
This commit is contained in:
110
nwn/nwnprc/trunk/spells/sp_bolt_glory.nss
Normal file
110
nwn/nwnprc/trunk/spells/sp_bolt_glory.nss
Normal file
@@ -0,0 +1,110 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Name Bolt of Glory
|
||||
//:: FileName sp_bolt_glory
|
||||
//:://////////////////////////////////////////////
|
||||
/**@file Bolt of Glory
|
||||
Evocation [Good]
|
||||
Level: Exalted arcanist 6, Glory 6
|
||||
Components: V, S, DF
|
||||
Casting Time: 1 standard action
|
||||
Range: Close (25 ft. + 5 ft./level)
|
||||
Effect: Ray
|
||||
Duration: Instantaneous
|
||||
Saving Throw: None
|
||||
Spell Resistance: Yes
|
||||
|
||||
By casting this spell, you project a bolt of
|
||||
energy from the Positive Energy Plane against one
|
||||
creature. You must succeed on a ranged touch
|
||||
attack to strike your target. A creature struck
|
||||
takes varying damage, depending on its nature,
|
||||
home plane of existence and your level:
|
||||
|
||||
Creature's Origin Damage
|
||||
|
||||
Material Plane,
|
||||
Elemental,
|
||||
neutral outsider 1d6/2 levels (7d6 maximum)
|
||||
|
||||
Positive Energy Plane,
|
||||
good outsider none
|
||||
|
||||
Evil outsider,
|
||||
undead creature,
|
||||
Negative Energy Plane 1d6/level (15d6 maximum)
|
||||
|
||||
|
||||
Author: Tenjac
|
||||
Created:
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "prc_inc_sp_tch"
|
||||
|
||||
void main()
|
||||
{
|
||||
if(!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_EVOCATION);
|
||||
|
||||
object oPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nTouch = PRCDoRangedTouchAttack(oTarget);
|
||||
int nCasterLevel = PRCGetCasterLevel(oPC);
|
||||
int nRace = MyPRCGetRacialType(oTarget);
|
||||
int nAlign = GetAlignmentGoodEvil(oTarget);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
int nDam;
|
||||
|
||||
PRCSignalSpellEvent(oTarget,TRUE, SPELL_BOLT_OF_GLORY, oPC);
|
||||
|
||||
//Beam VFX. Ornedan is my hero.
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectBeam(VFX_BEAM_HOLY, oPC, BODY_NODE_HAND, !nTouch), oTarget, 1.0f);
|
||||
|
||||
//Crits automatic?
|
||||
if(nTouch)
|
||||
{
|
||||
//SR
|
||||
if(!PRCDoResistSpell(OBJECT_SELF, oTarget, nCasterLevel + SPGetPenetr()))
|
||||
{
|
||||
if((nRace == RACIAL_TYPE_UNDEAD) || (nRace == RACIAL_TYPE_OUTSIDER && nAlign == ALIGNMENT_EVIL))
|
||||
{
|
||||
nDam = d6(min(nCasterLevel, 15));
|
||||
|
||||
if(nMetaMagic & METAMAGIC_MAXIMIZE)
|
||||
{
|
||||
nDam = 6 * min(nCasterLevel, 15);
|
||||
}
|
||||
if(nMetaMagic & METAMAGIC_EMPOWER)
|
||||
{
|
||||
nDam += (nDam/2);
|
||||
}
|
||||
nDam += SpellDamagePerDice(oPC, min(nCasterLevel,15));
|
||||
}
|
||||
|
||||
if((nRace == RACIAL_TYPE_ELEMENTAL) ||
|
||||
//neutral outsider
|
||||
(nRace == RACIAL_TYPE_OUTSIDER && nAlign == ALIGNMENT_NEUTRAL) ||
|
||||
//Material native and living
|
||||
(nRace != RACIAL_TYPE_OUTSIDER && nRace != RACIAL_TYPE_UNDEAD && nRace != RACIAL_TYPE_CONSTRUCT))
|
||||
{
|
||||
nDam = d6(min(nCasterLevel/2, 7));
|
||||
|
||||
if(nMetaMagic & METAMAGIC_MAXIMIZE)
|
||||
{
|
||||
nDam = 6 * min(nCasterLevel/2, 7);
|
||||
}
|
||||
if(nMetaMagic & METAMAGIC_EMPOWER)
|
||||
{
|
||||
nDam += (nDam/2);
|
||||
}
|
||||
nDam += SpellDamagePerDice(oPC, min(nCasterLevel/2, 7));
|
||||
}
|
||||
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, PRCEffectDamage(oTarget, nDam, DAMAGE_TYPE_DIVINE), oTarget);
|
||||
}
|
||||
}
|
||||
//SPGoodShift(oPC);
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user