RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
VeracListener.java
1package com.osroyale.game.world.entity.combat.attack.listener.item;
2
3import com.osroyale.game.world.entity.combat.FormulaModifier;
4import com.osroyale.game.world.entity.combat.attack.listener.ItemCombatListenerSignature;
5import com.osroyale.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
6import com.osroyale.game.world.entity.combat.attack.listener.SimplifiedListener;
7import com.osroyale.game.world.entity.mob.Mob;
8import com.osroyale.util.RandomUtils;
9
10@NpcCombatListenerSignature(npcs = {1677})
11@ItemCombatListenerSignature(requireAll = true, items = {4753, 4755,4757,4759})
35
36public class VeracListener extends SimplifiedListener<Mob> {
37
38 @Override
39 public void init(Mob attacker, Mob defender) {
40 if (RandomUtils.success(0.25)) {
41 defender.attributes.set("VERACS-EFFECT", attacker);
42 defender.getCombat().addModifier(VeracModifier.get());
43 }
44 }
45
46 @Override
47 public void finishOutgoing(Mob attacker, Mob defender) {
48 defender.attributes.remove("VERACS-EFFECT");
49 defender.getCombat().removeModifier(VeracModifier.get());
50 }
51
52 private static final class VeracModifier implements FormulaModifier<Mob> {
53 private static final VeracModifier INSTANCE = new VeracModifier();
54
55 @Override
56 public int modifyDefenceLevel(Mob attacker, Mob defender, int level) {
57 return 0;
58 }
59
60 @Override
61 public int modifyDefensiveBonus(Mob attacker, Mob defender, int bonus) {
62 return 0;
63 }
64
65 public static VeracModifier get() {
66 return INSTANCE;
67 }
68
69 }
70
71}
abstract Combat<? extends Mob > getCombat()