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.
72 lines
2.2 KiB
Plaintext
72 lines
2.2 KiB
Plaintext
/*
|
|
----------------
|
|
Steel Wind
|
|
|
|
tob_irnh_stlwnd
|
|
----------------
|
|
|
|
29/03/07 by Stratovarius
|
|
*/ /** @file
|
|
|
|
Steel Wind
|
|
|
|
Iron Heart (Strike)
|
|
Level: Warblade 1
|
|
Initiation Action: 1 Standard Action
|
|
Range: Melee Attack
|
|
Target: Two Creatures
|
|
|
|
You swing your weapon in broad, deadly arc, striking two foes with a single, mighty blow.
|
|
|
|
Make two melee attacks, each against a different foe within melee range.
|
|
*/
|
|
|
|
#include "tob_inc_move"
|
|
#include "tob_movehook"
|
|
////#include "prc_alterations"
|
|
|
|
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)
|
|
{
|
|
effect eNone;
|
|
int nAB = 0;
|
|
// If holding Kamate and not initiating the stance from the free uses
|
|
if(GetItemPossessedBy(oInitiator, "WOL_Kamate") == GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oInitiator) && GetHasManeuver(MOVE_IH_STEEL_WIND, CLASS_TYPE_WARBLADE, oInitiator)) nAB += 1;
|
|
DelayCommand(0.0, PerformAttack(oTarget, oInitiator, eNone, 0.0, nAB, 0, 0, "Steel Wind Hit", "Steel Wind Miss"));
|
|
location lTarget = GetLocation(oTarget);
|
|
// Use the function to get the closest creature as a target
|
|
object oAreaTarget = MyFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_SMALL, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
|
while(GetIsObjectValid(oAreaTarget))
|
|
{
|
|
// Don't hit yourself
|
|
// Make sure the target is within melee range of the initiator
|
|
// Don't hit the one already struck
|
|
if(oAreaTarget != oInitiator &&
|
|
GetIsInMeleeRange(oAreaTarget, oInitiator) &&
|
|
GetIsEnemy(oTarget) &&
|
|
oAreaTarget != oTarget)
|
|
{
|
|
// Perform the Attack
|
|
DelayCommand(0.0, PerformAttack(oAreaTarget, oInitiator, eNone, 0.0, nAB, 0, 0, "Steel Wind Hit", "Steel Wind Miss"));
|
|
// Break when target is found
|
|
break;
|
|
}
|
|
|
|
//Select the next target within the spell shape.
|
|
oAreaTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_SMALL, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
|
}
|
|
}
|
|
} |