Initial upload.

Adding base PRC 4.19a files to repository.
This commit is contained in:
Jaysyn904
2022-10-07 13:51:24 -04:00
parent 646eb01834
commit 1662218bb4
22441 changed files with 1274376 additions and 0 deletions

View 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 dont 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();
}