1package com.osroyale.game.world.entity.combat.attack.listener.item;
3import com.osroyale.net.packet.out.SendMessage;
4import com.osroyale.game.Graphic;
5import com.osroyale.game.UpdatePriority;
6import com.osroyale.game.world.entity.combat.attack.listener.ItemCombatListenerSignature;
7import com.osroyale.game.world.entity.combat.attack.listener.NpcCombatListenerSignature;
8import com.osroyale.game.world.entity.combat.attack.listener.SimplifiedListener;
9import com.osroyale.game.world.entity.combat.hit.Hit;
10import com.osroyale.game.world.entity.mob.Mob;
11import com.osroyale.game.world.entity.mob.player.Player;
12import com.osroyale.util.Utility;
24 public void hit(
Mob attacker,
Mob defender,
Hit hit) {
25 if (defender.
isPlayer() && hit.getDamage() > 1) {
26 boolean success =
Utility.random(100) <= 25;
31 Player player = defender.getPlayer();
32 int energy = player.runEnergy;
33 int drain = energy < 50 ? 10 : 20;
40 player.runEnergy = energy;
41 player.send(
new SendMessage(drain +
"% run energy has been drained by " + attacker.
getName() +
"."));
45 attacker.getPlayer().send(
new SendMessage(
"You have drained " + drain +
"% of " + defender.
getName() +
"'s run energy."));
49 super.hit(attacker, defender, hit);
abstract String getName()