1package com.runehive.game.world.entity.combat.strategy.player.special.range;
3import com.runehive.content.achievement.AchievementHandler;
4import com.runehive.content.achievement.AchievementKey;
5import com.runehive.game.Graphic;
6import com.runehive.game.Projectile;
7import com.runehive.game.UpdatePriority;
8import com.runehive.game.world.entity.combat.hit.CombatHit;
9import com.runehive.game.world.entity.combat.hit.Hit;
10import com.runehive.game.world.entity.combat.projectile.CombatProjectile;
11import com.runehive.game.world.entity.combat.strategy.player.PlayerRangedStrategy;
12import com.runehive.game.world.entity.mob.Mob;
13import com.runehive.game.world.entity.mob.player.Player;
14import com.runehive.game.world.items.Item;
16import static com.runehive.game.world.items.containers.equipment.Equipment.ARROWS_SLOT;
38 }
catch (Exception e) {
48 super.sendStuff(attacker, defender);
66 super.hit(attacker, defender,
hit);
92 return roll * 13 / 10;
104 throw new NullPointerException(
"No Decent of Darkness projectile found.");
113 throw new NullPointerException(
"No Decent of Dragons projectile found.");
124 int id = item.
getId();
125 return id == 11212 ||
id == 11227 ||
id == 11228 ||
id == 11229;
Handles the achievements.
static void activate(Player player, AchievementKey achievement)
Activates the achievement for the individual player.
Represents a single graphic that can be used by entities.
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)
int getDamage()
Gets the damage amount.
void setDamage(int damage)
Sets the hit damage.
static CombatProjectile getDefinition(String name)
Optional< Projectile > getProjectile()
final CombatHit nextRangedHit(T attacker, Mob defender)
int modifyDamage(Player attacker, Mob defender, int roll)
static boolean isDragonArrow(Item item)
static final DarkBow INSTANCE
static void setProjectiles(CombatProjectile darkness, CombatProjectile dragons)
void onKill(Player attacker, Mob defender, Hit hit)
static Projectile DRAGONS_PROJECTILE_2
CombatHit[] getHits(Player attacker, Mob defender)
static Projectile DRAGONS_PROJECTILE_1
void hit(Player attacker, Mob defender, Hit hit)
void sendStuff(Player attacker, Mob defender)
static Projectile DARKNESS_PROJECTILE_1
static Projectile DARKNESS_PROJECTILE_2
final boolean isPlayer()
Check if an entity is a player.
Optional< Graphic > graphic
This class represents a character controlled by a player.
final Equipment equipment
The container class that represents an item that can be interacted with.
final int getId()
Gets the identification of this item.
final Item get(int index)
Gets the Item located on index.
Represents different priorities for updating.