RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
RingOfLifeListener.java
1package com.osroyale.game.world.entity.combat.attack.listener.item;
2
3import com.osroyale.Config;
4import com.osroyale.net.packet.out.SendMessage;
5import com.osroyale.game.world.entity.combat.CombatType;
6import com.osroyale.game.world.entity.combat.attack.listener.ItemCombatListenerSignature;
7import com.osroyale.game.world.entity.combat.attack.listener.SimplifiedListener;
8import com.osroyale.game.world.entity.combat.hit.Hit;
9import com.osroyale.game.world.entity.mob.Mob;
10import com.osroyale.game.world.entity.mob.player.Player;
11import com.osroyale.content.skill.impl.magic.teleport.Teleportation;
12import com.osroyale.game.world.position.Area;
13
20@ItemCombatListenerSignature(requireAll = false, items = {2570, 9753, 9754})
21public class RingOfLifeListener extends SimplifiedListener<Player> {
22
23 @Override
24 public void block(Mob attacker, Player defender, Hit hit, CombatType combatType) {
25 if (Area.inDuelArena(defender))
26 return;
27 if (defender.getCurrentHealth() - hit.getDamage() <= 0)
28 return;
29 if (defender.getCurrentHealth() - hit.getDamage() <= defender.getMaximumHealth() * 0.10) {
30 if (Teleportation.teleport(defender, Config.DEFAULT_POSITION)) {
31 defender.send(new SendMessage("The Ring of life has saved you; but was destroyed in the process."));
32 }
33 defender.getCombat().removeListener(this);
34 if (defender.equipment.contains(2570)) {
35 defender.equipment.remove(2570);
36 }
37 }
38 }
39}
static final Position DEFAULT_POSITION
Definition Config.java:235
boolean remove(Item item, int preferredIndex, boolean refresh)