forked from Jaysyn/PRC8
Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
59 lines
2.1 KiB
Plaintext
59 lines
2.1 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: [Acrobatic Attack]
|
|
//:: [prc_s_acroatk.nss]
|
|
//:://////////////////////////////////////////////
|
|
//:: Leaps at a target. Inflicting d6 / 2 duelist
|
|
//:: levels + dex bonus damage and knockdown for
|
|
//:: 1 round. Reflex save verus 10 + duelist
|
|
//:: level + dex bonus for half damage and no
|
|
//:: knockdown.
|
|
//::
|
|
//:: Attack/Damage bonus of +2 or +4 for 1 round
|
|
//::
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Aaon Graywolf
|
|
//:: Created On: Dec 21, 2003
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_spells"
|
|
|
|
void main()
|
|
{
|
|
//Declare major variables
|
|
int nDuration = 2;
|
|
int nWis = GetAbilityModifier(ABILITY_WISDOM);
|
|
int nDC = 15 + nWis;
|
|
|
|
if(GetHasFeat(FEAT_FREE_KI_2, OBJECT_SELF))
|
|
nDC += nWis;
|
|
if(GetHasFeat(FEAT_FREE_KI_3, OBJECT_SELF))
|
|
nDC += nWis;
|
|
if(GetHasFeat(FEAT_FREE_KI_4, OBJECT_SELF))
|
|
nDC += nWis;
|
|
|
|
location lTargetLocation = GetSpellTargetLocation();
|
|
object oTarget;
|
|
effect eGaze = EffectStunned();
|
|
effect eVis = EffectVisualEffect(VFX_IMP_SONIC);
|
|
effect eVisDur = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
|
|
|
//Get first target in spell area
|
|
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
|
while(GetIsObjectValid(oTarget))
|
|
{
|
|
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != OBJECT_SELF)
|
|
{
|
|
//Determine effect delay
|
|
float fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
|
|
if(!/*WillSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS, OBJECT_SELF, fDelay))
|
|
{
|
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eGaze, oTarget, 12.0f));
|
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVisDur, oTarget, 12.0f));
|
|
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
|
}
|
|
}
|
|
//Get next target in spell area
|
|
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
|
|
}
|
|
}
|