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

88 lines
2.7 KiB
Plaintext

/*:://////////////////////////////////////////////
//:: Spell Name Blindness/Deafness
//:: Spell FileName SMP_S_BlindDeaf
//:://////////////////////////////////////////////
//:: In Game Spell desctiption
//:://////////////////////////////////////////////
Necromancy
Level: Brd 2, Clr 3, Sor/Wiz 2
Components: V
Casting Time: 1 standard action
Range: Medium (20M)
Target: One living creature
Duration: Permanent (D)
Saving Throw: Fortitude negates
Spell Resistance: Yes
You call upon the powers of unlife to render the subject blinded or deafened,
as you choose.
//:://////////////////////////////////////////////
//:: Spell Effects Applied / Notes
//:://////////////////////////////////////////////
Set to be a permament effect, but I bet resting takes it off.
It cannot be set to non-magical incase they want to dispel it. Might make
it Supernatural or Extraordinary if there is need for it, because really
I bet it can't be dispelled.
Sub-dial spell. 2 subdials are either Blindness or Deafness. Both useful,
although Blindness is generally more hampering, deafness causes arcane
spell failure.
//:://////////////////////////////////////////////
//:: Created By: Jasperre
//::////////////////////////////////////////////*/
#include "SMP_INC_SPELLS"
void main()
{
// Spell hook check.
if(!SMP_SpellHookCheck()) return;
// Declare major variables
object oCaster = OBJECT_SELF;
object oTarget = GetSpellTargetObject();
int nSpellSaveDC = SMP_GetSpellSaveDC();
int nSpellId = GetSpellId();
// Declare effects
effect eVis = EffectVisualEffect(VFX_IMP_BLIND_DEAF_M);
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eBad;
effect eLink;
// Check spell ID
if(nSpellId == SMP_SPELL_BLINDNESS_DEAFNESS_DEAF)
{
eBad = EffectDeaf();
}
// Default to blind
else //if(nSpellId == SMP_SPELL_BLINDNESS_DEAFNESS_BLIND)
{
eBad = EffectBlindness();
}
// Link final effects
eLink = EffectLinkEffects(eBad, eCessate);
// PvP Check
if(!GetIsReactionTypeFriendly(oTarget) &&
// Make sure they are not immune to spells
!SMP_TotalSpellImmunity(oTarget))
{
// Signal Spell Cast At event
SMP_SignalSpellCastAt(oTarget, SMP_SPELL_BLINDNESS_DEAFNESS);
// Spell Resistance and Immunity check
if(!SMP_SpellResistanceCheck(oCaster, oTarget))
{
// Fortitude save check
if(!SMP_SavingThrow(SAVING_THROW_FORT, oTarget, nSpellSaveDC))
{
// Apply effects (Permamently!)
SMP_ApplyPermanentAndVFX(oTarget, eVis, eLink);
}
}
}
}