43 lines
No EOL
1.2 KiB
C#
43 lines
No EOL
1.2 KiB
C#
using System;
|
|
|
|
namespace Server.Items
|
|
{
|
|
/// <summary>
|
|
/// Available on some crossbows, this special move allows archers to fire while on the move.
|
|
/// This shot is somewhat less accurate than normal, but the ability to fire while running is a clear advantage.
|
|
/// </summary>
|
|
public class MovingShot : WeaponAbility
|
|
{
|
|
public MovingShot()
|
|
{
|
|
}
|
|
|
|
public override int BaseMana{ get{ return 15; } }
|
|
public override int AccuracyBonus{ get{ return -25; } }
|
|
|
|
public override bool OnBeforeSwing( Mobile attacker, Mobile defender )
|
|
{
|
|
return ( Validate( attacker ) && CheckMana( attacker, true ) );
|
|
}
|
|
|
|
public override void OnMiss( Mobile attacker, Mobile defender )
|
|
{
|
|
//Validates in OnSwing for accuracy scalar
|
|
|
|
ClearCurrentAbility( attacker );
|
|
|
|
attacker.SendLocalizedMessage( 1060089 ); // You fail to execute your special move
|
|
}
|
|
|
|
public override bool ValidatesDuringHit { get { return false; } }
|
|
|
|
public override void OnHit( Mobile attacker, Mobile defender, int damage )
|
|
{
|
|
//Validates in OnSwing for accuracy scalar
|
|
|
|
ClearCurrentAbility( attacker );
|
|
|
|
attacker.SendLocalizedMessage( 1060216 ); // Your shot was successful
|
|
}
|
|
}
|
|
} |