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.
		
			
				
	
	
		
			104 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //::///////////////////////////////////////////////
 | |
| //:: Lesser Dispel
 | |
| //:: NW_S0_LsDispel.nss
 | |
| //:: Copyright (c) 2001 Bioware Corp.
 | |
| //:://////////////////////////////////////////////
 | |
| //:: Created By: Preston Watamaniuk
 | |
| //:: Created On: Jan 7, 2002
 | |
| //:: Updated On: Oct 20, 2003, Georg Zoeller
 | |
| //:://////////////////////////////////////////////
 | |
| 
 | |
| 
 | |
| //:: modified by mr_bumpkin Dec 4, 2003 for PRC stuff
 | |
| #include "inc_dispel"  
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| void main()
 | |
| {
 | |
| DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
 | |
| SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_ABJURATION);
 | |
| 
 | |
|     //--------------------------------------------------------------------------
 | |
|     /*
 | |
|       Spellcast Hook Code
 | |
|       Added 2003-06-20 by Georg
 | |
|       If you want to make changes to all spells,
 | |
|       check x2_inc_spellhook.nss to find out more
 | |
|     */
 | |
|     //--------------------------------------------------------------------------
 | |
|     if (!X2PreSpellCastCode())
 | |
|     {
 | |
|         return;
 | |
|     }
 | |
|     // End of Spell Cast Hook
 | |
| 
 | |
| 
 | |
|     //Declare major variables
 | |
|     effect    eVis         = EffectVisualEffect(VFX_IMP_HEAD_SONIC);
 | |
|     effect    eImpact      = EffectVisualEffect(VFX_FNF_LOS_NORMAL_20);
 | |
|     object    oTarget      = PRCGetSpellTargetObject();
 | |
|     location  lLocal       = PRCGetSpellTargetLocation();
 | |
|     int       nCasterLevel = PRCGetCasterLevel(OBJECT_SELF);
 | |
|     
 | |
|     int iTypeDispel = GetLocalInt(GetModule(),"BIODispel");
 | |
| 
 | |
|     //--------------------------------------------------------------------------
 | |
|     // Lesser Magic is capped at caster level 5
 | |
|     //--------------------------------------------------------------------------
 | |
|     if(nCasterLevel > 5)
 | |
|     {
 | |
|         nCasterLevel = 5;
 | |
|     }
 | |
| 
 | |
| 
 | |
|     if (GetIsObjectValid(oTarget))
 | |
|     {
 | |
|         //----------------------------------------------------------------------
 | |
|         // Targeted Dispel - Dispel all
 | |
|         //----------------------------------------------------------------------
 | |
|            if (iTypeDispel)
 | |
|              spellsDispelMagic(oTarget, nCasterLevel, eVis, eImpact);
 | |
|            else
 | |
|              spellsDispelMagicMod(oTarget, nCasterLevel, eVis, eImpact);
 | |
| 
 | |
|     }
 | |
|     else
 | |
|     {
 | |
|         //----------------------------------------------------------------------
 | |
|         // Area of Effect - Only dispel best effect
 | |
|         //----------------------------------------------------------------------
 | |
| 
 | |
|         ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, PRCGetSpellTargetLocation());
 | |
|         oTarget = MyFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, lLocal, FALSE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_AREA_OF_EFFECT | OBJECT_TYPE_PLACEABLE);
 | |
|         while (GetIsObjectValid(oTarget))
 | |
|         {
 | |
|             if(GetObjectType(oTarget) == OBJECT_TYPE_AREA_OF_EFFECT)
 | |
|             {
 | |
|                 //--------------------------------------------------------------
 | |
|                 // Handle Area of Effects
 | |
|                 //--------------------------------------------------------------
 | |
|                 if (iTypeDispel)
 | |
|                    spellsDispelAoE(oTarget, OBJECT_SELF,nCasterLevel);
 | |
|                 else
 | |
|                    spellsDispelAoEMod(oTarget, OBJECT_SELF,nCasterLevel);
 | |
|             }
 | |
|             else if (GetObjectType(oTarget) == OBJECT_TYPE_PLACEABLE)
 | |
|             {
 | |
|                 SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, GetSpellId()));
 | |
|             }
 | |
|             else
 | |
|             {
 | |
|                   if (iTypeDispel)
 | |
|                      spellsDispelMagic(oTarget, nCasterLevel, eVis, eImpact, FALSE);
 | |
|                   else
 | |
|                      spellsDispelMagicMod(oTarget, nCasterLevel, eVis, eImpact, FALSE);
 | |
|             }
 | |
|             oTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE,lLocal, FALSE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_AREA_OF_EFFECT | OBJECT_TYPE_PLACEABLE);
 | |
|         }
 | |
|     }
 | |
| DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
 | |
| // Getting rid of the local integer storing the spellschool name
 | |
| }
 |