44public class DinhsBulwark
extends PlayerMeleeStrategy {
47 private static final DinhsBulwark INSTANCE =
new DinhsBulwark();
49 private DinhsBulwark() { }
52 public void start(
Player attacker,
Mob defender,
Hit[] hits) {
53 attacker.getCombatSpecial().
drain(attacker);
54 attacker.animate(getAttackAnimation(attacker, defender),
true);
56 List<Hit> extra =
new LinkedList<>();
60 Collections.addAll(extra, hits);
61 addCombatExperience(attacker, extra.toArray(
new Hit[extra.size()]));
64 attacker.graphic(GRAPHIC);
65 attacker.animate(ANIMATION,
true);
69 public int modifyAccuracy(
Player attacker,
Mob defender,
int roll) {
73 private void hitEvent(
Player attacker,
Mob defender,
Mob other, List<Hit> extra) {
74 if (!
CombatUtil.canBasicAttack(attacker, other)) {
78 if (attacker.equals(other) || defender.equals(other)) {
82 CombatHit hit = nextMeleeHit(attacker, defender);
83 attacker.
getCombat().submitHits(other, hit);
84 if (extra !=
null) extra.add(hit);
87 public static DinhsBulwark
get() {