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.
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //::///////////////////////////////////////////////
 | |
| //:: Mind Fog: On Exit
 | |
| //:: NW_S0_MindFogB.nss
 | |
| //:: Copyright (c) 2001 Bioware Corp.
 | |
| //:://////////////////////////////////////////////
 | |
| /*
 | |
|     Creates a bank of fog that lowers the Will save
 | |
|     of all creatures within who fail a Will Save by
 | |
|     -10.  Effect lasts for 2d6 rounds after leaving
 | |
|     the fog
 | |
| */
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: Preston Watamaniuk
 | |
| //:: Created On: Aug 1, 2001
 | |
| //:://////////////////////////////////////////////
 | |
| 
 | |
| //:: modified by mr_bumpkin Dec 4, 2003 for PRC stuff
 | |
| #include "prc_inc_spells"
 | |
| 
 | |
| 
 | |
| 
 | |
| void main()
 | |
| {
 | |
| DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
 | |
| SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_ENCHANTMENT);
 | |
| 
 | |
|     //Declare major variables
 | |
|     effect eSave = EffectSavingThrowDecrease(SAVING_THROW_WILL, 10);
 | |
|     effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
 | |
|     effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_NEGATIVE);
 | |
|     effect eLink = EffectLinkEffects(eSave, eDur);
 | |
|     eLink = EffectLinkEffects(eLink, eVis);
 | |
| 
 | |
|     int nDuration = d6(2);
 | |
|     int nMetaMagic = PRCGetMetaMagicFeat();
 | |
|     int bValid = FALSE;
 | |
|     //Get the object that is exiting the AOE
 | |
|     object oTarget = GetExitingObject();
 | |
|     //Search through the valid effects on the target.
 | |
|     effect eAOE = GetFirstEffect(oTarget);
 | |
|     if(GetHasSpellEffect(SPELL_MIND_FOG, oTarget))
 | |
|     {
 | |
|         while (GetIsEffectValid(eAOE))
 | |
|         {
 | |
|             //If the effect was created by the Mind_Fog then remove it
 | |
|             if (GetEffectCreator(eAOE) == GetAreaOfEffectCreator() && GetEffectSpellId(eAOE) == SPELL_MIND_FOG)
 | |
|             {
 | |
|                 if(GetEffectType(eAOE) == EFFECT_TYPE_SAVING_THROW_DECREASE)
 | |
|                 {
 | |
|                     RemoveEffect(oTarget, eAOE);
 | |
|                     bValid = TRUE;
 | |
|                 }
 | |
|             }
 | |
|             //Get the next effect on the creation
 | |
|             eAOE = GetNextEffect(oTarget);
 | |
|          }
 | |
|     }
 | |
|     if(bValid == TRUE)
 | |
|     {
 | |
|         //Enter Metamagic conditions
 | |
|         if (CheckMetaMagic(nMetaMagic, METAMAGIC_MAXIMIZE))
 | |
|         {
 | |
|             nDuration = 12;
 | |
|         }
 | |
|         if (CheckMetaMagic(nMetaMagic, METAMAGIC_EMPOWER))
 | |
|         {
 | |
|             nDuration = nDuration + (nDuration/2); //Damage/Healing is +50%
 | |
|         }
 | |
|         if (CheckMetaMagic(nMetaMagic, METAMAGIC_EXTEND))
 | |
|         {
 | |
|             nDuration = nDuration * 2; //Duration is +100%
 | |
|         }
 | |
|         //Apply the new temporary version of the effect
 | |
|         SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration),FALSE);
 | |
|     }
 | |
| 
 | |
| DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
 | |
| // Getting rid of the local integer storing the spellschool name
 | |
| }
 |