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.
88 lines
2.7 KiB
Plaintext
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);
|
|
}
|
|
}
|
|
}
|
|
}
|