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.
71 lines
2.3 KiB
Plaintext
71 lines
2.3 KiB
Plaintext
//::///////////////////////////////////////////////
|
||
//:: Name
|
||
//:: FileName sp_.nss
|
||
//:://////////////////////////////////////////////
|
||
/**@file Whirling Blade
|
||
Transmutation
|
||
Level: Bard 2, sorcerer/wizard 2,warmage 2
|
||
Components: V, S, F
|
||
Casting Time: 1 standard action
|
||
Range: 60 ft.
|
||
Effect: 60-ft. line
|
||
Duration: Instantaneous
|
||
Saving Throw: None
|
||
Spell Resistance: No
|
||
|
||
As you cast this spell, you hurl a single
|
||
slashing weapon at your foes, magically
|
||
striking at all enemies along a
|
||
line to the extent of the spell’s range.
|
||
You make a normal melee attack, just
|
||
as if you attacked with the weapon in
|
||
melee, against each foe in the weapon’s
|
||
path, but you can choose to substitute
|
||
your Intelligence or Charisma
|
||
modifier (as appropriate for your
|
||
spellcasting class) for your Strength
|
||
modifier on the weapon’s attack rolls
|
||
and damage rolls. Even if your base
|
||
attack bonus would normally give
|
||
you multiple attack rolls, a whirling
|
||
blade gets only one attack (at your best
|
||
attack bonus) against each target. The
|
||
weapon deals damage just as if you
|
||
had swung it in melee, including any
|
||
bonuses you might have from ability
|
||
scores or feats.
|
||
|
||
No matter how many targets your weapon hits or
|
||
misses, it instantly and unerringly returns to
|
||
your hand after attempting the last of its attacks.
|
||
|
||
Author: Tenjac
|
||
Created: 7/6/07
|
||
*/
|
||
//:://////////////////////////////////////////////
|
||
//:://////////////////////////////////////////////
|
||
|
||
#include "prc_inc_combat"
|
||
|
||
void main()
|
||
{
|
||
if(!X2PreSpellCastCode()) return;
|
||
|
||
PRCSetSchool(SPELL_SCHOOL_TRANSMUTATION);
|
||
|
||
object oPC = OBJECT_SELF;
|
||
vector vOrigin = GetPosition(oPC);
|
||
location lTarget = PRCGetSpellTargetLocation();
|
||
effect eNone;
|
||
object oTarget = MyFirstObjectInShape(SHAPE_SPELLCYLINDER, FeetToMeters(60.0f), lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE, vOrigin);
|
||
|
||
while(GetIsObjectValid(oTarget))
|
||
{
|
||
if(!GetIsReactionTypeFriendly(oTarget, oPC))
|
||
{
|
||
PerformAttack(oTarget, oPC, eNone);
|
||
}
|
||
oTarget = MyNextObjectInShape(SHAPE_SPELLCYLINDER, FeetToMeters(60.0f), lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE, vOrigin);
|
||
}
|
||
PRCSetSchool();
|
||
} |