Clear out experimental .35 files
Clear out experimental .35 files
This commit is contained in:
@@ -1,82 +0,0 @@
|
||||
//////////////////////////////////////////////////
|
||||
// Stalker in the Night
|
||||
// tob_sdhd_stalker.nss
|
||||
// Stratovarius 30/09/18
|
||||
//////////////////////////////////////////////////
|
||||
/** @file Stalker in the Night
|
||||
Shadow Hand (Strike)
|
||||
Level: Swordsage 6
|
||||
Prerequisite: None
|
||||
Initiation Action: 1 standard action
|
||||
Range: Melee attack
|
||||
Target: One creature
|
||||
|
||||
You slide through the dark like a bird of prey, emerging only to strike down your foe before sliding back into shadow's welcoming embrace.
|
||||
|
||||
Choose a location up a medium distance away. The first enemy along that path is struck by a single melee attack. You automatically hide at the end of the attack.
|
||||
*/
|
||||
|
||||
#include "tob_inc_move"
|
||||
#include "tob_movehook"
|
||||
#include "x0_i0_modes"
|
||||
|
||||
void DoSneak(object oInitiator, location lTarget)
|
||||
{
|
||||
// Move the PC to the location
|
||||
AssignCommand(oInitiator, ClearAllActions(TRUE));
|
||||
AssignCommand(oInitiator, JumpToLocation(lTarget));
|
||||
AssignCommand(oInitiator, ClearAllActions());
|
||||
SetActionMode(oInitiator, ACTION_MODE_STEALTH, TRUE);
|
||||
UseStealthMode();
|
||||
ActionUseSkill(SKILL_HIDE, oInitiator);
|
||||
ActionUseSkill(SKILL_MOVE_SILENTLY, oInitiator);
|
||||
}
|
||||
|
||||
void DoAttack(object oTarget, object oInitiator, location lTarget)
|
||||
{
|
||||
// Move the PC to the location
|
||||
AssignCommand(oInitiator, ClearAllActions(TRUE));
|
||||
AssignCommand(oInitiator, JumpToLocation(GetLocation(oTarget)));
|
||||
effect eNone;
|
||||
PerformAttack(oTarget, oInitiator, eNone, 0.0, 0, 0, 0, "Stalker in the Night Hit", "Stalker in the Night Miss");
|
||||
DelayCommand(0.1, DoSneak(oInitiator, lTarget));
|
||||
}
|
||||
|
||||
void DoStalker(object oInitiator, location lTarget)
|
||||
{
|
||||
vector vOrigin = GetPosition(oInitiator);
|
||||
int nContinue = TRUE;
|
||||
|
||||
// Find a target
|
||||
object oTarget = MyFirstObjectInShape(SHAPE_SPELLCYLINDER, 30.0, lTarget, TRUE, OBJECT_TYPE_CREATURE, vOrigin);
|
||||
while(GetIsObjectValid(oTarget) && nContinue) // Find the targets
|
||||
{
|
||||
if(oTarget != oInitiator && GetIsEnemy(oTarget, oInitiator)) // Don't overrun friends or yourself
|
||||
{
|
||||
DelayCommand(0.0, DoAttack(oTarget, oInitiator, lTarget));
|
||||
}// end if - Target validity check
|
||||
// Get next target
|
||||
oTarget = MyNextObjectInShape(SHAPE_SPELLCYLINDER, 30.0, lTarget, TRUE, OBJECT_TYPE_CREATURE, vOrigin);
|
||||
}// end while - Target loop
|
||||
}
|
||||
|
||||
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();
|
||||
location lTarget = PRCGetSpellTargetLocation();
|
||||
struct maneuver move = EvaluateManeuver(oInitiator, oTarget);
|
||||
|
||||
if(move.bCanManeuver)
|
||||
{
|
||||
DoStalker(oInitiator, lTarget);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user