NWN2Wiki
Register
Advertisement
Is battletide
Battletide
Spell Information
Spell level : Innate level: 5, Cleric: 5
School : Transmutation
Descriptor(s) : Mind-Affecting
Components : Verbal and Somatic
Range : Personal
Target/Area : Large
Duration : 6 sec. * cLevel
1 Round (cLevel)
Save : Will negates
Spell resistance : Yes

Description

You create an aura that steals energy from your enemies. Your enemies must make a negative-based will saving throw or 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. You also gain the effects of the Haste spell.

Bug Notes

X2_S0_BattTide.nss:

General:

Line 64/72/76: This spell doesn't use the NWN2 ApplyMetamagicDurationMods() and ApplyMetamagicDurationTypeMods() functions.

The additional positive effects of the spell are also not being applied properly, adding the following three lines:

eHaste=EffectLinkEffects(EffectDamageIncrease(2), eHaste);

eHaste=EffectLinkEffects(EffectAttackIncrease(1), eHaste);

eHaste=EffectLinkEffects(EffectSavingThrowIncrease(SAVING_THROW_ALL, 2), eHaste);

after line 54 will remedy this. Since Haste adds a +1 to hit already, this effect is different from the standard bonus and might as well be applied here instead of the effect script. The spell script should also remove any positive effects from battletide from other sources before applying the effects.

X2_S0_BattTideA.nss:

Line 31/32: The effects (both good and bad) are applied as magical effects, meaning a dispel magic spell can dispel the effects despite them still standing in the area. This should not usually happen. The lines should be changed to:

effect eLink = ExtraordinaryEffect(CreateBadTideEffectsLink());

effect eLink2 = ExtraordinaryEffect(CreateGoodTideEffectsLink());

Line 43 and 60: The signal event statement could be removed from the if statements and moved to line 38, it's going to execute regardless of case.

Line 48: This does have a save, each creature when they enter the aura's effect, has to make a Negative-based will saving throw (and the spell resistance check, which is there). The description says there is no save (above description has been edited to what it really is). The MySavingThrow() doesn't use the Area Effect Creator as the caster parameter, which can cause major problems. The line should be changed to:

if(!MySavingThrow(SAVING_THROW_WILL, oTarget, GetSpellSaveDC(), SAVING_THROW_TYPE_NEGATIVE, oCreator))

The positive effects eLink2 are never applied! So the caster's friends aren't getting a benefit! This is easily fixed by adding these lines after line 63:

else if (spellsIsTarget(oTarget, SPELL_TARGET_ALLALLIES, oCreator))

{

ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink2, oTarget);

}


X2_S0_BattTideB.nss:

Lines 43 and 44 check for negative effects only, it should also remove positive effects if allies move out of the area of effect of the spell. This if statement can be removed, as long as the effect belongs to the casting of battletide that is affecting to the target (Line 41) it should be removed on exit.

Gameplay Notes

Note: The description has been corrected slightly. The additional attack is haste, thus the other bonuses also are applied too. Haste doesn't stack with itself. While this spell has a short duration, the penalties for enemies are quite substantial for large amounts of creatures, and the caster gains the benefits of several other spells. The bonuses to attack, damage and saves are quite nice. Mostly, the Haste effect is good for Clerics without an available arcane mage or necessary domains for the Haste spell itself.

Note: While the spell is technically not hostile to cast, if it affects a target, it will remove invisibility.

Advertisement