generated from Jaysyn/ModuleTemplate
Hooked up new GUI module event. Updated PRC8 includes. Updated "_removed". Updated nasher.cfg
73 lines
2.1 KiB
Plaintext
73 lines
2.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Incendiary Cloud
|
|
//:: NW_S0_IncCloud.nss
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Person within the AoE take 4d6 fire damage
|
|
per round.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Preston Watamaniuk
|
|
//:: Created On: May 17, 2001
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "x2_inc_spellhook"
|
|
|
|
void main()
|
|
{
|
|
|
|
/*
|
|
Spellcast Hook Code
|
|
Added 2003-06-20 by Georg
|
|
If you want to make changes to all spells,
|
|
check x2_inc_spellhook.nss to find out more
|
|
|
|
*/
|
|
|
|
if (!X2PreSpellCastCode())
|
|
{
|
|
// If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell
|
|
return;
|
|
}
|
|
|
|
// End of Spell Cast Hook
|
|
|
|
|
|
//Declare major variables, including the Area of Effect object.
|
|
object oCaster = OBJECT_SELF;
|
|
object oPC = GetFirstPC();
|
|
int nInt=GetLocalInt(oPC, "Underwater");
|
|
effect eFail = SupernaturalEffect(EffectSpellFailure());
|
|
effect eAOE = EffectAreaOfEffect(AOE_PER_FOGFIRE);
|
|
//Capture the spell target location so that the AoE object can be created.
|
|
location lTarget = GetSpellTargetLocation();
|
|
int nDuration = GetCasterLevel(OBJECT_SELF);
|
|
effect eImpact = EffectVisualEffect(260);
|
|
//Spell fails if caster is underwater.
|
|
if (nInt == 1)
|
|
{
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eFail,oCaster,0.1);
|
|
FloatingTextStringOnCreature("The spell 'Incendiary Cloud' will not work underwater!", oPC);
|
|
return;
|
|
}
|
|
//Normal spell effects.
|
|
if (nInt != 1)
|
|
{
|
|
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, lTarget);
|
|
if(nDuration < 1)
|
|
{
|
|
nDuration = 1;
|
|
}
|
|
int nMetaMagic = GetMetaMagicFeat();
|
|
//Check for metamagic extend
|
|
if (nMetaMagic == METAMAGIC_EXTEND)
|
|
{
|
|
nDuration = nDuration *2; //Duration is +100%
|
|
}
|
|
//Create the object at the location so that the objects scripts will start working.
|
|
ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY, eAOE, lTarget, RoundsToSeconds(nDuration));
|
|
}
|
|
}
|
|
|