RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
CombatListener.java
1package com.osroyale.game.world.entity.combat.attack.listener;
2
3import com.osroyale.game.world.entity.combat.CombatType;
4import com.osroyale.game.world.entity.combat.FormulaModifier;
5import com.osroyale.game.world.entity.combat.hit.Hit;
6import com.osroyale.game.world.entity.mob.Mob;
7
14public interface CombatListener<T extends Mob> extends FormulaModifier<T> {
15
16 boolean withinDistance(T attacker, Mob defender);
17
24 boolean canAttack(T attacker, Mob defender);
25
32 boolean canOtherAttack(Mob attacker, T defender);
33
40 default void init(T attacker, Mob defender) {}
41
48 void start(T attacker, Mob defender, Hit[] hits);
49
57 void attack(T attacker, Mob defender, Hit hit);
58
66 void hit(T attacker, Mob defender, Hit hit);
67
76 void block(Mob attacker, T defender, Hit hit, CombatType combatType);
77
85 void preDeath(Mob attacker, T defender, Hit hit);
86
94 void onDeath(Mob attacker, T defender, Hit hit);
95
103 void preKill(Mob attacker, Mob defender, Hit hit);
104
105
113 void onKill(T attacker, Mob defender, Hit hit);
114
122 void hitsplat(T attacker, Mob defender, Hit hit);
123
130 void finishOutgoing(T attacker, Mob defender);
131
138 void finishIncoming(Mob attacker, T defender);
139
140 void onDamage(T defender, Hit hit);
141
142 default void performChecks(T attacker, Mob defender) {
143
144 }
145
146}
147
void block(Mob attacker, T defender, Hit hit, CombatType combatType)