RuneHive-Game
Loading...
Searching...
No Matches
VeracListener.java
Go to the documentation of this file.
1package com.runehive.game.world.entity.combat.attack.listener.item;
2
3import com.runehive.game.world.entity.combat.FormulaModifier;
4import com.runehive.game.world.entity.combat.attack.listener.ItemCombatListenerSignature;
5import com.runehive.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
6import com.runehive.game.world.entity.combat.attack.listener.SimplifiedListener;
7import com.runehive.game.world.entity.mob.Mob;
8import com.runehive.util.RandomUtils;
9
10@NpcCombatListenerSignature(npcs = {1677})
11@ItemCombatListenerSignature(requireAll = true, items = {4753, 4755,4757,4759})
13
14 @Override
15 public void init(Mob attacker, Mob defender) {
16 if (RandomUtils.success(0.25)) {
17 defender.attributes.set("VERACS-EFFECT", attacker);
18 defender.getCombat().addModifier(VeracModifier.get());
19 }
20 }
21
22 @Override
23 public void finishOutgoing(Mob attacker, Mob defender) {
24 defender.attributes.remove("VERACS-EFFECT");
25 defender.getCombat().removeModifier(VeracModifier.get());
26 }
27
28 private static final class VeracModifier implements FormulaModifier<Mob> {
29 private static final VeracModifier INSTANCE = new VeracModifier();
30
31 @Override
32 public int modifyDefenceLevel(Mob attacker, Mob defender, int level) {
33 return 0;
34 }
35
36 @Override
37 public int modifyDefensiveBonus(Mob attacker, Mob defender, int bonus) {
38 return 0;
39 }
40
41 public static VeracModifier get() {
42 return INSTANCE;
43 }
44
45 }
46
47}
Handles the mob class.
Definition Mob.java:66
abstract Combat<? extends Mob > getCombat()
The combat of the mob.
final GenericAttributes attributes
Definition Mob.java:95
A static-util class that provides additional functionality for generating pseudo-random numbers.
static boolean success(double value)
Determines if a pseudorandomly generated double rounded to two decimal places is below or equal to va...
public< K > void remove(K key)
Removes a generic attribute.
public< K, E > void set(K key, E attribute)
Sets a generic attribute.