1package com.runehive.game.world.entity.combat.strategy.npc.boss;
3import com.runehive.game.Animation;
4import com.runehive.game.UpdatePriority;
5import com.runehive.game.world.entity.combat.CombatUtil;
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.strategy.npc.MultiStrategy;
10import com.runehive.game.world.entity.combat.strategy.npc.NpcMagicStrategy;
11import com.runehive.game.world.entity.combat.strategy.npc.NpcMeleeStrategy;
12import com.runehive.game.world.entity.combat.strategy.npc.NpcRangedStrategy;
13import com.runehive.game.world.entity.mob.Mob;
14import com.runehive.game.world.entity.mob.npc.Npc;
15import com.runehive.game.world.pathfinding.path.SimplePathChecker;
16import com.runehive.game.world.position.Position;
17import com.runehive.util.Utility;
19import static com.runehive.game.world.entity.combat.projectile.CombatProjectile.getDefinition;
54 attacker.blockInteract =
true;
61 attacker.blockInteract =
false;
67 hit.setAccurate(
false);
72 attacker.
getCombat().removeModifier(
this);
107 super(getDefinition(
"Zulrah Ranged"));
124 super(getDefinition(
"Zulrah Magic"));
Class that models a single animation used by an entity.
A collection of util methods and constants related to combat.
static Animation getBlockAnimation(Mob mob)
A wrapper for a Hit object, adding additional variables for hit and hitsplat delays.
A Hit object holds the damage amount and hitsplat data.
void setAccurate(boolean accurate)
final CombatHit nextRangedHit(T attacker, Mob defender)
CombatHit nextMeleeHit(T attacker, Mob defender)
final CombatHit nextMagicHit(T attacker, Mob defender)
CombatStrategy< Npc > currentStrategy
NpcMagicStrategy(CombatProjectile combatProjectile)
NpcRangedStrategy(CombatProjectile combatProjectile)
CombatHit[] getHits(Npc attacker, Mob defender)
int getAttackDistance(Npc attacker, FightType fightType)
int getAttackDistance(Npc attacker, FightType fightType)
CombatHit[] getHits(Npc attacker, Mob defender)
int modifyAttackLevel(Npc attacker, Mob defender, int level)
int getAttackDelay(Npc attacker, Mob defender, FightType fightType)
void hit(Npc attacker, Mob defender, Hit hit)
void start(Npc attacker, Mob defender, Hit[] hits)
boolean withinDistance(Npc attacker, Mob defender)
Animation getAttackAnimation(Npc attacker, Mob defender)
CombatHit[] getHits(Npc attacker, Mob defender)
int getAttackDistance(Npc attacker, FightType fightType)
static final MagicAttack MAGIC
static final RangedAttack RANGED
void animate(int animation)
void face(GameObject object)
Sets the client update flag to face a certain direction.
void resetFace()
Resets the mob's face location.
Represents a non-player character in the in-game world.
Combat< Npc > getCombat()
The combat of the mob.
Represents a PathFinder which is meant to be used to check projectiles passage in a straight line.
static boolean checkProjectile(Interactable source, Interactable target)
Represents a single tile on the game world.
boolean equals(Object obj)
Handles miscellaneous methods.
static boolean within(Position source, Position target, int distance)
Represents different priorities for updating.
The enumerated type whose elements represent the fighting types.