PRC8/nwn/nwnprc/trunk/spells/x2_s0_batttide.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
Updated AMS marker feats.  Removed arcane & divine marker feats.  Updated Dread Necromancer for epic progression. Updated weapon baseitem models.  Updated new weapons for crafting & npc equip.
 Updated prefix.  Updated release archive.
2024-02-11 14:01:05 -05:00

61 lines
2.2 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Battletide
//:: X2_S0_BattTide
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
You create an aura that steals energy from your
enemies. Your enemies suffer a -2 circumstance
penalty on saves, attack rolls, and damage rolls,
once entering the aura. On casting, you gain a
+2 circumstance bonus to your saves, attack rolls,
and damage rolls.
*/
//:://////////////////////////////////////////////
//:: Created By: Andrew Nobbs
//:: Created On: Dec 04, 2002
//:://////////////////////////////////////////////
//:: Last Updated By: Andrew Nobbs 06/06/03
//:: modified by mr_bumpkin Dec 4, 2003 for prc stuff
#include "prc_inc_spells"
#include "prc_add_spell_dc"
void main()
{
if (!X2PreSpellCastCode()) return;
PRCSetSchool(SPELL_SCHOOL_TRANSMUTATION);
//Declare major variables
object oCaster = OBJECT_SELF;
int nCasterLvl = PRCGetCasterLevel(oCaster);
int nMetaMagic = PRCGetMetaMagicFeat();
int nAOE = AOE_MOB_TIDE_OF_BATTLE;
//Make nDuration at least 1 round.
if (nCasterLvl < 1)
nCasterLvl = 1;
float fDuration = RoundsToSeconds(nCasterLvl);
//Make metamagic check for extend
if(nMetaMagic & METAMAGIC_EXTEND)
fDuration *= 2; //Duration is +100%
effect eVis = EffectVisualEffect(VFX_IMP_HOLY_AID);
effect eLink = EffectSavingThrowIncrease(SAVING_THROW_ALL, 2);
eLink = EffectLinkEffects(eLink, EffectDamageIncrease(2));
eLink = EffectLinkEffects(eLink, EffectAttackIncrease(2));
eLink = EffectLinkEffects(eLink, EffectAreaOfEffect(nAOE));
eLink = EffectLinkEffects(eLink, EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE));
SignalEvent(oCaster, EventSpellCastAt(oCaster, SPELL_BATTLETIDE, FALSE));
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oCaster, fDuration, TRUE, SPELL_BATTLETIDE, nCasterLvl);
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oCaster);
//Setup Area Of Effect object
object oAoE = GetAreaOfEffectObject(GetLocation(oCaster), "VFX_MOB_BATTLETIDE");
SetAllAoEInts(SPELL_BATTLETIDE, oAoE, PRCGetSpellSaveDC(SPELL_BATTLETIDE, SPELL_SCHOOL_TRANSMUTATION), 0, nCasterLvl);
PRCSetSchool();
}