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.
67 lines
2.6 KiB
Plaintext
67 lines
2.6 KiB
Plaintext
/*
|
|
16/02/19 by Stratovarius
|
|
|
|
Unveil
|
|
|
|
Initiate, Veil of Shadows
|
|
Level/School: 6th/Divination
|
|
Range: Touch
|
|
Target: Creature touched
|
|
Duration: Instantaneous
|
|
|
|
Reaching into the shadow of the creature, you grasp the shadows of the deleterious things that affect it and tear them away.
|
|
|
|
This mystery immediately ends any of the following adverse conditions: ability damage, blinded, confused, dazed, dazzled, deafened,
|
|
diseased, exhausted, fatigued, immobilized, insanity, nauseated, sickened, stunned, and poisoned. In addition, it negates the effects
|
|
of the mysteries mesmerizing shade and shadow hood, and cancels curses as the spell remove curse.
|
|
*/
|
|
|
|
#include "shd_inc_shdfunc"
|
|
#include "shd_mysthook"
|
|
|
|
void main()
|
|
{
|
|
if(!ShadPreMystCastCode()) return;
|
|
|
|
object oShadow = OBJECT_SELF;
|
|
object oTarget = PRCGetSpellTargetObject();
|
|
struct mystery myst = EvaluateMystery(oShadow, oTarget, METASHADOW_EXTEND);
|
|
|
|
if(myst.bCanMyst)
|
|
{
|
|
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SOUL_TRAP), oTarget);
|
|
|
|
//Remove Curse and named mysteries
|
|
PRCRemoveEffectsFromSpell(oTarget, MYST_MESMERIZING_SHADE);
|
|
PRCRemoveEffectsFromSpell(oTarget, FUND_SHADOW_HOOD);
|
|
PRCRemoveEffectsFromSpell(oTarget, SPELL_GHOUL_GAUNTLET);
|
|
PRCRemoveEffectsFromSpell(oTarget, SPELL_TOUCH_OF_JUIBLEX);
|
|
PRCRemoveEffectsFromSpell(oTarget, SPELL_EVIL_EYE);
|
|
|
|
effect eBad = GetFirstEffect(oTarget);
|
|
//Search for negative effects
|
|
while(GetIsEffectValid(eBad))
|
|
{
|
|
int nInt = GetEffectSpellId(eBad);
|
|
if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_CONFUSED ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_DAZED ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_DISEASE ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_CUTSCENEIMMOBILIZE ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_STUNNED ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_POISON ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_CURSE ||
|
|
GetEffectType(eBad) == EFFECT_TYPE_PARALYZE)
|
|
{
|
|
//Remove effect if it is negative.
|
|
if(nInt != SPELL_INTUITIVE_ATK)
|
|
{
|
|
RemoveEffect(oTarget, eBad);
|
|
}
|
|
}
|
|
eBad = GetNextEffect(oTarget);
|
|
}
|
|
}
|
|
} |