1package com.osroyale.game.world.entity.combat.strategy.player.special.melee;
3import com.osroyale.content.achievement.AchievementHandler;
4import com.osroyale.content.achievement.AchievementKey;
5import com.osroyale.game.Animation;
6import com.osroyale.game.Graphic;
7import com.osroyale.game.UpdatePriority;
8import com.osroyale.game.world.entity.combat.attack.FightType;
9import com.osroyale.game.world.entity.combat.hit.CombatHit;
10import com.osroyale.game.world.entity.combat.hit.Hit;
11import com.osroyale.game.world.entity.combat.strategy.player.PlayerMeleeStrategy;
12import com.osroyale.game.world.entity.mob.Mob;
13import com.osroyale.game.world.entity.mob.player.Player;
41public class GraniteMaul
extends PlayerMeleeStrategy {
44 private static final GraniteMaul INSTANCE =
new GraniteMaul();
46 private GraniteMaul() { }
49 public void start(
Player attacker,
Mob defender,
Hit[] hits) {
50 super.start(attacker, defender, hits);
52 if (attacker.attributes.is(
"granite-maul-spec")) {
53 CombatHit damage = nextMeleeHit(attacker, defender);
54 defender.damage(damage);
55 defender.
getCombat().getDamageCache().add(attacker, damage);
56 attacker.getCombatSpecial().
drain(attacker);
57 attacker.attributes.remove(
"granite-maul-spec");
60 attacker.graphic(GRAPHIC);
65 return new CombatHit[] { nextMeleeHit(attacker, defender) };
69 public void onKill(
Player attacker,
Mob defender,
Hit hit) {
82 return attacker.attributes.has(
"granite-maul-spec") ? 0 : 1;
85 public static GraniteMaul
get() {
static void activate(Player player, AchievementKey achievement)
abstract Combat<? extends Mob > getCombat()
void drain(Player player)