Updated Release Archive
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.
This commit is contained in:
90
nwn/trunk/spells/sp_heart_ripr.nss
Normal file
90
nwn/trunk/spells/sp_heart_ripr.nss
Normal file
@@ -0,0 +1,90 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Name Heart Ripper
|
||||
//:: FileName sp_heart_ripr
|
||||
//:://////////////////////////////////////////////
|
||||
/**@file Heart Ripper
|
||||
Necromancy [Death]
|
||||
Level: Assassin 4
|
||||
Components: V, S
|
||||
Casting Time: 1 standard action
|
||||
Range: Close (25 ft. + 5 ft./2 levels)
|
||||
Target: One living creature
|
||||
Duration: Instantaneous
|
||||
Saving Throw: Fortitude negates
|
||||
Spell Resistance: Yes
|
||||
|
||||
Invisible bolts of force instantly slay
|
||||
the target you designate by driving its
|
||||
heart from its body unless it succeeds
|
||||
on a Fortitude save. If the target has
|
||||
HD higher than your caster level, it
|
||||
does not die on a failed saving throw,
|
||||
but instead is stunned for 1d4 rounds.
|
||||
Creatures that don<6F>t depend on their
|
||||
hearts for survival, creatures with no
|
||||
anatomy, and creatures immune to
|
||||
extra damage from critical hits are
|
||||
unaffected by the spell.
|
||||
|
||||
Author: Tenjac
|
||||
Created: 6/28/07
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
void main()
|
||||
{
|
||||
if(!X2PreSpellCastCode()) return;
|
||||
|
||||
PRCSetSchool(SPELL_SCHOOL_NECROMANCY);
|
||||
|
||||
object oPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nCasterLvl = PRCGetCasterLevel(oPC);
|
||||
|
||||
int nType = MyPRCGetRacialType(oTarget);
|
||||
|
||||
if(nType == RACIAL_TYPE_UNDEAD ||
|
||||
nType == RACIAL_TYPE_ELEMENTAL ||
|
||||
nType == RACIAL_TYPE_CONSTRUCT ||
|
||||
GetIsImmune(oTarget, IMMUNITY_TYPE_CRITICAL_HIT))
|
||||
|
||||
{
|
||||
SendMessageToPC(oPC, "Target creature is immune to the effects of this spell.");
|
||||
PRCSetSchool();
|
||||
return;
|
||||
}
|
||||
|
||||
//SR check
|
||||
if(!PRCDoResistSpell(oPC, oTarget, (nCasterLvl + SPGetPenetr())))
|
||||
{
|
||||
//Save
|
||||
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, PRCGetSaveDC(oTarget, oPC), SAVING_THROW_TYPE_DEATH))
|
||||
{
|
||||
//Check HD
|
||||
int nHD = GetHitDice(oTarget);
|
||||
|
||||
if(nHD > nCasterLvl)
|
||||
{
|
||||
int nStun = d4(1);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectStunned(), oTarget, RoundsToSeconds(nStun), TRUE, SPELL_HEART_RIPPER, nCasterLvl);
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
//Kill it. Chunkaliciously.
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_COM_CHUNK_RED_MEDIUM), oTarget);
|
||||
|
||||
effect eDeath = EffectDeath();
|
||||
SupernaturalEffect(eDeath);
|
||||
|
||||
DeathlessFrenzyCheck(oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
PRCSetSchool();
|
||||
}
|
Reference in New Issue
Block a user