48public class MagicShortbow
extends PlayerRangedStrategy {
50 private static final MagicShortbow INSTANCE =
new MagicShortbow();
58 }
catch (Exception e) {
63 private MagicShortbow() {
67 protected void sendStuff(
Player attacker,
Mob defender) {
68 attacker.animate(ANIMATION,
true);
69 attacker.graphic(
new Graphic(256, 30, 92));
70 PROJECTILE_1.send(attacker, defender);
71 PROJECTILE_2.send(attacker, defender);
76 return new CombatHit[] { nextRangedHit(attacker, defender), nextRangedHit(attacker, defender) };
80 public int modifyAccuracy(
Player attacker,
Mob defender,
int roll) {
81 return roll - roll / 4;
85 if (!projectile.getProjectile().isPresent())
86 throw new NullPointerException(
"No Magic Shortbow projectile found.");
87 PROJECTILE_1 = projectile.getProjectile().get();
88 PROJECTILE_2 = PROJECTILE_1.copy();
89 final int delay = 30 + PROJECTILE_1.getDelay();
90 PROJECTILE_2.setDelay(delay);
91 PROJECTILE_2.setDuration(20 + PROJECTILE_1.getDuration());
94 public static MagicShortbow
get() {