RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Ballista.java
1package com.osroyale.game.world.entity.combat.strategy.player.special.range;
2
3import com.osroyale.game.Animation;
4import com.osroyale.game.Graphic;
5import com.osroyale.game.UpdatePriority;
6import com.osroyale.game.world.entity.combat.attack.FightType;
7import com.osroyale.game.world.entity.combat.hit.CombatHit;
8import com.osroyale.game.world.entity.combat.hit.Hit;
9import com.osroyale.game.world.entity.combat.strategy.player.PlayerRangedStrategy;
10import com.osroyale.game.world.entity.mob.Mob;
11import com.osroyale.game.world.entity.mob.player.Player;
12
40
41public class Ballista extends PlayerRangedStrategy {
42 private static final Animation ANIMATION = new Animation(7222, UpdatePriority.HIGH);
43 private static final Graphic GRAPHIC = new Graphic(344, 50, UpdatePriority.HIGH);
44 private static final Ballista INSTANCE = new Ballista();
45
46 private Ballista() {
47 }
48
49 @Override
50 public void hitsplat(Player attacker, Mob defender, Hit hit) {
51 super.hitsplat(attacker, defender, hit);
52 defender.graphic(GRAPHIC);
53 }
54
55 @Override
56 public CombatHit[] getHits(Player attacker, Mob defender) {
57 return new CombatHit[]{nextRangedHit(attacker, defender)};
58 }
59
60 @Override
61 public int getAttackDelay(Player attacker, Mob defender, FightType fightType) {
62 return 10;
63 }
64
65 @Override
66 public Animation getAttackAnimation(Player attacker, Mob defender) {
67 return ANIMATION;
68 }
69
70 @Override
71 public int modifyAccuracy(Player attacker, Mob defender, int roll) {
72 return roll * 5 / 4;
73 }
74
75 @Override
76 public int modifyDamage(Player attacker, Mob defender, int roll) {
77 return roll * 5 / 4;
78 }
79
80 public static Ballista get() {
81 return INSTANCE;
82 }
83
84}