PRC8/trunk/spells/sp_orb_force.nss
Jaysyn904 1662218bb4 Initial upload.
Adding base PRC 4.19a files to repository.
2022-10-07 13:51:24 -04:00

57 lines
1.5 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Name
//:: FileName sp_.nss
//:://////////////////////////////////////////////
/**@file Orb of Force
Conjuration (Creation) [Force]
Level: Sorcerer/wizard 4
Components: V, S
Casting Time: 1 standard action
Range: Medium (100 ft. + 10 ft./level)
Effect: One orb of force
Duration: Instantaneous
Saving Throw: None
Spell Resistance: No
You create a globe of force 3 inches
across, which streaks from your palm
toward your target. You must succeed on
a ranged touch attack to hit the target.
The orb deals 1d6 points of damage per
caster level (maximum 10d6).
Author: Tenjac
Created: 7/6/07
*/
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
#include "prc_inc_sp_tch"
void main()
{
if(!X2PreSpellCastCode()) return;
PRCSetSchool(SPELL_SCHOOL_CONJURATION);
object oPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nCasterLvl = PRCGetCasterLevel(oPC);
int nDice = min(10, nCasterLvl);
int nDam = d6(nDice);
int nTouch = PRCDoRangedTouchAttack(oTarget);
int nMetaMagic = PRCGetMetaMagicFeat();
if(nMetaMagic & METAMAGIC_MAXIMIZE) nDam = 6 * nDice;
if(nMetaMagic & METAMAGIC_EMPOWER) nDam += (nDam/2);
nDam += SpellDamagePerDice(oPC, nDice);
PRCSignalSpellEvent(oTarget, TRUE, SPELL_ORB_OF_FORCE);
if(nTouch)
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_PULSE_BOMB), oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, PRCEffectDamage(oTarget, nDam, DAMAGE_TYPE_MAGICAL), oTarget);
}
}