From 2560bd1307f9033c8585f3bede008bdfd16f25ff Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 21 Mar 2026 05:33:29 -0700 Subject: [PATCH] feat: fire QUEST_WATCH_UPDATE on kill and item objective progress Fire QUEST_WATCH_UPDATE (with quest ID for kills) and QUEST_LOG_UPDATE when quest objectives progress: - Kill objectives: when SMSG_QUESTUPDATE_ADD_KILL updates a kill count - Item objectives: when SMSG_QUESTUPDATE_ADD_ITEM updates an item count Used by quest tracker addons (Questie, QuestHelper) and the built-in quest tracker to refresh objective display when progress changes. --- src/game/game_handler.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index fa1eca79..7e627014 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -5449,6 +5449,10 @@ void GameHandler::handlePacket(network::Packet& packet) { if (questProgressCallback_) { questProgressCallback_(quest.title, creatureName, count, reqCount); } + if (addonEventCallback_) { + addonEventCallback_("QUEST_WATCH_UPDATE", {std::to_string(questId)}); + addonEventCallback_("QUEST_LOG_UPDATE", {}); + } LOG_INFO("Updated kill count for quest ", questId, ": ", count, "/", reqCount); @@ -5526,6 +5530,10 @@ void GameHandler::handlePacket(network::Packet& packet) { } } + if (addonEventCallback_ && updatedAny) { + addonEventCallback_("QUEST_WATCH_UPDATE", {}); + addonEventCallback_("QUEST_LOG_UPDATE", {}); + } LOG_INFO("Quest item update: itemId=", itemId, " count=", count, " trackedQuestsUpdated=", updatedAny); }