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.
74 lines
2.1 KiB
Plaintext
74 lines
2.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name Kelgore's Fire Bolt
|
|
//:: FileName sp_kelgore_fb.nss
|
|
//:://////////////////////////////////////////////
|
|
/**@file Kelgore's Fire Bolt
|
|
Conjuration/Evocation [Fire]
|
|
Level: Duskblade 1, sorcerer/wizard 1
|
|
Components: V,S,M
|
|
Casting Time: 1 standard action
|
|
Range: Medium
|
|
Target: One creature
|
|
Duration: Instantaneous
|
|
Saving Thorw: Reflex half
|
|
Spell Resistance: See text
|
|
|
|
This spell conjures a small orb of rock and sheathes
|
|
it in arcane energy. This spell deals 1d6 point of
|
|
fire damage per caster level (maximum 5d6). If you
|
|
fail to overcome the target's spell resistance, the
|
|
spell still deals 1d6 points of fire damage from the
|
|
heat and force of the conjured orb's impact.
|
|
|
|
Material component: A handful of ashes
|
|
**/
|
|
|
|
////////////////////////////////////////////////////
|
|
// Author: Tenjac
|
|
// Date: 21.9.06
|
|
////////////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
#include "prc_add_spell_dc"
|
|
|
|
void main()
|
|
{
|
|
if(!X2PreSpellCastCode()) return;
|
|
|
|
PRCSetSchool(SPELL_SCHOOL_EVOCATION);
|
|
|
|
object oPC = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
int nCasterLvl = PRCGetCasterLevel(oPC);
|
|
int nMetaMagic = PRCGetMetaMagicFeat();
|
|
int nDC = PRCGetSaveDC(oTarget,OBJECT_SELF);
|
|
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
|
|
int nMax = nCasterLvl;
|
|
if (nMax > 5) nMax = 5;
|
|
int nDam = d6(nMax);
|
|
|
|
PRCSignalSpellEvent(oTarget,TRUE, SPELL_KELGORES_FIRE_ORB, oPC);
|
|
|
|
if(nMetaMagic & METAMAGIC_MAXIMIZE)
|
|
{
|
|
nDam = 6 * nMax;
|
|
}
|
|
if(nMetaMagic & METAMAGIC_EMPOWER)
|
|
{
|
|
nDam += (nDam/2);
|
|
}
|
|
nDam += SpellDamagePerDice(oPC, nMax);
|
|
if(PRCDoResistSpell(oPC, oTarget, nCasterLvl + SPGetPenetr()))
|
|
{
|
|
nDam = d6(1);
|
|
nDam += SpellDamagePerDice(oPC, 1);
|
|
eVis = EffectVisualEffect(VFX_IMP_FLAME_S);
|
|
}
|
|
|
|
nDam = PRCGetReflexAdjustedDamage(nDam, oTarget, nDC, SAVING_THROW_TYPE_FIRE);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, PRCEffectDamage(oTarget, nDam, DAMAGE_TYPE_FIRE), oTarget);
|
|
|
|
PRCSetSchool();
|
|
} |