Added the following spells: Regenerate Light Wounds, Regenerate Moderate Wounds, Regenerate Serious Wounds, Regenerate Critical Wounds, Spirit Worm, Tortoise Shell, Speed of the Wind & Spiritual Weapon. Updated Force Missiles & Chasing Perfection. Updated Acid Fog to be more like pen & paper. Updated release archive.
		
			
				
	
	
		
			144 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
//::///////////////////////////////////////////////
 | 
						|
//:: Acid Fog: On Enter
 | 
						|
//:: NW_S0_AcidFogA.nss
 | 
						|
//:: Copyright (c) 2001 Bioware Corp.
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
/*
 | 
						|
    All creatures within the AoE take 2d6 acid damage
 | 
						|
    per round and upon entering if they fail a Fort Save
 | 
						|
    their movement is halved.
 | 
						|
*/
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Created By: Preston Watamaniuk
 | 
						|
//:: Created On: May 17, 2001
 | 
						|
//:://///////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
//:: modified by mr_bumpkin Dec 4, 2003
 | 
						|
 | 
						|
//:: This spell isn't supposed to have a saving throw.
 | 
						|
//:: modified by Jaysyn: 2024-08-25 14:41:58
 | 
						|
 | 
						|
 | 
						|
#include "prc_inc_spells"
 | 
						|
#include "prc_add_spell_dc"
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    PRCSetSchool(SPELL_SCHOOL_CONJURATION);
 | 
						|
 | 
						|
    //Declare major variables
 | 
						|
    object oCaster = GetAreaOfEffectCreator();
 | 
						|
    object oTarget = GetEnteringObject();
 | 
						|
 | 
						|
    int nMetaMagic = PRCGetMetaMagicFeat();
 | 
						|
    effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
 | 
						|
    effect eSlow = EffectMovementSpeedDecrease(50);
 | 
						|
    float fDelay = PRCGetRandomDelay(1.0, 2.2);
 | 
						|
    int nPenetr = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level") + SPGetPenetr(oCaster);
 | 
						|
    
 | 
						|
    if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
 | 
						|
    {
 | 
						|
        //Fire cast spell at event for the target
 | 
						|
        SignalEvent(oTarget, EventSpellCastAt(oCaster, SPELL_ACID_FOG));
 | 
						|
        //Spell resistance check
 | 
						|
        if(!PRCDoResistSpell(oCaster, oTarget, nPenetr, fDelay))
 | 
						|
        {
 | 
						|
            //Roll Damage
 | 
						|
            //Enter Metamagic conditions
 | 
						|
            int nDamage = d6(2);
 | 
						|
            if (nMetaMagic & METAMAGIC_MAXIMIZE)
 | 
						|
                nDamage = 12;//Damage is at max
 | 
						|
            if (nMetaMagic & METAMAGIC_EMPOWER)
 | 
						|
                nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
 | 
						|
                // Acid Sheath adds +1 damage per die to acid descriptor spells
 | 
						|
                if (GetHasDescriptor(SPELL_ACID_FOG, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, oCaster))
 | 
						|
                	nDamage += 2;                 
 | 
						|
			nDamage += SpellDamagePerDice(oCaster, 2);
 | 
						|
 | 
						|
			//slowing effect
 | 
						|
			SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eSlow, oTarget,0.0f,FALSE);
 | 
						|
			// * BK: Removed this because it reduced damage, didn't make sense nDamage = d6();
 | 
						|
            
 | 
						|
 | 
						|
            //Set Damage Effect with the modified damage
 | 
						|
            effect eDam = PRCEffectDamage(oTarget, nDamage, GetLocalInt(OBJECT_SELF, "Acid_Fog_Damage"));
 | 
						|
            //Apply damage and visuals
 | 
						|
            DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
 | 
						|
            DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget));
 | 
						|
            PRCBonusDamage(oTarget);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    PRCSetSchool();
 | 
						|
}
 | 
						|
 | 
						|
//::///////////////////////////////////////////////
 | 
						|
//:: Acid Fog: On Enter
 | 
						|
//:: NW_S0_AcidFogA.nss
 | 
						|
//:: Copyright (c) 2001 Bioware Corp.
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
/*
 | 
						|
    All creatures within the AoE take 2d6 acid damage
 | 
						|
    per round and upon entering if they fail a Fort Save
 | 
						|
    their movement is halved.
 | 
						|
*/
 | 
						|
//:://////////////////////////////////////////////
 | 
						|
//:: Created By: Preston Watamaniuk
 | 
						|
//:: Created On: May 17, 2001
 | 
						|
//:://///////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
//:: modified by mr_bumpkin Dec 4, 2003
 | 
						|
/* #include "prc_inc_spells"
 | 
						|
#include "prc_add_spell_dc"
 | 
						|
 | 
						|
void main()
 | 
						|
{
 | 
						|
    PRCSetSchool(SPELL_SCHOOL_CONJURATION);
 | 
						|
 | 
						|
    //Declare major variables
 | 
						|
    object oCaster = GetAreaOfEffectCreator();
 | 
						|
    object oTarget = GetEnteringObject();
 | 
						|
 | 
						|
    int nMetaMagic = PRCGetMetaMagicFeat();
 | 
						|
    effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
 | 
						|
    effect eSlow = EffectMovementSpeedDecrease(50);
 | 
						|
    float fDelay = PRCGetRandomDelay(1.0, 2.2);
 | 
						|
    int nPenetr = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level") + SPGetPenetr(oCaster);
 | 
						|
    
 | 
						|
    if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
 | 
						|
    {
 | 
						|
        //Fire cast spell at event for the target
 | 
						|
        SignalEvent(oTarget, EventSpellCastAt(oCaster, SPELL_ACID_FOG));
 | 
						|
        //Spell resistance check
 | 
						|
        if(!PRCDoResistSpell(oCaster, oTarget, nPenetr, fDelay))
 | 
						|
        {
 | 
						|
            //Roll Damage
 | 
						|
            //Enter Metamagic conditions
 | 
						|
            int nDamage = d6(2);
 | 
						|
            if (nMetaMagic & METAMAGIC_MAXIMIZE)
 | 
						|
                nDamage = 12;//Damage is at max
 | 
						|
            if (nMetaMagic & METAMAGIC_EMPOWER)
 | 
						|
                nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
 | 
						|
                // Acid Sheath adds +1 damage per die to acid descriptor spells
 | 
						|
                if (GetHasDescriptor(SPELL_ACID_FOG, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, oCaster))
 | 
						|
                	nDamage += 2;                 
 | 
						|
			nDamage += SpellDamagePerDice(oCaster, 2);
 | 
						|
            //Make a Fortitude Save to avoid the effects of the movement hit.
 | 
						|
            if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, (PRCGetSaveDC(oTarget,oCaster)), SAVING_THROW_TYPE_ACID, oCaster, fDelay))
 | 
						|
            {
 | 
						|
                //slowing effect
 | 
						|
                SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eSlow, oTarget,0.0f,FALSE);
 | 
						|
                // * BK: Removed this because it reduced damage, didn't make sense nDamage = d6();
 | 
						|
            }
 | 
						|
 | 
						|
            //Set Damage Effect with the modified damage
 | 
						|
            effect eDam = PRCEffectDamage(oTarget, nDamage, GetLocalInt(OBJECT_SELF, "Acid_Fog_Damage"));
 | 
						|
            //Apply damage and visuals
 | 
						|
            DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
 | 
						|
            DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget));
 | 
						|
            PRCBonusDamage(oTarget);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    PRCSetSchool();
 | 
						|
} */ |