RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Kraken.java
1package com.osroyale.game.world.entity.combat.attack.listener.npc;
2
3
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;
11
12import static com.osroyale.game.world.entity.combat.projectile.CombatProjectile.getDefinition;
13
17@NpcCombatListenerSignature(npcs = { 494 })
42
43public class Kraken extends SimplifiedListener<Npc> {
44
45 private static MagicAttack MAGIC = new MagicAttack();
46
47 @Override
48 public int modifyAccuracy(Npc attacker, Mob defender, int roll) {
49 return roll + 25000;
50 }
51
52 @Override
53 public int modifyAggressive(Npc attacker, Mob defender, int roll) {
54 return roll + 15000;
55 }
56
57 @Override
58 public void start(Npc attacker, Mob defender, Hit[] hits) {
59 attacker.setStrategy(MAGIC);
60 }
61
62 private static class MagicAttack extends NpcMagicStrategy {
63 private MagicAttack() {
64 super(getDefinition("Kraken Blast"));
65 }
66
67 @Override
68 public CombatHit[] getHits(Npc attacker, Mob defender) {
69 CombatHit combatHit = nextMagicHit(attacker, defender, combatProjectile.getMaxHit());
70 combatHit.setAccurate(true);
71 return new CombatHit[] { combatHit };
72 }
73 }
74}