1package com.osroyale.game.world.entity.combat.attack.listener.npc;
4import com.osroyale.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
5import com.osroyale.game.world.entity.combat.attack.listener.SimplifiedListener;
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.npc.NpcMagicStrategy;
9import com.osroyale.game.world.entity.mob.Mob;
10import com.osroyale.game.world.entity.mob.npc.Npc;
12import static com.osroyale.game.world.entity.combat.projectile.CombatProjectile.getDefinition;
43public class Kraken extends SimplifiedListener<Npc> {
45 private static MagicAttack MAGIC =
new MagicAttack();
48 public int modifyAccuracy(
Npc attacker,
Mob defender,
int roll) {
53 public int modifyAggressive(
Npc attacker,
Mob defender,
int roll) {
58 public void start(
Npc attacker,
Mob defender,
Hit[] hits) {
59 attacker.setStrategy(MAGIC);
62 private static class MagicAttack
extends NpcMagicStrategy {
63 private MagicAttack() {
64 super(getDefinition(
"Kraken Blast"));
69 CombatHit combatHit = nextMagicHit(attacker, defender, combatProjectile.getMaxHit());
70 combatHit.setAccurate(
true);