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.
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Polar Ray
|
|
//:: Spell FileName PHS_S_PolarRay
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
Evocation [Cold]
|
|
Level: Sor/Wiz 8
|
|
Components: V, S, F
|
|
Casting Time: 1 standard action
|
|
Range: Close (8M)
|
|
Effect: Ray
|
|
Duration: Instantaneous
|
|
Saving Throw: None
|
|
Spell Resistance: Yes
|
|
|
|
A blue-white ray of freezing air and ice springs from your hand. You must
|
|
succeed on a ranged touch attack with the ray to deal damage to a target.
|
|
The ray deals 1d6 points of cold damage per caster level (maximum 25d6).
|
|
|
|
Focus: A small, white ceramic cone or prism.
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
Touch attack (ray) for 1d6 caster level, max 25d6.
|
|
|
|
It has more rays then the standard cold ray. It will create some placeables
|
|
just next to the target's location :-)
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "PHS_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell Hook Check.
|
|
if(!PHS_SpellHookCheck(PHS_SPELL_POLAR_RAY)) return;
|
|
|
|
// Declare major variables
|
|
object oCaster = OBJECT_SELF;
|
|
object oTarget = GetSpellTargetObject();
|
|
int nCasterLevel = PHS_GetCasterLevel();
|
|
int nMetaMagic = PHS_GetMetaMagicFeat();
|
|
|
|
// Ray ranged touch attack
|
|
int nTouch = PHS_SpellTouchAttack(PHS_TOUCH_RAY, oTarget, TRUE);
|
|
|
|
// Up to 25d6 damage
|
|
int nDice = PHS_LimitInteger(nCasterLevel, 25);
|
|
|
|
// Damage is up to 25d6 (Double for critical, its a ray)
|
|
int nDam = PHS_MaximizeOrEmpower(6, nDice, nMetaMagic, FALSE, nTouch);
|
|
|
|
// Delcare effects
|
|
effect eVis = EffectVisualEffect(VFX_IMP_FROST_L);
|
|
|
|
// Signal event
|
|
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_POLAR_RAY);
|
|
|
|
// Do ray hit/miss
|
|
PHS_ApplyTouchBeam(oTarget, VFX_BEAM_COLD, nTouch);
|
|
|
|
// Touch attack
|
|
if(nTouch)
|
|
{
|
|
// Apply cool Visuals along the ray in inteverals of 0.05 seconds.
|
|
PHS_ApplyBeamAlongVisuals(VFX_IMP_FROST_S, oCaster, oTarget, 1.0);
|
|
|
|
// PvP check
|
|
if(!GetIsReactionTypeFriendly(oTarget))
|
|
{
|
|
// Resistance
|
|
if(!PHS_SpellResistanceCheck(oCaster, oTarget))
|
|
{
|
|
// Apply effects
|
|
PHS_ApplyDamageVFXToObject(oTarget, eVis, nDam, DAMAGE_TYPE_COLD);
|
|
}
|
|
}
|
|
}
|
|
}
|