PRC8_fork/trunk/newspellbook/bnd_vest_lerajer.nss

52 lines
1.9 KiB
Plaintext
Raw Normal View History

/*
03/02/21 by Stratovarius
Leraje, the Green Herald
Once a favored servant of the primary deity of the elves, Leraje allowed her pride to become her downfall.
Leraje gives her summoners the ability to bring a bow to hand at will, to fire it with accuracy, and to
damage a foe<6F>s sense of self with it. In addition, she gives her hosts keen vision in darkness and skill at hiding.
Vestige Level: 1st
Binding DC: 15
Special Requirement: Leraje hates Amon for some unknown reason and will not answer your call if you are already bound to him.
Ricochet: As a standard action, you can make a ranged attack against two adjacent targets.
*/
#include "prc_inc_combat"
void main()
{
object oBinder = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oBinder);
effect eNone;
if(GetWeaponRanged(oWeapon))
{
PerformAttack(oTarget, oBinder, eNone, 0.0, 0, 0, 0, "Ricochet Hit", "Ricochet 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 != oBinder &&
GetIsInMeleeRange(oAreaTarget, oTarget) &&
GetIsEnemy(oTarget) &&
oAreaTarget != oTarget)
{
// Perform the Attack
PerformAttack(oAreaTarget, oBinder, eNone, 0.0, 0, 0, 0, "Ricochet Hit", "Ricochet 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);
}
}
}