PRC8/nwn/nwnprc/trunk/newspellbook/tob_irnh_stlwnd.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
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.
2024-02-11 14:01:05 -05:00

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