From 94a08d86a01fc2767b689808a96a14695aa86aa6 Mon Sep 17 00:00:00 2001 From: Noir Date: Tue, 18 Jun 2024 21:42:52 -0400 Subject: [PATCH] Min HP / MP needs to check against post-AP-reset value --- .../java/client/processor/stat/AssignAPProcessor.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/client/processor/stat/AssignAPProcessor.java b/src/main/java/client/processor/stat/AssignAPProcessor.java index c7897ce810..1af21574f7 100644 --- a/src/main/java/client/processor/stat/AssignAPProcessor.java +++ b/src/main/java/client/processor/stat/AssignAPProcessor.java @@ -552,14 +552,14 @@ public class AssignAPProcessor { return false; } - if (player.getMaxHp() < getMinHp(player.getJob(), player.getLevel())) { + int hplose = -takeHp(player.getJob()); + if (player.getMaxHp() + hplose < getMinHp(player.getJob(), player.getLevel())) { player.message("You don't have the minimum HP pool required to swap."); c.sendPacket(PacketCreator.enableActions()); return false; } int curHp = player.getHp(); - int hplose = -takeHp(player.getJob()); player.assignHP(hplose, -1); if (!YamlConfig.config.server.USE_FIXED_RATIO_HPMP_UPDATE) { player.updateHp(Math.max(1, curHp + hplose)); @@ -581,14 +581,14 @@ public class AssignAPProcessor { return false; } - if (player.getMaxMp() < getMinMp(player.getJob(), player.getLevel())) { + int mplose = -takeMp(player.getJob()); + if (player.getMaxMp() + mplose < getMinMp(player.getJob(), player.getLevel())) { player.message("You don't have the minimum MP pool required to swap."); c.sendPacket(PacketCreator.enableActions()); return false; } int curMp = player.getMp(); - int mplose = -takeMp(player.getJob()); player.assignMP(mplose, -1); if (!YamlConfig.config.server.USE_FIXED_RATIO_HPMP_UPDATE) { player.updateMp(Math.max(0, curMp + mplose));