1package com.runehive.game.world.entity.combat.attack.listener.npc;
3import com.runehive.game.Animation;
4import com.runehive.game.UpdatePriority;
5import com.runehive.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
6import com.runehive.game.world.entity.combat.attack.listener.SimplifiedListener;
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.NpcMagicStrategy;
10import com.runehive.game.world.entity.mob.Mob;
11import com.runehive.game.world.entity.mob.npc.Npc;
13import static com.runehive.game.world.entity.combat.projectile.CombatProjectile.getDefinition;
26 }
catch (Exception e) {
33 return attacker.
getStrategy().canAttack(attacker, defender);
43 super(getDefinition(
"Fire Wave"));
54 hit.setAccurate(
true);
Class that models a single animation used by an entity.
void hit(T attacker, Mob defender, Hit hit)
void start(Npc attacker, Mob defender, Hit[] hits)
CombatHit[] getHits(Npc attacker, Mob defender)
boolean canAttack(Npc attacker, Mob defender)
void start(Npc attacker, Mob defender, Hit[] hits)
A wrapper for a Hit object, adding additional variables for hit and hitsplat delays.
A Hit object holds the damage amount and hitsplat data.
final CombatHit nextMagicHit(T attacker, Mob defender)
final CombatProjectile combatProjectile
NpcMagicStrategy(CombatProjectile combatProjectile)
void animate(int animation)
Represents a non-player character in the in-game world.
void setStrategy(CombatStrategy< Npc > strategy)
CombatStrategy< Npc > getStrategy()
The combat strategy of the mob.
Represents different priorities for updating.
VERY_HIGH
A very high priority.