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.
		
			
				
	
	
		
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/*:://////////////////////////////////////////////
 | 
						||
//:: Spell Name Blight
 | 
						||
//:: Spell FileName PHS_S_Blight
 | 
						||
//:://////////////////////////////////////////////
 | 
						||
//:: In Game Spell desctiption
 | 
						||
//:://////////////////////////////////////////////
 | 
						||
    Touch Range, Fort half + SR applies.
 | 
						||
 | 
						||
    This spell withers a single plant of any size. An affected plant creature
 | 
						||
    takes 1d6 points of damage per level (maximum 15d6) and may attempt a
 | 
						||
    Fortitude saving throw for half damage. A plant that isn’t a creature
 | 
						||
    doesn’t receive a save and immediately withers and dies.
 | 
						||
 | 
						||
    This spell has no effect on the soil or surrounding plant life.
 | 
						||
//:://////////////////////////////////////////////
 | 
						||
//:: Spell Effects Applied / Notes
 | 
						||
//:://////////////////////////////////////////////
 | 
						||
    As spell description.
 | 
						||
 | 
						||
    Subrace must be equal to Plant, of course, or the plant integer...
 | 
						||
 | 
						||
    PHS_PLANT
 | 
						||
 | 
						||
    Placeables, if the integer for "plant" is set on them, are also destroyed.
 | 
						||
//:://////////////////////////////////////////////
 | 
						||
//:: Created By: Jasperre
 | 
						||
//::////////////////////////////////////////////*/
 | 
						||
 | 
						||
#include "PHS_INC_SPELLS"
 | 
						||
 | 
						||
void main()
 | 
						||
{
 | 
						||
    // Spell hook check.
 | 
						||
    if(!PHS_SpellHookCheck()) return;
 | 
						||
 | 
						||
    // Declare Major Variables
 | 
						||
    object oCaster = OBJECT_SELF;
 | 
						||
    object oTarget = GetSpellTargetObject();
 | 
						||
    int nTargetType = GetObjectType(oTarget);
 | 
						||
    int nSpellSaveDC = PHS_GetSpellSaveDC();
 | 
						||
    int nCasterLevel = PHS_GetCasterLevel();
 | 
						||
    int nMetaMagic = PHS_GetMetaMagicFeat();
 | 
						||
    int nDam;
 | 
						||
    // Limit to 15 dice of damage
 | 
						||
    int nDice = PHS_LimitInteger(nCasterLevel, 15);
 | 
						||
 | 
						||
    // Make sure they are not immune to spells
 | 
						||
    if(PHS_TotalSpellImmunity(oTarget)) return;
 | 
						||
 | 
						||
    // Declare effects
 | 
						||
    effect eVis = EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_NATURE);
 | 
						||
 | 
						||
    // Target type can be a placeable, or a creature.
 | 
						||
    if(PHS_GetIsPlant(oTarget))
 | 
						||
    {
 | 
						||
        // Signal spell cast at
 | 
						||
        PHS_SignalSpellCastAt(oTarget, PHS_SPELL_BLIGHT);
 | 
						||
 | 
						||
        // Spell resistance and immunity
 | 
						||
        if(!PHS_SpellResistanceCheck(oCaster, oTarget))
 | 
						||
        {
 | 
						||
            // Check object type
 | 
						||
            if(nTargetType == OBJECT_TYPE_PLACEABLE)
 | 
						||
            {
 | 
						||
                // Instant destroy - auto wither and die. We do damage to it to
 | 
						||
                // get a nice effect from killing it (or none, of course).
 | 
						||
                PHS_ApplyDeathByDamage(oTarget);
 | 
						||
            }
 | 
						||
            else //if(nTargetType == OBJECT_TYPE_CREATURE)
 | 
						||
            {
 | 
						||
                // 15d6 damage max.
 | 
						||
                nDam = PHS_MaximizeOrEmpower(6, nDice, nMetaMagic);
 | 
						||
 | 
						||
                // Fortitude save for half
 | 
						||
                nDam = PHS_GetAdjustedDamage(SAVING_THROW_FORT, nDam, oTarget, nSpellSaveDC, SAVING_THROW_TYPE_NEGATIVE, oCaster);
 | 
						||
 | 
						||
                // If got damage, do it
 | 
						||
                if(nDam > 0)
 | 
						||
                {
 | 
						||
                    // Apply effects, and damage
 | 
						||
                    PHS_ApplyDamageVFXToObject(oTarget, eVis, nDam, DAMAGE_TYPE_NEGATIVE);
 | 
						||
                }
 | 
						||
            }
 | 
						||
        }
 | 
						||
    }
 | 
						||
}
 |