RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
DragonDagger.java
1package com.osroyale.game.world.entity.combat.strategy.player.special.melee;
2
3import com.osroyale.content.achievement.AchievementHandler;
4import com.osroyale.content.achievement.AchievementKey;
5import com.osroyale.game.Animation;
6import com.osroyale.game.Graphic;
7import com.osroyale.game.UpdatePriority;
8import com.osroyale.game.world.entity.combat.hit.CombatHit;
9import com.osroyale.game.world.entity.combat.hit.Hit;
10import com.osroyale.game.world.entity.combat.strategy.player.PlayerMeleeStrategy;
11import com.osroyale.game.world.entity.mob.Mob;
12import com.osroyale.game.world.entity.mob.player.Player;
13
41
42public class DragonDagger extends PlayerMeleeStrategy {
43 private static final DragonDagger INSTANCE = new DragonDagger();
44
45 private static final Animation ANIMATION = new Animation(1062, UpdatePriority.HIGH);
46 private static final Graphic GRAPHIC = new Graphic(252, true, UpdatePriority.HIGH);
47
48 @Override
49 public void start(Player attacker, Mob defender, Hit[] hits) {
50 super.start(attacker, defender, hits);
51 }
52
53 @Override
54 public void attack(Player attacker, Mob defender, Hit hit) {
55 super.attack(attacker, defender, hit);
56 attacker.graphic(GRAPHIC);
57 }
58
59 @Override
60 public void onKill(Player attacker, Mob defender, Hit hit) {
61 if (defender.isPlayer()) {
62 AchievementHandler.activate(attacker, AchievementKey.DDS_SPEC);
63 }
64 }
65
66 @Override
67 public CombatHit[] getHits(Player attacker, Mob defender) {
68 return new CombatHit[]{nextMeleeHit(attacker, defender), nextMeleeHit(attacker, defender)};
69 }
70
71 @Override
72 public Animation getAttackAnimation(Player attacker, Mob defender) {
73 return ANIMATION;
74 }
75
76 @Override
77 public int modifyAttackLevel(Player attacker, Mob defender, int roll) {
78 return roll * 5 / 4;
79 }
80
81 @Override
82 public int modifyStrengthLevel(Player attacker, Mob defender, int damage) {
83 return damage * 23 / 20;
84 }
85
86 public static DragonDagger get() {
87 return INSTANCE;
88 }
89
90}
static void activate(Player player, AchievementKey achievement)