Further file organization
Further file organization
This commit is contained in:
58
nwn/nwnprc/trunk/spells/x2_s0_hellfirec.nss
Normal file
58
nwn/nwnprc/trunk/spells/x2_s0_hellfirec.nss
Normal file
@@ -0,0 +1,58 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Aura of Hellfire on Heartbeat
|
||||
//:: NW_S1_AuraElecC.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Prolonged exposure to the aura of the creature
|
||||
causes fire damage to all within the aura.
|
||||
*/
|
||||
|
||||
//:: altered by mr_bumpkin Dec 4, 2003 for prc stuff
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
|
||||
int nDamage;
|
||||
int nDamSave;
|
||||
effect eDam;
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
|
||||
int EleDmg = ChangedElementalDamage(GetAreaOfEffectCreator(), DAMAGE_TYPE_FIRE);
|
||||
|
||||
//Get first target in spell area
|
||||
object oTarget = GetFirstInPersistentObject();
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), 761));
|
||||
//Roll damage
|
||||
nDamage = d6(6);
|
||||
nDamage += SpellDamagePerDice(GetAreaOfEffectCreator(), 6);
|
||||
//Make a saving throw check
|
||||
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, (PRCGetSaveDC(oTarget,GetAreaOfEffectCreator())), SAVING_THROW_TYPE_FIRE))
|
||||
{
|
||||
nDamage = nDamage / 2;
|
||||
}
|
||||
if (GetHasMettle(oTarget, SAVING_THROW_FORT))
|
||||
nDamage = 0;
|
||||
//Set the damage effect
|
||||
eDam = PRCEffectDamage(oTarget, nDamage, EleDmg);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget,0.0f,FALSE);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget,0.0f,FALSE);
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextInPersistentObject();
|
||||
}
|
||||
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
// Erasing the variable used to store the spell's spell school
|
||||
}
|
Reference in New Issue
Block a user