From 5262a602dab93f5ee601cd906833922011e39f91 Mon Sep 17 00:00:00 2001 From: MagicBot Date: Thu, 15 Oct 2026 09:05:24 -0400 Subject: [PATCH] Keep siege engine target when a new player loads it InterestManager cleared the combat target of every live mob loaded for a new player, so a siege engine firing at a wall dropped its target whenever someone entered load range. Siege engines now keep it. Co-Authored-By: Claude Opus 5.5 --- src/engine/InterestManagement/InterestManager.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/engine/InterestManagement/InterestManager.java b/src/engine/InterestManagement/InterestManager.java index 984a364c..9570367c 100644 --- a/src/engine/InterestManagement/InterestManager.java +++ b/src/engine/InterestManagement/InterestManager.java @@ -468,7 +468,12 @@ public enum InterestManager implements Runnable { continue; awonpc.playerAgroMap.put(player.getObjectUUID(), 0f); - ((Mob) awonpc).setCombatTarget(null); + + // siege engines keep firing at their target when a new player loads them + + if (!awonpc.isSiege()) + ((Mob) awonpc).setCombatTarget(null); + lcm = new LoadCharacterMsg(awonpc, PlayerCharacter.hideNonAscii()); } else if ((awo.getObjectTypeMask() & MBServerStatics.MASK_NPC) != 0) {