Further file organization
Further file organization
This commit is contained in:
87
nwn/nwnprc/trunk/smp/smp_s_blinddeaf.nss
Normal file
87
nwn/nwnprc/trunk/smp/smp_s_blinddeaf.nss
Normal file
@@ -0,0 +1,87 @@
|
||||
/*:://////////////////////////////////////////////
|
||||
//:: 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user