Move some autoban logic to new BanService
This commit is contained in:
@@ -29,9 +29,16 @@ import net.AbstractPacketHandler;
|
||||
import net.packet.InPacket;
|
||||
import net.server.Server;
|
||||
import server.maps.MapleMap;
|
||||
import service.BanService;
|
||||
import tools.PacketCreator;
|
||||
|
||||
public final class HealOvertimeHandler extends AbstractPacketHandler {
|
||||
private final BanService banService;
|
||||
|
||||
public HealOvertimeHandler(BanService banService) {
|
||||
this.banService = banService;
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void handlePacket(InPacket p, Client c) {
|
||||
Character chr = c.getPlayer();
|
||||
@@ -47,13 +54,13 @@ public final class HealOvertimeHandler extends AbstractPacketHandler {
|
||||
if (healHP != 0) {
|
||||
abm.setTimestamp(8, timestamp, 28); // thanks Vcoc & Thora for pointing out d/c happening here
|
||||
if ((abm.getLastSpam(0) + 1500) > timestamp) {
|
||||
AutobanFactory.FAST_HP_HEALING.addPoint(abm, "Fast hp healing");
|
||||
banService.addPoint(chr, AutobanFactory.FAST_HP_HEALING, "Fast hp healing");
|
||||
}
|
||||
|
||||
MapleMap map = chr.getMap();
|
||||
int abHeal = (int) (77 * map.getRecovery() * 1.5); // thanks Ari for noticing players not getting healed in sauna in certain cases
|
||||
if (healHP > abHeal) {
|
||||
AutobanFactory.HIGH_HP_HEALING.autoban(chr, "Healing: " + healHP + "; Max is " + abHeal + ".");
|
||||
banService.autoban(chr, AutobanFactory.HIGH_HP_HEALING, "Healing: " + healHP + "; Max is " + abHeal + ".");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -65,7 +72,7 @@ public final class HealOvertimeHandler extends AbstractPacketHandler {
|
||||
if (healMP != 0 && healMP < 1000) {
|
||||
abm.setTimestamp(9, timestamp, 28);
|
||||
if ((abm.getLastSpam(1) + 1500) > timestamp) {
|
||||
AutobanFactory.FAST_MP_HEALING.addPoint(abm, "Fast mp healing");
|
||||
banService.addPoint(chr, AutobanFactory.FAST_MP_HEALING, "Fast mp healing");
|
||||
return; // thanks resinate for noticing mp being gained even after detection
|
||||
}
|
||||
chr.addMP(healMP);
|
||||
|
||||
Reference in New Issue
Block a user