RuneHive-Game
Loading...
Searching...
No Matches
MultiStrategy.java
Go to the documentation of this file.
1package com.runehive.game.world.entity.combat.strategy.npc;
2
3import com.runehive.game.Animation;
4import com.runehive.game.world.entity.combat.CombatType;
5import com.runehive.game.world.entity.combat.attack.FightType;
6import com.runehive.game.world.entity.combat.hit.CombatHit;
7import com.runehive.game.world.entity.combat.hit.Hit;
8import com.runehive.game.world.entity.combat.strategy.CombatStrategy;
9import com.runehive.game.world.entity.mob.Mob;
10import com.runehive.game.world.entity.mob.npc.Npc;
11
12public abstract class MultiStrategy extends CombatStrategy<Npc> {
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
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}
Class that models a single animation used by an entity.
A wrapper for a Hit object, adding additional variables for hit and hitsplat delays.
A Hit object holds the damage amount and hitsplat data.
Definition Hit.java:10
int modifyDefensiveBonus(Mob attacker, Npc defender, int bonus)
int getAttackDelay(Npc attacker, Mob defender, FightType fightType)
int modifyAggressive(Npc attacker, Mob defender, int roll)
int modifyAggressiveBonus(Npc attacker, Mob defender, int bonus)
void block(Mob attacker, Npc defender, Hit hit, CombatType combatType)
void start(Npc attacker, Mob defender, Hit[] hits)
int modifyDamage(Npc attacker, Mob defender, int damage)
int modifyRangedLevel(Npc attacker, Mob defender, int level)
int modifyDefensive(Mob attacker, Npc defender, int roll)
int modifyOffensiveBonus(Npc attacker, Mob defender, int bonus)
int modifyStrengthLevel(Npc attacker, Mob defender, int level)
int modifyMagicLevel(Npc attacker, Mob defender, int level)
int modifyDefenceLevel(Mob attacker, Npc defender, int level)
void preKill(Mob attacker, Mob defender, Hit hit)
Called before attacker killed defender.
int modifyAttackLevel(Npc attacker, Mob defender, int level)
Handles the mob class.
Definition Mob.java:66
Represents a non-player character in the in-game world.
Definition Npc.java:29
The enumerated type whose elements represent the fighting types.