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);
 | |
|         }             
 | |
|     }
 | |
| } |