Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
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);
|
|
}
|
|
}
|
|
}
|
|
}
|