From 3103662528748220f2fad551e9126b08f7535738 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 21 Mar 2026 14:13:03 -0700 Subject: [PATCH] fix: query corpse position on ghost login for accurate minimap marker When logging in while already dead (reconnect/crash recovery), send MSG_CORPSE_QUERY to get the server-authoritative corpse location. Without this, the minimap corpse marker would be missing or point to the wrong position after reconnecting as a ghost. --- src/game/game_handler.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 1d6f7365..f81f0ef0 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -12050,6 +12050,11 @@ void GameHandler::applyUpdateObjectBlock(const UpdateBlock& block, bool& newItem playerDead_ = true; LOG_INFO("Player logged in as ghost (PLAYER_FLAGS)"); if (ghostStateCallback_) ghostStateCallback_(true); + // Query corpse position so minimap marker is accurate on reconnect + if (socket) { + network::Packet cq(wireOpcode(Opcode::MSG_CORPSE_QUERY)); + socket->send(cq); + } } } // Classic: rebuild playerAuras from UNIT_FIELD_AURAS on initial object create