PRC8/nwn/trunk/newspellbook/tob_stsn_mrrprs.nss
Jaysyn904 5914ed2ab5 Updated Release Archive
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.
2023-08-22 10:00:21 -04:00

62 lines
2.0 KiB
Plaintext

/*
----------------
Mirrored Pursuit
tob_stsn_mrrprs
----------------
05/12/07 by Stratovarius
*/ /** @file
Mirrored Pursuit
Setting Sun (Counter)
Level: Swordsage 5
Prerequisite: Two Setting Sun maneuvers
Initiation Action: 1 immediate action
Range: 30 feet
Target: One creature
Your movements perfectly match your foe's, allowing you to move as she does.
Try as she might to escape, you remain at her side.
You immediately move to any spot adjacent to your enemy, provided it is within range.
*/
#include "tob_inc_move"
#include "tob_movehook"
//#include "prc_alterations"
#include "prc_inc_teleport"
void main()
{
if (!PreManeuverCastCode())
{
// If code within the PreManeuverCastCode (i.e. UMD) reports FALSE, do not run this spell
return;
}
// End of Spell Cast Hook
object oInitiator = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
struct maneuver move = EvaluateManeuver(oInitiator, oTarget);
if(move.bCanManeuver)
{
location lTarget = GetLocation(oTarget);
// Check if the caster can teleport and inform if they can't
if(FeetToMeters(30.0) >= GetDistanceBetween(oInitiator, oTarget))
{
// Assign jump command with delay to prevent the damn infinite action loop
DelayCommand(1.0f, AssignCommand(oInitiator, JumpToLocation(lTarget)));
// Do some VFX
DelayCommand(0.5f, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY), oInitiator, 0.55));
DrawLineFromVectorToVector(DURATION_TYPE_INSTANT, VFX_IMP_WIND, GetArea(oInitiator), GetPosition(oInitiator), GetPositionFromLocation(lTarget), 0.0,
FloatToInt(GetDistanceBetweenLocations(GetLocation(oInitiator), lTarget)), // One VFX every meter
0.5
);
}
}
}