Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
118 lines
4.2 KiB
Plaintext
118 lines
4.2 KiB
Plaintext
/*:://////////////////////////////////////////////
|
||
//:: Spell Name Call Lightning Storm
|
||
//:: Spell FileName PHS_S_CallLghSt
|
||
//:://////////////////////////////////////////////
|
||
//:: In Game Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Evocation [Electricity]
|
||
Level: Drd 5
|
||
Components: V, S
|
||
Casting Time: 1 round
|
||
Range: Long (40M)
|
||
Effect: One or more vertical lines of lightning
|
||
Duration: 1 min./level
|
||
Saving Throw: Reflex half
|
||
Spell Resistance: Yes
|
||
|
||
Immediately upon completion of the spell, and once per round thereafter,
|
||
you may call down a vertical bolt of lightning that deals 5d6 points of
|
||
electricity damage to one target. The bolt of lightning flashes down in a
|
||
vertical stroke at whatever target point you choose within the spell’s
|
||
range (measured from your position at the time).
|
||
|
||
You need not call a bolt of lightning immediately; other actions, even
|
||
spellcasting, can be performed. However, each round after the first you
|
||
may use a standard action (concentrating on the spell) to call a bolt. You
|
||
may call a total number of bolts equal to your caster level (maximum 15
|
||
bolts).
|
||
|
||
If you are outdoors and in a stormy area - a rain shower, clouds - each
|
||
bolt deals 5d10 points of electricity damage instead of 3d6.
|
||
|
||
This spell functions indoors or underground.
|
||
//:://////////////////////////////////////////////
|
||
//:: 3E Specific Spell desctiption
|
||
//:://////////////////////////////////////////////
|
||
Call Lightning Storm
|
||
Evocation [Electricity]
|
||
Level: Drd 5
|
||
Range: Long (400 ft. + 40 ft./level)
|
||
|
||
This spell functions like call lightning, except that each bolt deals 5d6
|
||
points of electricity damage (or 5d10 if created outdoors in a stormy area),
|
||
and you may call a maximum of 15 bolts.
|
||
//:://////////////////////////////////////////////
|
||
//:: Spell Effects Applied / Notes
|
||
//:://////////////////////////////////////////////
|
||
Spell is similar, if no exactly the same as Call Lightning.
|
||
|
||
2 sets of spell files, for both easier use and easier debug.
|
||
//:://////////////////////////////////////////////
|
||
//:: Created By: Jasperre
|
||
//::////////////////////////////////////////////*/
|
||
|
||
#include "PHS_INC_SPELLS"
|
||
|
||
void main()
|
||
{
|
||
// Spell Hook Check.
|
||
if(!PHS_SpellHookCheck()) return;
|
||
|
||
// Delcare major variables.
|
||
object oCaster = OBJECT_SELF;
|
||
object oTarget = GetSpellTargetObject();// This should be an enemy
|
||
object oArea = GetArea(oCaster);
|
||
int nCasterLevel = PHS_GetCasterLevel();
|
||
int nSpellSaveDC = PHS_GetSpellSaveDC();
|
||
int nMetaMagic = PHS_GetMetaMagicFeat();
|
||
int nBolts = PHS_LimitInteger(nCasterLevel, 15);
|
||
int nDam;
|
||
|
||
// Duration is 1 mintute/level
|
||
float fDuration = PHS_GetDuration(PHS_MINUTES, nCasterLevel, nMetaMagic);
|
||
|
||
// Declare effects
|
||
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_M); // Large one
|
||
|
||
// Add charges for this spell.
|
||
PHS_AddChargesForSpell(PHS_SPELL_CALL_LIGHTNING_STORM, nBolts, fDuration);
|
||
|
||
// Apply visual, whatever the effect (PvP and so on)
|
||
// - Kinda a natural effect.
|
||
PHS_ApplyVFX(oTarget, eVis);
|
||
|
||
// Check reaction type and equal areas (just in case, for weather stuff)
|
||
if(!GetIsReactionTypeFriendly(oTarget) && oArea == GetArea(oTarget))
|
||
{
|
||
// Signal spell cast at event
|
||
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_CALL_LIGHTNING_STORM);
|
||
|
||
// Check spell resistance
|
||
if(!PHS_SpellResistanceCheck(oCaster, oTarget))
|
||
{
|
||
// Damage!
|
||
// - Is it a stormy area
|
||
if(GetWeather(oArea) == WEATHER_RAIN)
|
||
{
|
||
// 5d10
|
||
nDam = PHS_MaximizeOrEmpower(10, 5, nMetaMagic);
|
||
}
|
||
else
|
||
{
|
||
// 5d6
|
||
nDam = PHS_MaximizeOrEmpower(6, 5, nMetaMagic);
|
||
}
|
||
|
||
// Reflex save
|
||
nDam = PHS_GetAdjustedDamage(SAVING_THROW_REFLEX, nDam, oTarget, nSpellSaveDC, SAVING_THROW_TYPE_ELECTRICITY, oCaster);
|
||
|
||
// Check if we will damage
|
||
if(nDam > 0)
|
||
{
|
||
// Apply damage
|
||
PHS_ApplyDamageToObject(oTarget, nDam, DAMAGE_TYPE_ELECTRICAL);
|
||
}
|
||
}
|
||
}
|
||
}
|