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.
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
//////////////////////////////////////////////////
 | 
						|
// Throw energized potion
 | 
						|
// sp_throw_ep.nss
 | 
						|
//////////////////////////////////////////////////
 | 
						|
 | 
						|
#include "prc_inc_spells"
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
        object oGrenade = PRCGetSpellCastItem();
 | 
						|
        int nDamType = GetLocalInt(oGrenade, "PRC_GrenadeDamageType");
 | 
						|
        int nStrength = GetLocalInt(oGrenade, "PRC_GrenadeLevel");
 | 
						|
        int nSaveType = GetLocalInt(oGrenade, "PRC_EnergizedPotionSave");
 | 
						|
        int nDC = GetLocalInt(oGrenade, "PRC_EnPotSaveDC");
 | 
						|
        int nDam;
 | 
						|
        location lLoc = PRCGetSpellTargetLocation();
 | 
						|
        // do some vfx to apply to hit targets
 | 
						|
        int nVFX;
 | 
						|
        switch (nDamType)
 | 
						|
        {
 | 
						|
            case DAMAGE_TYPE_ACID:
 | 
						|
                nVFX = VFX_IMP_ACID_L;
 | 
						|
                break;
 | 
						|
            case DAMAGE_TYPE_COLD:
 | 
						|
                nVFX = VFX_IMP_FROST_S;
 | 
						|
                break;
 | 
						|
            case DAMAGE_TYPE_ELECTRICAL:
 | 
						|
                nVFX = VFX_IMP_LIGHTNING_S;
 | 
						|
                break;
 | 
						|
            case DAMAGE_TYPE_FIRE:
 | 
						|
                nVFX = VFX_IMP_FLAME_M;
 | 
						|
                break;
 | 
						|
            case DAMAGE_TYPE_SONIC:
 | 
						|
                nVFX = VFX_IMP_SONIC;
 | 
						|
                break;
 | 
						|
        }
 | 
						|
        effect eVis = EffectVisualEffect(nVFX);
 | 
						|
        object oTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(10.0), lLoc, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
 | 
						|
        
 | 
						|
        while(GetIsObjectValid(oTarget))
 | 
						|
        {
 | 
						|
            if(spellsIsTarget(oTarget,SPELL_TARGET_STANDARDHOSTILE,OBJECT_SELF))
 | 
						|
            {
 | 
						|
                //Fire cast spell at event for the specified target
 | 
						|
                PRCSignalSpellEvent(oTarget);
 | 
						|
                nDam = d6(nStrength);
 | 
						|
                nDam = PRCGetReflexAdjustedDamage(nDam, oTarget, nDC, nSaveType);
 | 
						|
                if(nDam > 0)
 | 
						|
                {
 | 
						|
                    ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nDam, nDamType), oTarget);
 | 
						|
                    // vfx on object
 | 
						|
                    ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
 | 
						|
                }
 | 
						|
            }
 | 
						|
            oTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(10.0), lLoc, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
 | 
						|
        }
 | 
						|
} |