Further file organization
Further file organization
This commit is contained in:
77
nwn/nwnprc/trunk/newspellbook/tob_irnh_lgtthr.nss
Normal file
77
nwn/nwnprc/trunk/newspellbook/tob_irnh_lgtthr.nss
Normal file
@@ -0,0 +1,77 @@
|
||||
//////////////////////////////////////////////////
|
||||
// Lightning Throw
|
||||
// tob_irnh_lgtthr.nss
|
||||
// Tenjac 9/25/07
|
||||
//////////////////////////////////////////////////
|
||||
/** @file Lightning Throw
|
||||
Iron Heart(Strike)
|
||||
Level: Warblade 8
|
||||
Prerequisite: Two Iron Heart maneuvers
|
||||
Initiation Action: 1 standard action
|
||||
Range: 30ft
|
||||
Area: 30ft
|
||||
Duration: Instantaneous
|
||||
Saving Throw: Reflex half
|
||||
|
||||
You throw your weapon through the air, sending it flying end over end to strike with uncanny accuracy
|
||||
and terrible force. It leaves it its wake a trail of battered enemies.
|
||||
|
||||
The Iron Heart tradition's more esoteric teachings allow a student to transform any melee weapon into
|
||||
a thrown projectile. By focusing your concentration and attuning your senses to your weapon's balance,
|
||||
you can throw almost anything.
|
||||
|
||||
When you use this strike, you make a singe melee attack (even though you are throwing your weapon).
|
||||
You deal damage to each creature in the maneuver's area equal to your normal melee damage (including
|
||||
damage from from Strength modifier, feats, magical abilities on your weapon, and so forth), plus an
|
||||
extra 12d6 points of damage. Each creature in the attack's area can make a Reflex save with a DC
|
||||
equal to the result of your attack roll. A successful save halves the damage dealt.
|
||||
|
||||
Your weapon automatically returns to your hand at the end of the round.
|
||||
*/
|
||||
|
||||
#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)
|
||||
{
|
||||
object oWeap = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oInitiator);
|
||||
int nDC = d20(1) + GetAttackBonus(oTarget, oInitiator, oWeap);
|
||||
SetLocalInt(oInitiator, "IHLightningThrow", TRUE);
|
||||
float fLength = FeetToMeters(30.0);
|
||||
location lTarget = PRCGetSpellTargetLocation();
|
||||
vector vOrigin = GetPosition(oInitiator);
|
||||
effect eVis;
|
||||
|
||||
oTarget = MyFirstObjectInShape(SHAPE_SPELLCYLINDER, fLength, lTarget, TRUE, OBJECT_TYPE_CREATURE, vOrigin);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(oTarget != oInitiator)
|
||||
{
|
||||
if(PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC))
|
||||
{
|
||||
SetLocalInt(oTarget, "LightningThrowSave", TRUE);
|
||||
DelayCommand(1.0, DeleteLocalInt(oTarget, "LightningThrowSave"));
|
||||
}
|
||||
|
||||
DelayCommand(0.0, PerformAttack(oTarget, oInitiator, eVis, 0.0, 100, d6(12), 0, "Lightning Throw Hit", "Lightning Throw Miss"));
|
||||
}
|
||||
oTarget = MyNextObjectInShape(SHAPE_SPELLCYLINDER, fLength, lTarget, TRUE, OBJECT_TYPE_CREATURE, vOrigin);
|
||||
}
|
||||
DelayCommand(1.0f, DeleteLocalInt(oInitiator, "IHLightningThrow"));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user