PRC8_fork/nwn/nwnprc/trunk/smp/xxx_s_energyfld.nss

64 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

/*:://////////////////////////////////////////////
//:: Spell Name Energy Field
//:: Spell FileName XXX_S_EnergyFld
//:://////////////////////////////////////////////
//:: In Game Spell desctiption
//:://////////////////////////////////////////////
Necromancy
Also known as: Draconis<69>s Energy Field
Level: Sor/Wiz 7
Components: V, S, DF
Casting Time: 1 standard action
Range: Medium (20M)
Area: Fog Spreads to 6.67M radius (20 ft.)
Duration: 1 round/level
Saving Throw: None
Spell Resistance: Yes
Source: Various (Kevmann)
This spell creates a caustic fog made of pure negative energy. All living
creatures within the fog take 2d6 points of negative energy damage for as
long as they are within the cloud with no save. Undead are healed by negative
energy, and thusly are healed 2d6 points of damage as long as they stay
within the cloud.
The cloud is similar to the solid fog spell when it comes to sight and
movement, The fog obscures sight, and therefore provides consealment of 20%
against melee attacks, and 50% against ranged attacks, movement is slowed
by 80%, and anyone inside the fog has a -2 penalty to all melee attack rolls.
//:://////////////////////////////////////////////
//:: Spell Effects Applied / Notes
//:://////////////////////////////////////////////
Similar to Acid Fog.
Higher level:
- It does negative damage (harder, much harder, to prevent)
- It heals undead
Only one level higher. The solid fog effects of course are present as normal.
//:://////////////////////////////////////////////
//:: Created By: Jasperre
//::////////////////////////////////////////////*/
#include "SMP_INC_SPELLS"
void main()
{
// Spell hook check.
if(!SMP_SpellHookCheck(SMP_SPELL_ACID_FOG)) return;
// Declare major variables
location lTarget = GetSpellTargetLocation();
int nCasterLevel = SMP_GetCasterLevel();
int nMetaMagic = SMP_GetMetaMagicFeat();
// Duration in rounds
float fDuration = SMP_GetDuration(SMP_ROUNDS, nCasterLevel, nMetaMagic);
// Declare effects
effect eAOE = EffectAreaOfEffect(SMP_AOE_PER_ENERGY_FIELD);
effect eImpact = EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_EVIL);
// Apply effects
SMP_ApplyLocationDurationAndVFX(lTarget, eImpact, eAOE, fDuration);
}