From fa9017c6dcaf130eb719c0c44279f49e573f5bcd Mon Sep 17 00:00:00 2001 From: Kelsi Date: Fri, 13 Mar 2026 10:33:44 -0700 Subject: [PATCH] fix: update homeBindZoneId on SMSG_PLAYERBOUND so hearthstone tooltip stays accurate SMSG_PLAYERBOUND fires when the player sets a new hearthstone location. Previously homeBindMapId_ and homeBindZoneId_ were only set by SMSG_BINDPOINTUPDATE (login), so the tooltip would show the old zone until next login. Now both are updated on SMSG_PLAYERBOUND as well. --- src/game/game_handler.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 7a6dac2e..a161e396 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -2202,8 +2202,11 @@ void GameHandler::handlePacket(network::Packet& packet) { // uint64 binderGuid + uint32 mapId + uint32 zoneId if (packet.getSize() - packet.getReadPos() < 16) break; /*uint64_t binderGuid =*/ packet.readUInt64(); - /*uint32_t mapId =*/ packet.readUInt32(); + uint32_t mapId = packet.readUInt32(); uint32_t zoneId = packet.readUInt32(); + // Update home bind location so hearthstone tooltip reflects the new zone + homeBindMapId_ = mapId; + homeBindZoneId_ = zoneId; std::string pbMsg = "Your home location has been set"; std::string zoneName = getAreaName(zoneId); if (!zoneName.empty())