From 8b254a294eb8d912eee897c0a929c9a9e9443a8b Mon Sep 17 00:00:00 2001 From: leevccc <94272011+leevccc@users.noreply.github.com> Date: Sun, 14 Jan 2024 18:15:48 +0800 Subject: [PATCH 1/2] fix: item lock cant extend lock time --- .../java/net/server/channel/handlers/UseCashItemHandler.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/server/channel/handlers/UseCashItemHandler.java b/src/main/java/net/server/channel/handlers/UseCashItemHandler.java index 1040376772..01b2fa10b5 100644 --- a/src/main/java/net/server/channel/handlers/UseCashItemHandler.java +++ b/src/main/java/net/server/channel/handlers/UseCashItemHandler.java @@ -229,7 +229,7 @@ public final class UseCashItemHandler extends AbstractPacketHandler { } short flag = eq.getFlag(); flag |= ItemConstants.LOCK; - if (eq.getExpiration() > -1) { + if (eq.getExpiration() > -1 && (eq.getFlag() & ItemConstants.LOCK) != ItemConstants.LOCK) { return; //No perma items pls } eq.setFlag(flag); @@ -246,7 +246,8 @@ public final class UseCashItemHandler extends AbstractPacketHandler { } if (period > 0) { - eq.setExpiration(currentServerTime() + DAYS.toMillis(period)); + long expiration = eq.getExpiration() > -1 ? eq.getExpiration() : currentServerTime(); + eq.setExpiration(expiration + DAYS.toMillis(period)); } // double-remove found thanks to BHB From 08b089d9be9a1e4c259ea891dab51c437d4e3ae5 Mon Sep 17 00:00:00 2001 From: leevccc <94272011+leevccc@users.noreply.github.com> Date: Sun, 14 Jan 2024 22:13:16 +0800 Subject: [PATCH 2/2] fix: seal lock cant extend lock time --- .../java/net/server/channel/handlers/UseCashItemHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/net/server/channel/handlers/UseCashItemHandler.java b/src/main/java/net/server/channel/handlers/UseCashItemHandler.java index 01b2fa10b5..56b6b02a3c 100644 --- a/src/main/java/net/server/channel/handlers/UseCashItemHandler.java +++ b/src/main/java/net/server/channel/handlers/UseCashItemHandler.java @@ -228,10 +228,10 @@ public final class UseCashItemHandler extends AbstractPacketHandler { return; } short flag = eq.getFlag(); - flag |= ItemConstants.LOCK; if (eq.getExpiration() > -1 && (eq.getFlag() & ItemConstants.LOCK) != ItemConstants.LOCK) { return; //No perma items pls } + flag |= ItemConstants.LOCK; eq.setFlag(flag); long period = 0;