RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
BandosGodsword.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.Hit;
7import com.osroyale.game.world.entity.combat.strategy.player.PlayerMeleeStrategy;
8import com.osroyale.game.world.entity.mob.Mob;
9import com.osroyale.game.world.entity.mob.player.Player;
10import com.osroyale.game.world.entity.skill.Skill;
11
41
42public class BandosGodsword extends PlayerMeleeStrategy {
43
44 //BGS(normal): 7642, BGS(OR): 7643
45 private static final Animation ANIMATION = new Animation(7642, UpdatePriority.HIGH);
46 private static final Graphic GRAPHIC = new Graphic(1212);
47
48 private static final BandosGodsword INSTANCE = new BandosGodsword();
49
50 private BandosGodsword() { }
51
52 @Override
53 public void start(Player attacker, Mob defender, Hit[] hits) {
54 super.start(attacker, defender, hits);
55 }
56
57 @Override
58 public void attack(Player attacker, Mob defender, Hit h) {
59 super.attack(attacker, defender, h);
60 attacker.graphic(GRAPHIC);
61
62 if (h.isAccurate()) {
63 int damage = h.getDamage();
65
66 for (int s : skillOrder) {
67
68 //Getting the skill value to decrease.
69 int removeFromSkill;
70
71 if (h.getDamage() > defender.skills.getLevel(s)) {
72 int difference = damage - defender.skills.getLevel(s);
73 removeFromSkill = damage - difference;
74 } else
75 removeFromSkill = damage;
76
77 //Decreasing the skill.
78 defender.skills.get(s).removeLevel(removeFromSkill);
79 defender.skills.refresh(s);
80
81 //Changing the damage left to decrease.
82 damage -= removeFromSkill;
83 String skill = Skill.getName(s);
84
85 if (defender.isPlayer()) {
86 defender.getPlayer().message("Your " + skill + " level has been drained.");
87 }
88 }
89 }
90 }
91
92 @Override
93 public Animation getAttackAnimation(Player attacker, Mob defender) {
94 return ANIMATION;
95 }
96
97 @Override
98 public int modifyAccuracy(Player attacker, Mob defender, int roll) {
99 return 2 * roll;
100 }
101
102 @Override
103 public int modifyDamage(Player attacker, Mob defender, int damage) {
104 return (int) (damage * 1.21);
105 }
106
107 public static BandosGodsword get() {
108 return INSTANCE;
109 }
110
111}
static String getName(int skill)
Definition Skill.java:502