RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
DragonHaldberd.java
1package com.osroyale.game.world.entity.combat.strategy.player.special.melee;
2
3import com.osroyale.game.Animation;
4import com.osroyale.game.Graphic;
5import com.osroyale.game.UpdatePriority;
6import com.osroyale.game.world.entity.combat.hit.CombatHit;
7import com.osroyale.game.world.entity.combat.hit.Hit;
8import com.osroyale.game.world.entity.combat.strategy.player.PlayerMeleeStrategy;
9import com.osroyale.game.world.entity.mob.Mob;
10import com.osroyale.game.world.entity.mob.player.Player;
11
46
47public class DragonHaldberd extends PlayerMeleeStrategy {
48 private static final DragonHaldberd INSTANCE = new DragonHaldberd();
49 private static final Animation ANIMATION = new Animation(1203, UpdatePriority.HIGH);
50 private static final Graphic GRAPHIC = new Graphic(1172, true, UpdatePriority.HIGH);
51
52 @Override
53 public void start(Player attacker, Mob defender, Hit[] hits) {
54 super.start(attacker, defender, hits);
55 }
56
57 @Override
58 public void attack(Player attacker, Mob defender, Hit hit) {
59 super.attack(attacker, defender, hit);
60 attacker.graphic(GRAPHIC);
61 }
62
63 @Override
64 public CombatHit[] getHits(Player attacker, Mob defender) {
65 if (defender.width() > 1 && defender.length() > 1) {
66 CombatHit primary = nextMeleeHit(attacker, defender);
67 CombatHit secondary = nextMeleeHit(attacker, defender);
68 return new CombatHit[]{primary, secondary};
69 }
70
71 return new CombatHit[]{nextMeleeHit(attacker, defender)};
72 }
73
74 @Override
75 public Animation getAttackAnimation(Player attacker, Mob defender) {
76 return ANIMATION;
77 }
78
79 @Override
80 public int modifyAccuracy(Player attacker, Mob defender, int roll) {
81 return roll - roll / 4;
82 }
83
84 @Override
85 public int modifyDamage(Player attacker, Mob defender, int damage) {
86 return damage * 11 / 10;
87 }
88
89 public static DragonHaldberd get() {
90 return INSTANCE;
91 }
92
93}