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.
41 lines
1.7 KiB
Plaintext
41 lines
1.7 KiB
Plaintext
/*
|
||
26/1/21 by Stratovarius
|
||
|
||
Word of Abrogation (Sp): Beginning at 6th level, you
|
||
can use your command of incarnum to counterspell your
|
||
enemies. To do so, you must first ready an action. If any
|
||
creature within 60 feet of you casts a spell or uses a spell-like
|
||
ability, you can attempt to negate the effect as an immediate
|
||
action with a caster level check (DC 11 + the enemy creature’s
|
||
caster level), using your meldshaper level as your caster level.
|
||
You gain a +1 bonus on the check for every point of essentia
|
||
you invest in this ability. You can abrogate only one spell or
|
||
spell-like effect with each use of this ability, so if you are
|
||
facing multiple spellcasters, you must decide which one to
|
||
target with your word of abrogation and wait until your chosen
|
||
target takes its turn.
|
||
|
||
*/
|
||
|
||
#include "moi_inc_moifunc"
|
||
|
||
void main()
|
||
{
|
||
object oMeldshaper = OBJECT_SELF;
|
||
|
||
// If you've already got it, clean up instead
|
||
if (!GetLocalInt(oMeldshaper, "Abrogation"))
|
||
{
|
||
int nEssentia = GetEssentiaInvested(oMeldshaper, MELD_WITCH_ABROGATION);
|
||
int nMeldshaperLvl = GetMeldshaperLevel(oMeldshaper, GetPrimaryIncarnumClass(oMeldshaper), MELD_WITCH_ABROGATION);
|
||
// This is because if you've readied an action to counterspell, you can't attack
|
||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectLinkEffects(EffectSlow(), EffectAttackDecrease(-40))), oMeldshaper, 9999.0);
|
||
SetLocalInt(oMeldshaper, "Abrogation", 10+nMeldshaperLvl+nEssentia);
|
||
}
|
||
else
|
||
{
|
||
DeleteLocalInt(oMeldshaper, "Abrogation");
|
||
PRCRemoveSpellEffects(MELD_WITCH_ABROGATION, oMeldshaper, oMeldshaper);
|
||
GZPRCRemoveSpellEffects(MELD_WITCH_ABROGATION, oMeldshaper, FALSE);
|
||
}
|
||
} |