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.
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);
|
|
}
|
|
}
|
|
} |