From f99f4a732a3063aee235e9e7644bbf6689756488 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 21 Mar 2026 04:53:08 -0700 Subject: [PATCH] feat: fire INSPECT_READY event from both WotLK and Classic inspect paths Fire INSPECT_READY with the inspected player's GUID when inspection results are received. Fires from both: - WotLK SMSG_TALENTS_INFO type=1 (talent + gear inspect) - Classic SMSG_INSPECT (gear-only inspect) Used by GearScore, TacoTip, and other inspection addons that need to know when inspect data is available for a specific player. --- src/game/game_handler.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 1e2f2de7..a3fb8823 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -8060,6 +8060,11 @@ void GameHandler::handlePacket(network::Packet& packet) { LOG_INFO("SMSG_INSPECT (Classic): ", playerName, " has gear in ", std::count_if(items.begin(), items.end(), [](uint32_t e) { return e != 0; }), "/19 slots"); + if (addonEventCallback_) { + char guidBuf[32]; + snprintf(guidBuf, sizeof(guidBuf), "0x%016llX", (unsigned long long)guid); + addonEventCallback_("INSPECT_READY", {guidBuf}); + } break; } @@ -15245,6 +15250,11 @@ void GameHandler::handleInspectResults(network::Packet& packet) { LOG_INFO("Inspect results for ", playerName, ": ", totalTalents, " talents, ", unspentTalents, " unspent, ", (int)talentGroupCount, " specs"); + if (addonEventCallback_) { + char guidBuf[32]; + snprintf(guidBuf, sizeof(guidBuf), "0x%016llX", (unsigned long long)guid); + addonEventCallback_("INSPECT_READY", {guidBuf}); + } } uint64_t GameHandler::resolveOnlineItemGuid(uint32_t itemId) const {