PRC8_fork/nwn/nwnprc/trunk/smp/xxx_s_sealmagic.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

80 lines
2.8 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 Seal Magic
//:: Spell FileName XXX_S_SealMagic
//:://////////////////////////////////////////////
//:: In Game Spell desctiption
//:://////////////////////////////////////////////
Abjuration
Level: Sor/Wiz 6
Components: V, S
Casting Time: 1 standard action
Range: Close (8M)
Target: One creature
Duration: Permanent
Saving Throw: Will negates
Spell Resistance: Yes
Source: Various (Dante Darkstar)
Upon casting Seal Magic a crimson circle of runes appears on the floor
around the target for a moment. Afterwards, the spell seals targets magical
powers. Affected creature cannot use spells and spell-like abilities until
this spell removed (it can still use its supernatural abilities and items).
This spell cannot be dispelled by Dispel Magic. Only Remove Curse cast by
caster of at least your level or Mordekainens Disjunction (regardless of
its caster level) can remove this spells effects. Wish, Limited Wish and
Miracle also can remove this spell if used for this purpose.
Note: affected creatures are not automatically aware of thier state (so
they dont know they cannot cast spells anymore unless they try, and even
then they can come up to a wrong conclusions, like your spell creating
antimagic field where he stands).
//:://////////////////////////////////////////////
//:: Spell Effects Applied / Notes
//:://////////////////////////////////////////////
Applies it, secretly.
Of course, saves and things are visiable, oh well.
//:://////////////////////////////////////////////
//:: Created By: Jasperre
//::////////////////////////////////////////////*/
#include "SMP_INC_SPELLS"
void main()
{
// Spell Hook Check.
if(!SMP_SpellHookCheck(SMP_SPELL_SEAL_MAGIC)) return;
//Declare major variables
object oCaster = OBJECT_SELF;
object oTarget = GetSpellTargetObject();
int nSpellSaveDC = SMP_GetSpellSaveDC();
int nMetaMagic = SMP_GetMetaMagicFeat();
// Declare Effects
effect eSeal = EffectSpellFailure(100, SPELL_SCHOOL_GENERAL);
effect eCessate = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
// Link effects
effect eLink = EffectLinkEffects(eSeal, eCessate);
// Always fire spell cast at event
SMP_SignalSpellCastAt(oTarget, SMP_SPELL_SEAL_MAGIC, TRUE);
// Must check reaction type for PvP
if(!GetIsReactionTypeFriendly(oTarget))
{
// Check spell resistance and immunities.
if(!SMP_SpellResistanceCheck(oCaster, oTarget))
{
//Make Will Save to negate effect
if(!SMP_SavingThrow(SAVING_THROW_WILL, oTarget, nSpellSaveDC))
{
// Apply VFX Impact and daze effect
SMP_ApplyPermanent(oTarget, eLink);
}
}
}
}