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.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.CombatStrategy;
11import com.runehive.game.world.entity.combat.strategy.npc.MultiStrategy;
12import com.runehive.game.world.entity.combat.strategy.npc.NpcMagicStrategy;
13import com.runehive.game.world.entity.combat.strategy.npc.NpcMeleeStrategy;
14import com.runehive.game.world.entity.mob.Mob;
15import com.runehive.game.world.entity.mob.npc.Npc;
16import com.runehive.util.Items;
18import static com.runehive.game.world.entity.combat.CombatUtil.createStrategyArray;
19import static com.runehive.game.world.entity.combat.CombatUtil.randomStrategy;
51 super.block(attacker, defender,
hit, combatType);
61 return (
int) (roll * 5.05);
92 super.start(attacker, defender, hits);
97 super.hit(attacker, defender,
hit);
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)
CombatHit nextMeleeHit(T attacker, Mob defender)
final CombatHit nextMagicHit(T attacker, Mob defender)
void hit(Npc attacker, Mob defender, Hit hit)
CombatStrategy< Npc > currentStrategy
NpcMagicStrategy(CombatProjectile combatProjectile)
Animation getAttackAnimation(Npc attacker, Mob defender)
int getAttackDistance(Npc attacker, FightType fightType)
CombatHit[] getHits(Npc attacker, Mob defender)
static final Animation ANIMATION
CombatHit[] getHits(Npc attacker, Mob defender)
void hit(Npc attacker, Mob defender, Hit hit)
static final Animation ANIMATION
Animation getAttackAnimation(Npc attacker, Mob defender)
int getAttackDistance(Npc attacker, FightType fightType)
void start(Npc attacker, Mob defender, Hit[] hits)
static final CrushMelee MELEE
int modifyAccuracy(Npc attacker, Mob defender, int roll)
int getAttackDelay(Npc attacker, Mob defender, FightType fightType)
void block(Mob attacker, Npc defender, Hit hit, CombatType combatType)
static final MagicAttack MAGIC
static final CombatStrategy< Npc >[] STRATEGIES
static final int weaponsAllowed[]
boolean canAttack(Npc attacker, Mob defender)
void finishOutgoing(Npc attacker, Mob defender)
Represents a non-player character in the in-game world.
Combat< Npc > getCombat()
The combat of the mob.
static final int BRONZE_SPEAR
static final int MITHRIL_SPEAR
static final int ADAMANT_SPEAR
static final int ZAMORAKIAN_HASTA
static final int BLACK_SPEAR
static final int RUNE_SPEAR
static final int IRON_SPEAR
static final int DRAGON_SPEAR
static final int STEEL_SPEAR
static final int ZAMORAKIAN_SPEAR
static final int GUTHANS_WARSPEAR
Represents different priorities for updating.
The enumerated type whose elements represent the fighting types.