PRC8/nwn/nwnprc/trunk/smp/phs_s_destructio.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

94 lines
3.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*:://////////////////////////////////////////////
//:: 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);
}
}
}
}