RuneHive-Game
Loading...
Searching...
No Matches
Kraken.java
Go to the documentation of this file.
1package com.runehive.game.world.entity.combat.attack.listener.npc;
2
3
4import com.runehive.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
5import com.runehive.game.world.entity.combat.attack.listener.SimplifiedListener;
6import com.runehive.game.world.entity.combat.hit.CombatHit;
7import com.runehive.game.world.entity.combat.hit.Hit;
8import com.runehive.game.world.entity.combat.strategy.npc.NpcMagicStrategy;
9import com.runehive.game.world.entity.mob.Mob;
10import com.runehive.game.world.entity.mob.npc.Npc;
11
12import static com.runehive.game.world.entity.combat.projectile.CombatProjectile.getDefinition;
13
14/**
15 * @author Daniel
16 */
17@NpcCombatListenerSignature(npcs = { 494 })
18public class Kraken extends SimplifiedListener<Npc> {
19
20 private static MagicAttack MAGIC = new MagicAttack();
21
22 @Override
23 public int modifyAccuracy(Npc attacker, Mob defender, int roll) {
24 return roll + 25000;
25 }
26
27 @Override
28 public int modifyAggressive(Npc attacker, Mob defender, int roll) {
29 return roll + 15000;
30 }
31
32 @Override
33 public void start(Npc attacker, Mob defender, Hit[] hits) {
34 attacker.setStrategy(MAGIC);
35 }
36
37 private static class MagicAttack extends NpcMagicStrategy {
38 private MagicAttack() {
39 super(getDefinition("Kraken Blast"));
40 }
41
42 @Override
43 public CombatHit[] getHits(Npc attacker, Mob defender) {
44 CombatHit combatHit = nextMagicHit(attacker, defender, combatProjectile.getMaxHit());
45 combatHit.setAccurate(true);
46 return new CombatHit[] { combatHit };
47 }
48 }
49}
void start(Npc attacker, Mob defender, Hit[] hits)
Definition Kraken.java:33
int modifyAccuracy(Npc attacker, Mob defender, int roll)
Definition Kraken.java:23
int modifyAggressive(Npc attacker, Mob defender, int roll)
Definition Kraken.java:28
A wrapper for a Hit object, adding additional variables for hit and hitsplat delays.
A Hit object holds the damage amount and hitsplat data.
Definition Hit.java:10
final CombatHit nextMagicHit(T attacker, Mob defender)
Handles the mob class.
Definition Mob.java:66
Represents a non-player character in the in-game world.
Definition Npc.java:29
void setStrategy(CombatStrategy< Npc > strategy)
Definition Npc.java:212