1package com.runehive.content.activity.impl.kraken;
3import com.runehive.content.activity.ActivityListener;
4import com.runehive.game.world.Interactable;
5import com.runehive.game.world.entity.combat.attack.FightType;
6import com.runehive.game.world.entity.combat.hit.Hit;
7import com.runehive.game.world.entity.mob.Mob;
8import com.runehive.game.world.position.Position;
9import com.runehive.net.packet.out.SendMessage;
10import com.runehive.util.Utility;
26 int distance = attacker.
getStrategy().getAttackDistance(attacker, fightType);
36 .
send(
new SendMessage(
"You must activate all four whirlpools before awakening the Kraken."));
39 return activity.kraken ==
null || !
activity.kraken.isDead();
final T activity
The parent activity.
ActivityListener(T activity)
Constructs a new ActivityListener for a activity.
void hit(Mob attacker, Mob defender, Hit hit)
KrakenActivityListener(KrakenActivity minigame)
boolean canAttack(Mob attacker, Mob defender)
void onDeath(Mob attacker, Mob defender, Hit hit)
boolean withinDistance(Mob attacker, Mob defender)
A Hit object holds the damage amount and hitsplat data.
abstract< T extends Mob > CombatStrategy<? super T > getStrategy()
The combat strategy of the mob.
abstract Combat<? extends Mob > getCombat()
The combat of the mob.
final boolean isNpc()
Check if an entity is an npc.
final boolean isPlayer()
Check if an entity is a player.
void send(OutgoingPacket encoder)
Represents a single tile on the game world.
The OutgoingPacket that sends a message to a Players chatbox in the client.
Handles miscellaneous methods.
static int getDistance(Interactable source, Position target)
The enumerated type whose elements represent the fighting types.
An object implementing Interactable has uses.
static Interactable create(Position position)
Creates a new instance of an Interactable.