From 891cdf7de1e7460020be8d0f9c5ee572b0587400 Mon Sep 17 00:00:00 2001 From: damighty <27978131-real_damighty@users.noreply.gitlab.com> Date: Mon, 18 Aug 2025 14:39:38 +0300 Subject: [PATCH] Fixed PK news announcement breaking due to incorrect time processing --- .../src/main/core/game/node/entity/player/Player.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Server/src/main/core/game/node/entity/player/Player.java b/Server/src/main/core/game/node/entity/player/Player.java index dfced34d2..1592d0b0e 100644 --- a/Server/src/main/core/game/node/entity/player/Player.java +++ b/Server/src/main/core/game/node/entity/player/Player.java @@ -617,10 +617,13 @@ public class Player extends Entity { if (this.isArtificial() && killer instanceof NPC) { return; } - if (killer instanceof Player && killer.getName() != getName() /* happens if you died via typeless damage from an external cause, e.g. bugs in a dark cave without a light source */ && getWorldTicks() - killer.getAttribute("/save:last-murder-news", 0) >= 500) { - Item wep = getItemFromEquipment((Player) killer, EquipmentSlot.WEAPON); - sendNews(killer.getUsername() + " has murdered " + getUsername() + " with " + (wep == null ? "their fists." : (StringUtils.isPlusN(wep.getName()) ? "an " : "a ") + wep.getName())); - killer.setAttribute("/save:last-murder-news", getWorldTicks()); + if (killer instanceof Player && killer.getName() != getName()) { // the latter happens if you died via typeless damage from an external cause, e.g. bugs in a dark cave without a light source + long unixSeconds = System.currentTimeMillis() / 1000L; + if (unixSeconds - killer.getAttribute("/save:last-murder-news", 0L) >= 300) { + Item wep = getItemFromEquipment((Player) killer, EquipmentSlot.WEAPON); + sendNews(killer.getUsername() + " has murdered " + getUsername() + " with " + (wep == null ? "their fists." : (StringUtils.isPlusN(wep.getName()) ? "an " : "a ") + wep.getName())); + killer.setAttribute("/save:last-murder-news", unixSeconds); + } } getPacketDispatch().sendMessage("Oh dear, you are dead!"); incrementAttribute("/save:"+STATS_BASE+":"+STATS_DEATHS);