forked from Jaysyn/PRC8
52 lines
1.7 KiB
Plaintext
52 lines
1.7 KiB
Plaintext
|
//::///////////////////////////////////////////////
|
||
|
//:: Wall of Fire
|
||
|
//:: NW_S0_WallFire.nss
|
||
|
//:: Copyright (c) 2001 Bioware Corp.
|
||
|
//:://////////////////////////////////////////////
|
||
|
/*
|
||
|
Creates a wall of fire that burns any creature
|
||
|
entering the area around the wall. Those moving
|
||
|
through the AOE are burned for 4d6 fire damage
|
||
|
*/
|
||
|
//:://////////////////////////////////////////////
|
||
|
//:: Created By: Preston Watamaniuk
|
||
|
//:: Created On: July 17, 2001
|
||
|
//:://////////////////////////////////////////////
|
||
|
|
||
|
//:: modified by mr_bumpkin Dec 4, 2003
|
||
|
#include "prc_inc_spells"
|
||
|
#include "prc_add_spell_dc"
|
||
|
|
||
|
void main()
|
||
|
{
|
||
|
if(!X2PreSpellCastCode()) return;
|
||
|
|
||
|
PRCSetSchool(SPELL_SCHOOL_EVOCATION);
|
||
|
|
||
|
//Declare Area of Effect object using the appropriate constant
|
||
|
effect eAOE = EffectAreaOfEffect(AOE_PER_WALLFIRE);
|
||
|
//Get the location where the wall is to be placed.
|
||
|
location lTarget = PRCGetSpellTargetLocation();
|
||
|
int CasterLvl = PRCGetCasterLevel();
|
||
|
int nDuration = CasterLvl / 2;
|
||
|
if(nDuration == 0)
|
||
|
{
|
||
|
nDuration = 1;
|
||
|
}
|
||
|
int nMetaMagic = PRCGetMetaMagicFeat();
|
||
|
|
||
|
//Check fort metamagic
|
||
|
if (CheckMetaMagic(nMetaMagic, METAMAGIC_EXTEND))
|
||
|
{
|
||
|
nDuration = nDuration *2; //Duration is +100%
|
||
|
}
|
||
|
//Create the Area of Effect Object declared above.
|
||
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eAOE, lTarget, RoundsToSeconds(nDuration));
|
||
|
|
||
|
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_WALLFIRE");
|
||
|
SetAllAoEInts(SPELL_WALL_OF_FIRE, oAoE, PRCGetSpellSaveDC(SPELL_WALL_OF_FIRE, SPELL_SCHOOL_EVOCATION), 0, CasterLvl);
|
||
|
SetLocalInt(oAoE, "Wall_Fire_Damage", ChangedElementalDamage(OBJECT_SELF, DAMAGE_TYPE_FIRE));
|
||
|
|
||
|
PRCSetSchool();
|
||
|
}
|