RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
CombatEffect.java
1package com.osroyale.game.world.entity.combat.effect;
2
3import com.osroyale.game.world.World;
4import com.osroyale.game.world.entity.mob.Mob;
5
6import java.util.Collection;
7import java.util.Collections;
8import java.util.HashMap;
9import java.util.Map;
10
51
52public abstract class CombatEffect {
53
55 public static final Map<CombatEffectType, CombatEffect> EFFECTS = new HashMap<>();
56
58 private final int delay;
59
61 public CombatEffect(int delay) {
62 this.delay = delay;
63 }
64
66 public final boolean start(Mob mob) {
67 if (apply(mob)) {
68 World.schedule(new CombatEffectTask(mob, this));
69 return true;
70 }
71 return false;
72 }
73
75 public abstract boolean apply(Mob mob);
76
78 public abstract boolean removeOn(Mob mob);
79
81 public abstract void process(Mob mob);
82
84 public abstract boolean onLogin(Mob mob);
85
87 protected final int getDelay() {
88 return delay;
89 }
90
92 public static Collection<CombatEffect> values() {
93 return Collections.unmodifiableCollection(EFFECTS.values());
94 }
95}
static void schedule(Task task)
Definition World.java:284
static final Map< CombatEffectType, CombatEffect > EFFECTS