RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Tentacle.java
1package com.osroyale.game.world.entity.combat.attack.listener.npc;
2
3import com.osroyale.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
4import com.osroyale.game.world.entity.combat.attack.listener.SimplifiedListener;
5import com.osroyale.game.world.entity.combat.hit.CombatHit;
6import com.osroyale.game.world.entity.combat.hit.Hit;
7import com.osroyale.game.world.entity.combat.strategy.npc.NpcMagicStrategy;
8import com.osroyale.game.world.entity.mob.Mob;
9import com.osroyale.game.world.entity.mob.npc.Npc;
10
11import static com.osroyale.game.world.entity.combat.projectile.CombatProjectile.getDefinition;
12
16@NpcCombatListenerSignature(npcs = {5535})
41
42public class Tentacle extends SimplifiedListener<Npc> {
43
44 private static MagicAttack MAGIC;
45
46 static {
47 try {
48 MAGIC = new MagicAttack();
49 } catch (Exception e) {
50 e.printStackTrace();
51 }
52 }
53
54 @Override
55 public int modifyAccuracy(Npc attacker, Mob defender, int roll) {
56 return roll + 25_000;
57 }
58
59 @Override
60 public void start(Npc attacker, Mob defender, Hit[] hits) {
61 attacker.setStrategy(MAGIC);
62 }
63
64 private static class MagicAttack extends NpcMagicStrategy {
65 private MagicAttack() {
66 super(getDefinition("Tentacle Blast"));
67 }
68
69 @Override
70 public CombatHit[] getHits(Npc attacker, Mob defender) {
71 CombatHit combatHit = nextMagicHit(attacker, defender, 2);
72 combatHit.setAccurate(true);
73 return new CombatHit[]{combatHit};
74 }
75 }
76}