1package com.runehive.game.world.entity.combat.strategy.npc.boss.scorpia;
3import com.google.common.base.Stopwatch;
4import com.runehive.game.Animation;
5import com.runehive.game.world.entity.combat.CombatType;
6import com.runehive.game.world.entity.combat.attack.FightType;
7import com.runehive.game.world.entity.combat.hit.CombatHit;
8import com.runehive.game.world.entity.combat.hit.Hit;
9import com.runehive.game.world.entity.combat.projectile.CombatProjectile;
10import com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy;
11import com.runehive.game.world.entity.combat.strategy.npc.NpcMeleeStrategy;
12import com.runehive.game.world.entity.mob.Mob;
13import com.runehive.game.world.entity.mob.movement.waypoint.Waypoint;
14import com.runehive.game.world.entity.mob.npc.Npc;
15import com.runehive.game.world.position.Position;
16import com.runehive.util.RandomUtils;
17import com.runehive.util.Utility;
35 super.hit(attacker, defender,
hit);
40 for (
int i = 0; i < 2; i++) {
77 protected void onDestination() {
90 long millis =
lastHeal.elapsed().toMillis();
91 if (millis > 15_000) {
Class that models a single animation used by an entity.
A wrapper for a Hit object, adding additional variables for hit and hitsplat delays.
A Hit object holds the damage amount and hitsplat data.
static CombatProjectile getDefinition(String name)
Optional< Projectile > getProjectile()
CombatHit nextMeleeHit(T attacker, Mob defender)
CombatStrategy< Npc > currentStrategy
Guardian(Position spawn, Npc scorpia)
CombatHit[] getHits(Npc attacker, Mob defender)
void block(Mob attacker, Npc defender, Hit hit, CombatType combatType)
void hit(Npc attacker, Mob defender, Hit hit)
int getAttackDelay(Npc attacker, Mob defender, FightType fightType)
GuardianWaypoint(Guardian guardian, Npc scorpia)
void setWaypoint(Waypoint waypoint)
Waypoint(Mob mob, Interactable target)
Represents a non-player character in the in-game world.
Npc(int id, Position position)
void register()
Registers an entity to the World.
void unregister()
Unregisters an entity from the World.
Combat< Npc > getCombat()
The combat of the mob.
void setRespawnTime(int respawnTime)
Represents a single tile on the game world.
A static-util class that provides additional functionality for generating pseudo-random numbers.
static< T > T random(T[] array)
Pseudo-randomly retrieves a element from array.
Handles miscellaneous methods.
static Position[] getInnerBoundaries(Position position, int width, int length)
The enumerated type whose elements represent the fighting types.