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.
81 lines
2.4 KiB
Plaintext
81 lines
2.4 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Disrupt Undead
|
|
//:: Spell FileName phs_s_disruptund
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
Disrupt Undead
|
|
Necromancy
|
|
Level: Sor/Wiz 0
|
|
Components: V, S
|
|
Casting Time: 1 standard action
|
|
Range: Close (8M)
|
|
Effect: Ray
|
|
Duration: Instantaneous
|
|
Saving Throw: None
|
|
Spell Resistance: Yes
|
|
|
|
You direct a ray of positive energy. You must make a ranged touch attack to
|
|
hit, and if the ray hits an undead creature, it deals 1d6 points of damage
|
|
to it.
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
Holy ray and 1d6 divine damage. Easy peasy :-)
|
|
|
|
Requires a touch attack - ray based.
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "PHS_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell Hook Check
|
|
if(!PHS_SpellHookCheck(PHS_SPELL_DISRUPT_UNDEAD)) return;
|
|
|
|
// Delcare major variables
|
|
object oCaster = OBJECT_SELF;
|
|
object oTarget = GetSpellTargetObject();
|
|
int nMetaMagic = PHS_GetMetaMagicFeat();
|
|
int nDamage;
|
|
|
|
// Touch attack
|
|
int nTouch = PHS_SpellTouchAttack(PHS_TOUCH_RAY, oTarget, TRUE);
|
|
|
|
// Declare effects
|
|
effect eVis = EffectVisualEffect(VFX_COM_HIT_DIVINE); // Smaller hit then VFX_IMP_SUNSTRIKE
|
|
|
|
// Signal Spell cast at
|
|
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_DISRUPT_UNDEAD);
|
|
|
|
// Beam visual
|
|
PHS_ApplyTouchBeam(oTarget, VFX_BEAM_HOLY, nTouch, 1.0);
|
|
|
|
// Touch ray attack
|
|
if(nTouch)
|
|
{
|
|
// Make sure the target is undead
|
|
if(GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
|
|
{
|
|
// PvP check
|
|
if(!GetIsReactionTypeFriendly(oTarget) &&
|
|
// Make sure they are not immune to spells
|
|
!PHS_TotalSpellImmunity(oTarget))
|
|
{
|
|
// Spell resistance
|
|
if(!PHS_SpellResistanceCheck(oCaster, oTarget))
|
|
{
|
|
// Damage is 1d6 Divine
|
|
nDamage = PHS_MaximizeOrEmpower(6, 1, nMetaMagic, 0, nTouch);
|
|
|
|
// Apply damage and hit effects
|
|
PHS_ApplyDamageVFXToObject(oTarget, eVis, nDamage, DAMAGE_TYPE_DIVINE);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|