RuneHive-Game
Loading...
Searching...
No Matches
com.runehive.util.RandomUtils Class Reference

A static-util class that provides additional functionality for generating pseudo-random numbers. More...

Static Public Member Functions

static float floatRandom (float range)
 Returns a pseudo-random float between inclusive 0 and exclusive range.
static double inclusive (double min, double max)
 Returns a pseudo-random int value between inclusive min and inclusive max.
static int inclusive (int min, int max)
 Returns a pseudo-random int value between inclusive min and inclusive max.
static int inclusive (int range)
 Returns a pseudo-random int value between inclusive 0 and inclusive range.
static int inclusiveExcludes (int min, int max, int... exclude)
 Returns a pseudo-random int value between inclusive min and inclusive max excluding the specified numbers within the excludes array.
static boolean nextBoolean ()
 Returns a pseudo-random boolean.
static double nextDouble ()
 Returns a pseudo-random double.
static boolean random (boolean... array)
 Pseudo-randomly retrieves an boolean from this array.
static byte random (byte... array)
 Pseudo-randomly retrieves an byte from this array.
static char random (char... array)
 Pseudo-randomly retrieves an char from this array.
static double random (double... array)
 Pseudo-randomly retrieves an double from this array.
static float random (float... array)
 Pseudo-randomly retrieves an float from this array.
static int random (int... array)
 Pseudo-randomly retrieves an int from this array.
static< T > T random (List< T > list)
 Pseudo-randomly retrieves a element from list.
static long random (long... array)
 Pseudo-randomly retrieves an long from this array.
static short random (short... array)
 Pseudo-randomly retrieves an short from this array.
static< T > T random (T[] array)
 Pseudo-randomly retrieves a element from array.
static< T > T randomExclude (T[] array, T exclude)
 Returns a pseudo-random int value between inclusive min and inclusive max excluding the specified numbers within the excludes array.
static boolean[] shuffle (boolean[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an boolean array.
static byte[] shuffle (byte[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an byte array.
static char[] shuffle (char[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an char array.
static double[] shuffle (double[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an double array.
static float[] shuffle (float[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an float array.
static int[] shuffle (int[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an int array.
static long[] shuffle (long[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an long array.
static short[] shuffle (short[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an short array.
static< T > T[] shuffle (T[] array)
 An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an T array.
static boolean success (double value)
 Determines if a pseudorandomly generated double rounded to two decimal places is below or equal to value.

Private Member Functions

 RandomUtils ()
 A private constructor to discourage external instantiation.

Detailed Description

A static-util class that provides additional functionality for generating pseudo-random numbers.

All functions in this class are backed by ThreadLocalRandom rather than the more commonly used Random. It is generally preferred to use this over Random because although Random is thread safe; the same seed is shared concurrently, which leads to contention between multiple threads and overhead as a result. Surprisingly because of the way that
ThreadLocalRandom
works, even in completely single-threaded situations it runs up to three times faster than
Random
.

Author
lare96 http://github.com/lare96
See also
java.util.Random and java.util.concurrent.ThreadLocalRandom in multithreaded environments

Definition at line 22 of file RandomUtils.java.

Constructor & Destructor Documentation

◆ RandomUtils()

com.runehive.util.RandomUtils.RandomUtils ( )
private

A private constructor to discourage external instantiation.

Definition at line 27 of file RandomUtils.java.

27 {
28 }

Member Function Documentation

◆ floatRandom()

float com.runehive.util.RandomUtils.floatRandom ( float range)
static

Returns a pseudo-random float between inclusive 0 and exclusive range.

Parameters
rangeThe exclusive range.
Returns
The pseudo-random float.
Exceptions
IllegalArgumentExceptionIf the specified range is less than 0.

Definition at line 56 of file RandomUtils.java.

56 {
57 if (range < 0F)
58 throw new IllegalArgumentException("range <= 0");
59 return ThreadLocalRandom.current().nextFloat() * range;
60 }

◆ inclusive() [1/3]

double com.runehive.util.RandomUtils.inclusive ( double min,
double max )
static

Returns a pseudo-random int value between inclusive min and inclusive max.

Parameters
minThe minimum inclusive number.
maxThe maximum inclusive number.
Returns
The pseudo-random int.
Exceptions
IllegalArgumentExceptionIf max - min + 1 is less than 0.

Definition at line 87 of file RandomUtils.java.

87 {
88 if (min == max)
89 return min;
90 checkArgument(max >= min, "max < min");
91 return ThreadLocalRandom.current().nextDouble(max - min) + min;
92 }

◆ inclusive() [2/3]

int com.runehive.util.RandomUtils.inclusive ( int min,
int max )
static

Returns a pseudo-random int value between inclusive min and inclusive max.

Parameters
minThe minimum inclusive number.
maxThe maximum inclusive number.
Returns
The pseudo-random int.
Exceptions
IllegalArgumentExceptionIf max - min + 1 is less than 0.

Definition at line 70 of file RandomUtils.java.

70 {
71 if (min == max)
72 return min;
73 checkArgument(max >= min, "max < min");
74 return ThreadLocalRandom.current().nextInt((max - min) + 1) + min;
75 }

Referenced by com.runehive.content.bot.botclass.impl.AGSRuneMelee.block(), com.runehive.content.bot.botclass.impl.PureMelee.block(), com.runehive.content.bot.botclass.impl.PureRangeMelee.block(), com.runehive.content.bot.botclass.impl.WelfareRuneMelee.block(), com.runehive.content.bot.botclass.impl.ZerkerMelee.block(), com.runehive.content.activity.impl.zulrah.ZulrahActivity.cloudEffect(), com.runehive.content.skill.impl.farming.patches.HarvestablePatch.createHarvestAction(), com.runehive.content.shootingstar.ShootingStarData.decreaseDust(), com.runehive.game.world.entity.mob.npc.drop.NpcDropTable.generate(), com.runehive.game.world.entity.combat.CombatUtil.generateDragonfire(), com.runehive.game.world.entity.combat.strategy.npc.boss.Venenatis.PrayerDrain.getHits(), com.runehive.content.shootingstar.ShootingStarData.getLevel(), com.runehive.content.bot.botclass.impl.AGSRuneMelee.hit(), com.runehive.content.bot.botclass.impl.PureMelee.hit(), com.runehive.content.bot.botclass.impl.PureRangeMelee.hit(), com.runehive.content.bot.botclass.impl.WelfareRuneMelee.hit(), com.runehive.content.bot.botclass.impl.ZerkerMelee.hit(), com.runehive.game.world.entity.combat.strategy.npc.boss.Vetion.Earthquake.hit(), inclusive(), inclusiveExcludes(), com.runehive.content.bot.objective.impl.WildernessDitchObjective.init(), com.runehive.content.bot.objective.impl.WildernessWalkObjective.init(), com.runehive.game.world.entity.combat.attack.FormulaFactory.nextHit(), com.runehive.game.world.entity.combat.attack.listener.other.PrayerListener.preDeath(), com.runehive.game.world.entity.mob.npc.Npc.sequence(), com.runehive.content.shootingstar.ShootingStarData.ShootingStarData(), com.runehive.game.world.entity.MobList< E extends Mob >.shuffle(), and com.runehive.content.activity.randomevent.RandomEventHandler.trigger().

Here is the caller graph for this function:

◆ inclusive() [3/3]

int com.runehive.util.RandomUtils.inclusive ( int range)
static

Returns a pseudo-random int value between inclusive 0 and inclusive range.

Parameters
rangeThe maximum inclusive number.
Returns
The pseudo-random int.
Exceptions
IllegalArgumentExceptionIf max - min + 1 is less than 0.

Definition at line 101 of file RandomUtils.java.

101 {
102 return inclusive(0, range);
103 }

References inclusive().

Here is the call graph for this function:

◆ inclusiveExcludes()

int com.runehive.util.RandomUtils.inclusiveExcludes ( int min,
int max,
int... exclude )
static

Returns a pseudo-random int value between inclusive min and inclusive max excluding the specified numbers within the excludes array.

Parameters
minthe minimum inclusive number.
maxthe maximum inclusive number.
Returns
the pseudo-random int.
Exceptions
IllegalArgumentExceptionif max - min + 1 is less than 0.

Definition at line 359 of file RandomUtils.java.

359 {
360 Arrays.sort(exclude);
361
362 int result = inclusive(min, max);
363 while (Arrays.binarySearch(exclude, result) >= 0) {
364 result = inclusive(min, max);
365 }
366
367 return result;
368 }

References inclusive().

Referenced by com.runehive.game.world.entity.combat.magic.MagicImpact.kbdShock().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nextBoolean()

boolean com.runehive.util.RandomUtils.nextBoolean ( )
static

Returns a pseudo-random boolean.

Returns
The pseudo-random boolean.

Definition at line 35 of file RandomUtils.java.

35 {
36 return ThreadLocalRandom.current().nextBoolean();
37 }

◆ nextDouble()

double com.runehive.util.RandomUtils.nextDouble ( )
static

Returns a pseudo-random double.

Returns
The pseudo-random double.

Definition at line 44 of file RandomUtils.java.

44 {
45 return ThreadLocalRandom.current().nextDouble();
46 }

◆ random() [1/10]

boolean com.runehive.util.RandomUtils.random ( boolean... array)
static

Pseudo-randomly retrieves an boolean from this array.

Parameters
arrayThe array to retrieve an boolean from.
Returns
The boolean retrieved from the array.

Definition at line 181 of file RandomUtils.java.

181 {
182 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
183 }

◆ random() [2/10]

byte com.runehive.util.RandomUtils.random ( byte... array)
static

Pseudo-randomly retrieves an byte from this array.

Parameters
arrayThe array to retrieve an byte from.
Returns
The byte retrieved from the array.

Definition at line 161 of file RandomUtils.java.

161 {
162 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
163 }

◆ random() [3/10]

char com.runehive.util.RandomUtils.random ( char... array)
static

Pseudo-randomly retrieves an char from this array.

Parameters
arrayThe array to retrieve an char from.
Returns
The char retrieved from the array.

Definition at line 191 of file RandomUtils.java.

191 {
192 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
193 }

◆ random() [4/10]

double com.runehive.util.RandomUtils.random ( double... array)
static

Pseudo-randomly retrieves an double from this array.

Parameters
arrayThe array to retrieve an double from.
Returns
The double retrieved from the array.

Definition at line 141 of file RandomUtils.java.

141 {
142 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
143 }

◆ random() [5/10]

float com.runehive.util.RandomUtils.random ( float... array)
static

Pseudo-randomly retrieves an float from this array.

Parameters
arrayThe array to retrieve an float from.
Returns
The float retrieved from the array.

Definition at line 171 of file RandomUtils.java.

171 {
172 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
173 }

◆ random() [6/10]

int com.runehive.util.RandomUtils.random ( int... array)
static

Pseudo-randomly retrieves an int from this array.

Parameters
arrayThe array to retrieve an int from.
Returns
The int retrieved from the array.

Definition at line 121 of file RandomUtils.java.

121 {
122 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
123 }

◆ random() [7/10]

static< T > T com.runehive.util.RandomUtils.random ( List< T > list)
static

Pseudo-randomly retrieves a element from list.

Parameters
listThe list to retrieve an element from.
Returns
The element retrieved from the list.

Definition at line 201 of file RandomUtils.java.

201 {
202 if (list.isEmpty()) return null;
203 return list.get((int) (ThreadLocalRandom.current().nextDouble() * list.size()));
204 }

◆ random() [8/10]

long com.runehive.util.RandomUtils.random ( long... array)
static

Pseudo-randomly retrieves an long from this array.

Parameters
arrayThe array to retrieve an long from.
Returns
The long retrieved from the array.

Definition at line 131 of file RandomUtils.java.

131 {
132 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
133 }

◆ random() [9/10]

short com.runehive.util.RandomUtils.random ( short... array)
static

Pseudo-randomly retrieves an short from this array.

Parameters
arrayThe array to retrieve an short from.
Returns
The short retrieved from the array.

Definition at line 151 of file RandomUtils.java.

151 {
152 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
153 }

◆ random() [10/10]

static< T > T com.runehive.util.RandomUtils.random ( T[] array)
static

Pseudo-randomly retrieves a element from array.

Parameters
arrayThe array to retrieve an element from.
Returns
The element retrieved from the array.

Definition at line 111 of file RandomUtils.java.

111 {
112 return array[(int) (ThreadLocalRandom.current().nextDouble() * array.length)];
113 }

Referenced by com.runehive.game.world.entity.combat.strategy.npc.boss.MutantTarn.canAttack(), com.runehive.game.world.entity.combat.strategy.npc.boss.Vorkath.canAttack(), com.runehive.content.bot.objective.impl.BankObjective.finish(), com.runehive.game.world.entity.combat.strategy.npc.boss.Vetion.finishIncoming(), com.runehive.game.world.entity.mob.npc.drop.NpcDropTable.generate(), com.runehive.game.world.pathfinding.TraversalMap.getRandomNonDiagonal(), com.runehive.game.world.pathfinding.TraversalMap.getRandomTraversableTile(), com.runehive.content.activity.infernomobs.JalTokJad.hit(), com.runehive.game.world.entity.combat.strategy.npc.boss.scorpia.Scorpia.hit(), com.runehive.content.bot.objective.impl.BankObjective.init(), com.runehive.content.bot.objective.impl.RestockObjective.init(), com.runehive.game.world.entity.combat.strategy.npc.boss.MutantTarn.init(), com.runehive.game.world.entity.combat.strategy.npc.boss.Vorkath.init(), randomExclude(), com.runehive.game.world.entity.combat.CombatUtil.randomStrategy(), com.runehive.content.activity.impl.pestcontrol.PestControlGame.spawn(), com.runehive.content.activity.impl.fightcaves.FightCaves.start(), com.runehive.content.activity.impl.recipefordisaster.RecipeForDisaster.start(), com.runehive.content.activity.inferno.Inferno.start(), com.runehive.game.world.entity.combat.strategy.npc.boss.Vetion.Magic.start(), com.runehive.game.world.entity.combat.strategy.npc.boss.MutantTarn.withinDistance(), and com.runehive.game.world.entity.combat.strategy.npc.boss.Vorkath.withinDistance().

Here is the caller graph for this function:

◆ randomExclude()

static< T > T com.runehive.util.RandomUtils.randomExclude ( T[] array,
T exclude )
static

Returns a pseudo-random int value between inclusive min and inclusive max excluding the specified numbers within the excludes array.

Returns
the pseudo-random int.
Exceptions
IllegalArgumentExceptionif max - min + 1 is less than 0.

Definition at line 378 of file RandomUtils.java.

378 {
379 T result = random(array);
380 while (exclude.equals(result))
381 result = random(array);
382 return result;
383 }

References random().

Referenced by com.runehive.game.world.entity.combat.strategy.npc.boss.Venenatis.Web.finishOutgoing(), com.runehive.game.world.entity.combat.strategy.npc.boss.DemonicGorillas.getNextForm(), com.runehive.game.world.entity.combat.strategy.npc.boss.DemonicGorillas.getNextStrategy(), com.runehive.game.world.entity.combat.strategy.npc.boss.Hydra.getNextStrategy(), com.runehive.content.activity.impl.zulrah.ZulrahActivity.nextForm(), and com.runehive.game.world.entity.combat.strategy.npc.boss.StoneGuardian.nextForm().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ shuffle() [1/9]

boolean[] com.runehive.util.RandomUtils.shuffle ( boolean[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an boolean array.

Parameters
arrayThe array that will be shuffled.
Returns
The shuffled array.

Definition at line 324 of file RandomUtils.java.

324 {
325 for (int i = array.length - 1; i > 0; i--) {
326 int index = ThreadLocalRandom.current().nextInt(i + 1);
327 boolean a = array[index];
328 array[index] = array[i];
329 array[i] = a;
330 }
331 return array;
332 }
val index

◆ shuffle() [2/9]

byte[] com.runehive.util.RandomUtils.shuffle ( byte[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an byte array.

Parameters
arrayThe array that will be shuffled.
Returns
The shuffled array.

Definition at line 292 of file RandomUtils.java.

292 {
293 for (int i = array.length - 1; i > 0; i--) {
294 int index = ThreadLocalRandom.current().nextInt(i + 1);
295 byte a = array[index];
296 array[index] = array[i];
297 array[i] = a;
298 }
299 return array;
300 }

◆ shuffle() [3/9]

char[] com.runehive.util.RandomUtils.shuffle ( char[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an char array.

Parameters
arrayThe array that will be shuffled.

Definition at line 339 of file RandomUtils.java.

339 {
340 for (int i = array.length - 1; i > 0; i--) {
341 int index = ThreadLocalRandom.current().nextInt(i + 1);
342 char a = array[index];
343 array[index] = array[i];
344 array[i] = a;
345 }
346 return array;
347 }

◆ shuffle() [4/9]

double[] com.runehive.util.RandomUtils.shuffle ( double[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an double array.

Parameters
arrayThe array that will be shuffled.
Returns
The shuffled array.

Definition at line 260 of file RandomUtils.java.

260 {
261 for (int i = array.length - 1; i > 0; i--) {
262 int index = ThreadLocalRandom.current().nextInt(i + 1);
263 double a = array[index];
264 array[index] = array[i];
265 array[i] = a;
266 }
267 return array;
268 }

◆ shuffle() [5/9]

float[] com.runehive.util.RandomUtils.shuffle ( float[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an float array.

Parameters
arrayThe array that will be shuffled.
Returns
The shuffled array.

Definition at line 308 of file RandomUtils.java.

308 {
309 for (int i = array.length - 1; i > 0; i--) {
310 int index = ThreadLocalRandom.current().nextInt(i + 1);
311 float a = array[index];
312 array[index] = array[i];
313 array[i] = a;
314 }
315 return array;
316 }

◆ shuffle() [6/9]

int[] com.runehive.util.RandomUtils.shuffle ( int[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an int array.

Parameters
arrayThe array that will be shuffled.
Returns
The shuffled array.

Definition at line 228 of file RandomUtils.java.

228 {
229 for (int i = array.length - 1; i > 0; i--) {
230 int index = ThreadLocalRandom.current().nextInt(i + 1);
231 int a = array[index];
232 array[index] = array[i];
233 array[i] = a;
234 }
235 return array;
236 }

◆ shuffle() [7/9]

long[] com.runehive.util.RandomUtils.shuffle ( long[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an long array.

Parameters
arrayThe array that will be shuffled.
Returns
The shuffled array.

Definition at line 244 of file RandomUtils.java.

244 {
245 for (int i = array.length - 1; i > 0; i--) {
246 int index = ThreadLocalRandom.current().nextInt(i + 1);
247 long a = array[index];
248 array[index] = array[i];
249 array[i] = a;
250 }
251 return array;
252 }

◆ shuffle() [8/9]

short[] com.runehive.util.RandomUtils.shuffle ( short[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an short array.

Parameters
arrayThe array that will be shuffled.
Returns
The shuffled array.

Definition at line 276 of file RandomUtils.java.

276 {
277 for (int i = array.length - 1; i > 0; i--) {
278 int index = ThreadLocalRandom.current().nextInt(i + 1);
279 short a = array[index];
280 array[index] = array[i];
281 array[i] = a;
282 }
283 return array;
284 }

◆ shuffle() [9/9]

static< T > T[] com.runehive.util.RandomUtils.shuffle ( T[] array)
static

An implementation of the Fisher-Yates shuffle algorithm that will shuffle the elements of an T array.

Parameters
arrayThe array that will be shuffled.
Returns
The shuffled array.

Definition at line 212 of file RandomUtils.java.

212 {
213 for (int i = array.length - 1; i > 0; i--) {
214 int index = ThreadLocalRandom.current().nextInt(i + 1);
215 T a = array[index];
216 array[index] = array[i];
217 array[i] = a;
218 }
219 return array;
220 }

◆ success()

boolean com.runehive.util.RandomUtils.success ( double value)
static

Determines if a pseudorandomly generated double rounded to two decimal places is below or equal to value.

Parameters
valuethe value to determine this for.
Returns
true if successful, false otherwise.

Definition at line 392 of file RandomUtils.java.

392 {
393 return value >= 1.00 || ThreadLocalRandom.current().nextDouble() <= value;
394 }

Referenced by com.runehive.game.world.entity.combat.strategy.npc.NpcMeleeStrategy.attack(), com.runehive.game.world.entity.combat.strategy.npc.NpcRangedStrategy.attack(), com.runehive.game.world.entity.combat.strategy.player.custom.ToxicBlowpipeStrategy.attack(), com.runehive.game.world.entity.combat.strategy.npc.boss.magearena.Justiciar.block(), com.runehive.game.world.entity.combat.strategy.npc.boss.magearena.Porazdir.block(), com.runehive.content.skill.impl.firemaking.Firemaking.bonfireAction(), com.runehive.game.world.entity.combat.strategy.npc.boss.Callisto.canAttack(), com.runehive.content.skill.impl.woodcutting.WoodcuttingAction.chop(), com.runehive.game.world.entity.combat.attack.listener.npc.GeneralGraardor.MeleeAttack.finishOutgoing(), com.runehive.game.world.entity.combat.strategy.npc.boss.Callisto.finishOutgoing(), com.runehive.game.world.entity.combat.strategy.npc.boss.Vetion.finishOutgoing(), com.runehive.content.skill.impl.fishing.FishingAction.fish(), com.runehive.content.bot.botclass.impl.AGSRuneMelee.hit(), com.runehive.content.bot.botclass.impl.PureRangeMelee.hit(), com.runehive.content.bot.botclass.impl.ZerkerMelee.hit(), com.runehive.game.world.entity.combat.strategy.player.custom.TridentOfTheSwampStrategy.hit(), com.runehive.game.world.entity.combat.strategy.player.PlayerMagicStrategy.hit(), com.runehive.game.world.entity.combat.attack.listener.item.VeracListener.init(), com.runehive.game.world.entity.combat.attack.FormulaFactory.isAccurate(), com.runehive.game.world.entity.combat.attack.listener.item.ZulrahHelm.magma(), com.runehive.content.skill.impl.mining.MiningAction.mine(), com.runehive.content.skill.impl.firemaking.FiremakingAction.onDestruct(), com.runehive.game.world.entity.combat.strategy.player.custom.ToxicBlowpipeStrategy.removeAmmunition(), com.runehive.game.world.entity.combat.strategy.player.PlayerRangedStrategy.removeAmmunition(), com.runehive.game.world.entity.combat.strategy.npc.NpcMagicStrategy.sendProjectile(), com.runehive.game.world.entity.combat.attack.listener.item.ZulrahHelm.serp(), com.runehive.content.skill.SkillRepository.spawn(), com.runehive.game.world.entity.combat.attack.listener.npc.DarkBeast.start(), com.runehive.game.world.entity.combat.attack.listener.npc.GeneralGraardor.start(), com.runehive.game.world.entity.combat.strategy.player.PlayerMagicStrategy.start(), and com.runehive.game.world.entity.combat.attack.listener.item.ZulrahHelm.tanz().

Here is the caller graph for this function:

The documentation for this class was generated from the following file: