RuneHive-Game
Loading...
Searching...
No Matches
DragonDagger.java
Go to the documentation of this file.
1package com.runehive.game.world.entity.combat.strategy.player.special.melee;
2
3import com.runehive.content.achievement.AchievementHandler;
4import com.runehive.content.achievement.AchievementKey;
5import com.runehive.game.Animation;
6import com.runehive.game.Graphic;
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.strategy.player.PlayerMeleeStrategy;
11import com.runehive.game.world.entity.mob.Mob;
12import com.runehive.game.world.entity.mob.player.Player;
13
14/** @author Michael | Chex */
15public class DragonDagger extends PlayerMeleeStrategy {
16 private static final DragonDagger INSTANCE = new DragonDagger();
17
18 private static final Animation ANIMATION = new Animation(1062, UpdatePriority.HIGH);
19 private static final Graphic GRAPHIC = new Graphic(252, true, UpdatePriority.HIGH);
20
21 @Override
22 public void start(Player attacker, Mob defender, Hit[] hits) {
23 super.start(attacker, defender, hits);
24 }
25
26 @Override
27 public void attack(Player attacker, Mob defender, Hit hit) {
28 super.attack(attacker, defender, hit);
29 attacker.graphic(GRAPHIC);
30 }
31
32 @Override
33 public void onKill(Player attacker, Mob defender, Hit hit) {
34 if (defender.isPlayer()) {
36 }
37 }
38
39 @Override
40 public CombatHit[] getHits(Player attacker, Mob defender) {
41 return new CombatHit[]{nextMeleeHit(attacker, defender), nextMeleeHit(attacker, defender)};
42 }
43
44 @Override
45 public Animation getAttackAnimation(Player attacker, Mob defender) {
46 return ANIMATION;
47 }
48
49 @Override
50 public int modifyAttackLevel(Player attacker, Mob defender, int roll) {
51 return roll * 5 / 4;
52 }
53
54 @Override
55 public int modifyStrengthLevel(Player attacker, Mob defender, int damage) {
56 return damage * 23 / 20;
57 }
58
59 public static DragonDagger get() {
60 return INSTANCE;
61 }
62
63}
static void activate(Player player, AchievementKey achievement)
Activates the achievement for the individual player.
Class that models a single animation used by an entity.
Represents a single graphic that can be used by entities.
Definition Graphic.java:10
A wrapper for a Hit object, adding additional variables for hit and hitsplat delays.
A Hit object holds the damage amount and hitsplat data.
Definition Hit.java:10
Handles the mob class.
Definition Mob.java:66
final boolean isPlayer()
Check if an entity is a player.
Definition Mob.java:564
Optional< Graphic > graphic
Definition Mob.java:91
This class represents a character controlled by a player.
Definition Player.java:125
Represents different priorities for updating.