RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
MultiStrategy.java
1package com.osroyale.game.world.entity.combat.strategy.npc;
2
3import com.osroyale.game.Animation;
4import com.osroyale.game.world.entity.combat.CombatType;
5import com.osroyale.game.world.entity.combat.attack.FightType;
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.CombatStrategy;
9import com.osroyale.game.world.entity.mob.Mob;
10import com.osroyale.game.world.entity.mob.npc.Npc;
11
12public abstract class MultiStrategy extends CombatStrategy<Npc> {
13 protected CombatStrategy<Npc> currentStrategy;
14
15 @Override
16 public boolean withinDistance(Npc attacker, Mob defender) {
17 return currentStrategy.withinDistance(attacker, defender);
18 }
19
20 @Override
21 public boolean canAttack(Npc attacker, Mob defender) {
22 return currentStrategy.canAttack(attacker, defender);
23 }
24
25 @Override
26 public boolean canOtherAttack(Mob attacker, Npc defender) {
27 return currentStrategy.canOtherAttack(attacker, defender);
28 }
29
30 @Override
31 public void start(Npc attacker, Mob defender, Hit[] hits) {
32 currentStrategy.start(attacker, defender, hits);
33 }
34
35 @Override
36 public void attack(Npc attacker, Mob defender, Hit hit) {
37 currentStrategy.attack(attacker, defender, hit);
38 }
39
40 @Override
41 public void hit(Npc attacker, Mob defender, Hit hit) {
42 currentStrategy.hit(attacker, defender, hit);
43 }
44
45 @Override
46 public void hitsplat(Npc attacker, Mob defender, Hit hit) {
47 currentStrategy.hitsplat(attacker, defender, hit);
48 }
49
50 @Override
51 public void block(Mob attacker, Npc defender, Hit hit, CombatType combatType) {
52 currentStrategy.block(attacker, defender, hit, combatType);
53 }
54
55 @Override
56 public void preDeath(Mob attacker, Npc defender, Hit hit) {
57 currentStrategy.preDeath(attacker, defender, hit);
58 }
59
60 @Override
61 public void onDeath(Mob attacker, Npc defender, Hit hit) {
62 currentStrategy.onDeath(attacker, defender, hit);
63 }
64
65 @Override
66 public void preKill(Mob attacker, Mob defender, Hit hit) {
67 currentStrategy.preKill(attacker, defender, hit);
68 }
69
70 @Override
71 public void onKill(Npc attacker, Mob defender, Hit hit) {
72 currentStrategy.onKill(attacker, defender, hit);
73 }
74
75 @Override
76 public void finishIncoming(Mob attacker, Npc defender) {
77 currentStrategy.finishIncoming(attacker, defender);
78 }
79
80 @Override
81 public void finishOutgoing(Npc attacker, Mob defender) {
82 currentStrategy.finishOutgoing(attacker, defender);
83 }
84
85 @Override
86 public int getAttackDelay(Npc attacker, Mob defender, FightType fightType) {
87 return currentStrategy.getAttackDelay(attacker, defender, fightType);
88 }
89
90 @Override
91 public int getAttackDistance(Npc attacker, FightType fightType) {
92 return currentStrategy.getAttackDistance(attacker, fightType);
93 }
94
95 @Override
96 public CombatHit[] getHits(Npc attacker, Mob defender) {
97 return currentStrategy.getHits(attacker, defender);
98 }
99
100 @Override
101 public Animation getAttackAnimation(Npc attacker, Mob defender) {
102 return currentStrategy.getAttackAnimation(attacker, defender);
103 }
104
105 @Override
106 public CombatType getCombatType() {
107 return currentStrategy.getCombatType();
108 }
109
110 @Override
111 public int modifyAccuracy(Npc attacker, Mob defender, int roll) {
112 return currentStrategy.modifyAccuracy(attacker, defender, roll);
113 }
114
115 @Override
116 public int modifyAggressive(Npc attacker, Mob defender, int roll) {
117 return currentStrategy.modifyAggressive(attacker, defender, roll);
118 }
119
120 @Override
121 public int modifyDefensive(Mob attacker, Npc defender, int roll) {
122 return currentStrategy.modifyDefensive(attacker, defender, roll);
123 }
124
125 @Override
126 public int modifyDamage(Npc attacker, Mob defender, int damage) {
127 return currentStrategy.modifyDamage(attacker, defender, damage);
128 }
129
130 @Override
131 public int modifyAttackLevel(Npc attacker, Mob defender, int level) {
132 return currentStrategy.modifyAttackLevel(attacker, defender, level);
133 }
134
135 @Override
136 public int modifyStrengthLevel(Npc attacker, Mob defender, int level) {
137 return currentStrategy.modifyStrengthLevel(attacker, defender, level);
138 }
139
140 @Override
141 public int modifyDefenceLevel(Mob attacker, Npc defender, int level) {
142 return currentStrategy.modifyDefenceLevel(attacker, defender, level);
143 }
144
145 @Override
146 public int modifyRangedLevel(Npc attacker, Mob defender, int level) {
147 return currentStrategy.modifyRangedLevel(attacker, defender, level);
148 }
149
150 @Override
151 public int modifyMagicLevel(Npc attacker, Mob defender, int level) {
152 return currentStrategy.modifyMagicLevel(attacker, defender, level);
153 }
154
155 @Override
156 public int modifyOffensiveBonus(Npc attacker, Mob defender, int bonus) {
157 return currentStrategy.modifyOffensiveBonus(attacker, defender, bonus);
158 }
159
160 @Override
161 public int modifyAggressiveBonus(Npc attacker, Mob defender, int bonus) {
162 return currentStrategy.modifyAggressiveBonus(attacker, defender, bonus);
163 }
164
165 @Override
166 public int modifyDefensiveBonus(Mob attacker, Npc defender, int bonus) {
167 return currentStrategy.modifyDefensiveBonus(attacker, defender, bonus);
168 }
169
170 @Override
171 public void onDamage(Npc defender, Hit hit) {
172
173 }
174}