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.
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
//::///////////////////////////////////////////////
 | 
						|
//:: Psionic Breath Weapon feats for Diamond Dragon
 | 
						|
//:: psi_diadra_bth.nss
 | 
						|
//::///////////////////////////////////////////////
 | 
						|
/*
 | 
						|
    Handles the breath weapon for the Diamond Dragon prestige class.
 | 
						|
    Since it acts like a power, it uses the psionics system ro handle 
 | 
						|
    the costs, and the breath include to resolve the damage.
 | 
						|
*/
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Created By: Fox
 | 
						|
//:: Created On: Nov 14, 2007
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
 | 
						|
#include "psi_inc_psifunc"
 | 
						|
#include "prc_inc_spells"
 | 
						|
#include "psi_inc_enrgypow"
 | 
						|
#include "prc_inc_breath"
 | 
						|
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
 | 
						|
    object oManifester = OBJECT_SELF;
 | 
						|
    struct manifestation manif =
 | 
						|
        EvaluateDiaDragChannel(oManifester, OBJECT_INVALID,
 | 
						|
                              PowerAugmentationProfile(1,
 | 
						|
                                                       1, PRC_UNLIMITED_AUGMENTATION
 | 
						|
                                                       ),
 | 
						|
                              3 //Acts as a Level 3 Power in regards to PP cost
 | 
						|
                              );
 | 
						|
 | 
						|
    if(manif.bCanManifest)
 | 
						|
    {
 | 
						|
        struct energy_adjustments enAdj =
 | 
						|
            EvaluateEnergy(manif.nSpellID, POWER_DIADRAG_BREATH_COLD, POWER_DIADRAG_BREATH_ELEC, 
 | 
						|
                           POWER_DIADRAG_BREATH_FIRE, POWER_DIADRAG_BREATH_SONIC,
 | 
						|
                           VFX_IMP_FROST_L, VFX_IMP_LIGHTNING_S, VFX_IMP_FLAME_M, VFX_IMP_SONIC);
 | 
						|
                           
 | 
						|
        int nDCBoost         = GetLevelByClass(CLASS_TYPE_DIAMOND_DRAGON, oManifester) + enAdj.nDCMod;
 | 
						|
        int nNumberOfDice    = 5 + manif.nTimesAugOptUsed_1;
 | 
						|
        location lTarget     = PRCGetSpellTargetLocation();
 | 
						|
        
 | 
						|
        //create the breath
 | 
						|
        struct breath DiamondBreath = 
 | 
						|
            CreateBreath(oManifester, FALSE, 30.0, enAdj.nDamageType, 6, nNumberOfDice, ABILITY_INTELLIGENCE, nDCBoost, BREATH_NORMAL, 0);
 | 
						|
        
 | 
						|
        //adjust for electric line
 | 
						|
        if(enAdj.nSaveType == SAVING_THROW_TYPE_ELECTRICITY)
 | 
						|
        {
 | 
						|
            DiamondBreath.bLine = TRUE;
 | 
						|
            DiamondBreath.fRange = 60.0;
 | 
						|
        }
 | 
						|
        
 | 
						|
        if(enAdj.nSaveType == SAVING_THROW_TYPE_COLD)
 | 
						|
            DiamondBreath.nSaveUsed = SAVING_THROW_FORT;
 | 
						|
        
 | 
						|
        //resolve the breath
 | 
						|
        ApplyBreath(DiamondBreath, lTarget);
 | 
						|
 | 
						|
    }// end if - Successfull manifestation
 | 
						|
}
 |