RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
ZamorakGodsword.java
1package com.osroyale.game.world.entity.combat.strategy.player.special.melee;
2
3import com.osroyale.game.Animation;
4import com.osroyale.game.Graphic;
5import com.osroyale.game.UpdatePriority;
6import com.osroyale.game.world.entity.combat.hit.CombatHit;
7import com.osroyale.game.world.entity.combat.hit.Hit;
8import com.osroyale.game.world.entity.combat.strategy.player.PlayerMeleeStrategy;
9import com.osroyale.game.world.entity.mob.Mob;
10import com.osroyale.game.world.entity.mob.data.LockType;
11import com.osroyale.game.world.entity.mob.player.Player;
12
46
47public class ZamorakGodsword extends PlayerMeleeStrategy {
48
49 //ZGS(normal): 7638, ZGS(OR): 7639
50 private static final Animation ANIMATION = new Animation(7638, UpdatePriority.HIGH);
51 private static final Graphic GRAPHIC = new Graphic(1210, UpdatePriority.HIGH);
52 private static final Graphic FREEZE_GRAPHIC = new Graphic(369, UpdatePriority.HIGH);
53 private static final ZamorakGodsword INSTANCE = new ZamorakGodsword();
54
55 @Override
56 public void attack(Player attacker, Mob defender, Hit hit) {
57 super.attack(attacker, defender, hit);
58 attacker.graphic(GRAPHIC);
59
60 if(hit.getDamage() > 0) {
61 if (defender.locking.locked())
62 return;
63 defender.graphic(FREEZE_GRAPHIC);
64 defender.locking.lock(20, LockType.FREEZE);
65 }
66 }
67
68 @Override
69 public CombatHit[] getHits(Player attacker, Mob defender) {
70 return new CombatHit[]{nextMeleeHit(attacker, defender)};
71 }
72
73 @Override
74 public Animation getAttackAnimation(Player attacker, Mob defender) {
75 return ANIMATION;
76 }
77
78 @Override
79 public int modifyAccuracy(Player attacker, Mob defender, int roll) {
80 return 2 * roll;
81 }
82
83 @Override
84 public int modifyDamage(Player attacker, Mob defender, int damage) {
85 return damage * 11 / 10;
86 }
87
88 public static ZamorakGodsword get() {
89 return INSTANCE;
90 }
91
92}