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.
72 lines
2.5 KiB
Plaintext
72 lines
2.5 KiB
Plaintext
/*:://////////////////////////////////////////////
|
|
//:: Spell Name Finger of Death
|
|
//:: Spell FileName phs_s_fingrofdth
|
|
//:://////////////////////////////////////////////
|
|
//:: In Game Spell desctiption
|
|
//:://////////////////////////////////////////////
|
|
8M range, fort partial, SR applies. 1 living creature as target. [Death]
|
|
|
|
You can slay any one living creature within range. The target is entitled to
|
|
a Fortitude saving throw to survive the attack. If the save is successful,
|
|
the creature instead takes 3d6 points of damage +1 point per caster level
|
|
(maximum +25).
|
|
|
|
The subject might die from damage even if it succeeds on its saving throw.
|
|
//:://////////////////////////////////////////////
|
|
//:: Spell Effects Applied / Notes
|
|
//:://////////////////////////////////////////////
|
|
Standard death spell. Very similar to NWN's already one, for once :-)
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Jasperre
|
|
//::////////////////////////////////////////////*/
|
|
|
|
#include "PHS_INC_SPELLS"
|
|
|
|
void main()
|
|
{
|
|
// Spell Hook Check.
|
|
if(!PHS_SpellHookCheck(PHS_SPELL_FINGER_OF_DEATH)) return;
|
|
|
|
// Declare Major Variables
|
|
object oCaster = OBJECT_SELF;
|
|
object oTarget = GetSpellTargetObject();
|
|
int nCasterLevel = PHS_GetCasterLevel();
|
|
int nSpellSaveDC = PHS_GetSpellSaveDC();
|
|
int nMetaMagic = PHS_GetMetaMagicFeat();
|
|
|
|
// Limit the bonus to damage to 25.
|
|
int nBonus = PHS_LimitInteger(nCasterLevel, 25);
|
|
// Damage is 3d6 + Caster level to 25.
|
|
int nDamage = PHS_MaximizeOrEmpower(6, 3, nMetaMagic, nCasterLevel);
|
|
|
|
// Delcare effects
|
|
// Death effects
|
|
effect eVis = EffectVisualEffect(VFX_IMP_DEATH_L);
|
|
effect eDeath = EffectDeath();
|
|
// Damage effects
|
|
effect eVis2 = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
|
|
|
// Signal Spell cast at
|
|
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_FINGER_OF_DEATH);
|
|
|
|
// PvP Check
|
|
if(!GetIsReactionTypeFriendly(oTarget))
|
|
{
|
|
// Spell Resistance + Immunity check
|
|
if(!PHS_SpellResistanceCheck(oCaster, oTarget))
|
|
{
|
|
// Saving throw + Immunity check
|
|
if(!PHS_SavingThrow(SAVING_THROW_FORT, oTarget, nSpellSaveDC, SAVING_THROW_TYPE_DEATH))
|
|
{
|
|
// Fail and we apply death
|
|
PHS_ApplyInstantAndVFX(oTarget, eVis, eDeath);
|
|
}
|
|
else
|
|
{
|
|
// Even if they pass, we do damage.
|
|
PHS_ApplyDamageVFXToObject(oTarget, eVis2, nDamage, DAMAGE_TYPE_NEGATIVE);
|
|
}
|
|
}
|
|
}
|
|
}
|