PRC8/nwn/nwnprc/trunk/newspellbook/bnd_vest_agastep.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

57 lines
2.8 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
03/03/21 by Stratovarius
Agares, Truth Betrayed
Agares died at the hands of his allies for a wrong he did not commit. As a vestige, not only does he give binders the ability to weaken foes and knock them prone, but he also makes his summoner fearless.
Vestige Level: 4th
Binding DC: 22
Special Requirement: You must draw Agaress seal upon either the earth or an expanse of unworked stone.
Influence: Agaress loyalty in life and his anger at the betrayal perpetrated by his lieutenants has become a hatred of falsehood. When influenced
by Agares, you speak forthrightly and with confidence. You cannot use the Bluff skill, and when asked a direct question, you must answer truthfully and directly.
Granted Abilities:
Agares gives you the power to exalt yourself and your allies, to make the earth tremble beneath your feet, and to render foes weak.
Earthshaking Step: As a standard action, you can stomp on the ground, causing every creature within 10 feet of you to make a Reflex save or fall prone.
Once you have used this ability, you cannot do so again for 5 rounds. You and your summoned earth elemental (see below) are never knocked prone by the use of this ability.
*/
#include "bnd_inc_bndfunc"
void main()
{
object oBinder = OBJECT_SELF;
if(!BindAbilCooldown(oBinder, GetSpellId(), VESTIGE_AGARES)) return;
int nDC = GetBinderDC(oBinder, VESTIGE_AGARES);
effect eLink = EffectLinkEffects(EffectKnockdown(), EffectVisualEffect(VFX_IMP_SONIC));
float fRange = FeetToMeters(10.0f);
float fDelay;
object oTarget;
location lTarget = PRCGetSpellTargetLocation();
oTarget = MyFirstObjectInShape(SHAPE_SPHERE, fRange, lTarget, TRUE, OBJECT_TYPE_CREATURE);
while(GetIsObjectValid(oTarget))
{
if(oTarget != oBinder && // Avoid the cone targeting bug
GetMaster(oTarget) != oBinder && // No hitting your summons
GetCreatureFlag(oTarget, CREATURE_VAR_IS_INCORPOREAL) != TRUE && // Incorporeal creatures are not affected
!GetIsImmune(oTarget, IMMUNITY_TYPE_KNOCKDOWN) // And the creature is not just generally immune to knockdown
)
{
// Save - Reflex negates
if(!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC, SAVING_THROW_TYPE_NONE))
{
// Apply effects
fDelay = GetDistanceBetween(oBinder, oTarget) / 20.0f;
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 6.0));
}// end if - Save
}// end if - Targeting check
// Get next target
oTarget = MyNextObjectInShape(SHAPE_SPHERE, fRange, lTarget, TRUE, OBJECT_TYPE_CREATURE);
}// end while - Target loop
}