RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
EldritchNightmareStaff.java
1package com.osroyale.game.world.entity.combat.strategy.player.special.magic;
2
3import com.osroyale.game.Animation;
4import com.osroyale.game.Graphic;
5import com.osroyale.game.UpdatePriority;
6import com.osroyale.game.world.entity.combat.attack.FightType;
7import com.osroyale.game.world.entity.combat.hit.CombatHit;
8import com.osroyale.game.world.entity.combat.hit.Hit;
9import com.osroyale.game.world.entity.combat.strategy.player.PlayerRangedStrategy;
10import com.osroyale.game.world.entity.mob.Mob;
11import com.osroyale.game.world.entity.mob.player.Player;
12
13
43
44public final class EldritchNightmareStaff extends PlayerRangedStrategy {
45
46 private static final Animation ANIMATION = new Animation(8532, UpdatePriority.HIGH);
47 private static final Graphic GRAPHIC = new Graphic(1760, 50, UpdatePriority.HIGH);
48 private static final Graphic DEFENDER_GRAPHIC = new Graphic(1762, 50, UpdatePriority.HIGH);
49
50 private static final EldritchNightmareStaff INSTANCE = new EldritchNightmareStaff();
51
52 private EldritchNightmareStaff() {
53 }
54
55 @Override
56 public void hitsplat(Player attacker, Mob defender, Hit hit) {
57 super.hitsplat(attacker, defender, hit);
58 defender.graphic(DEFENDER_GRAPHIC);
59 }
60
61 @Override
62 public CombatHit[] getHits(Player attacker, Mob defender) {
63 return new CombatHit[] { nextRangedHit(attacker, defender) };
64 }
65
66 @Override
67 public int getAttackDelay(Player attacker, Mob defender, FightType fightType) {
68 return 10;
69 }
70
71 @Override
72 public Animation getAttackAnimation(Player attacker, Mob defender) {
73 return ANIMATION;
74 }
75
76 @Override
77 public int modifyAccuracy(Player attacker, Mob defender, int roll) {
78 return roll * 5 / 4;
79 }
80
81 @Override
82 public int modifyDamage(Player attacker, Mob defender, int roll) {
83 return roll * 5 / 4;
84 }
85
86 public static EldritchNightmareStaff get() {
87 return INSTANCE;
88 }
89
90}