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,93 @@
/*:://////////////////////////////////////////////
//:: Spell Name Destruction
//:: Spell FileName PHS_S_Destructio
//:://////////////////////////////////////////////
//:: In Game Spell desctiption
//:://////////////////////////////////////////////
Necromancy [Death]
Level: Clr 7, Death 7
Components: V, S, F
Casting Time: 1 standard action
Range: Close (8M)
Target: One creature
Duration: Instantaneous
Saving Throw: Fortitude partial
Spell Resistance: Yes
This spell instantly slays the subject and consumes its remains (but not its
equipment and possessions) utterly. If the targets Fortitude saving throw
succeeds, it instead takes 10d6 points of damage. The only way to restore
life to a character who has failed to save against this spell is to use true
resurrection, a carefully worded wish spell followed by resurrection, or
miracle.
Focus: A special holy (or unholy) symbol of silver marked with verses of
anathema (cost 500 gp).
//:://////////////////////////////////////////////
//:: Spell Effects Applied / Notes
//:://////////////////////////////////////////////
As spell description.
Resurrection for PC's leave up to the module builder - but NPC's do not
leave a corpse at all.
The thing is a focus, not a material component.
//:://////////////////////////////////////////////
//:: Created By: Jasperre
//::////////////////////////////////////////////*/
#include "PHS_INC_SPELLS"
void main()
{
// Spell Hook Check.
if(!PHS_SpellHookCheck(PHS_SPELL_DESTRUCTION)) return;
// Check for the focus, a holy symbol.
if(!PHS_ComponentFocusItem(PHS_ITEM_HOLY_SYMBOL_500, "Holy Symbol with verses of anathema", "Destruction")) return;
// Delcare Major Variables
object oCaster = OBJECT_SELF;
object oTarget = GetSpellTargetObject();
int nSpellSaveDC = PHS_GetSpellSaveDC();
int nMetaMagic = PHS_GetMetaMagicFeat();
int nDamage = PHS_MaximizeOrEmpower(6, 10, nMetaMagic);
// Delcare Effects
effect eVis = EffectVisualEffect(VFX_IMP_DESTRUCTION);
// - Spectacular death.
effect eDeath = EffectDeath(TRUE);
// Signal spell cast at event
PHS_SignalSpellCastAt(oTarget, PHS_SPELL_DESTRUCTION);
// PvP Check
if(!GetIsReactionTypeFriendly(oTarget) &&
// Make sure they are not immune to spells
!PHS_TotalSpellImmunity(oTarget))
{
// Spell Resistance + Immunity
if(!PHS_SpellResistanceCheck(oCaster, oTarget))
{
// Apply visual always (we at least do damage if immune/pass save)
PHS_ApplyVFX(oTarget, eVis);
// Fortitude save
if(!PHS_SavingThrow(SAVING_THROW_FORT, oTarget, nSpellSaveDC, SAVING_THROW_TYPE_DEATH))
{
// - Death on fail
PHS_ApplyInstant(oTarget, eDeath);
// If it is an NPC, destroy the body after death
if(!GetIsPC(oTarget))
{
ExecuteScript("phs_1_npcdestroy", oTarget);
}
}
else
{
// - 10d6 damage on pass
PHS_ApplyDamageToObject(oTarget, nDamage, DAMAGE_TYPE_DIVINE);
}
}
}
}