From abe5cc73df9241c2a4ee530550308e4b96e0a715 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sun, 22 Mar 2026 20:46:53 -0700 Subject: [PATCH] feat: fire PLAYER_COMBO_POINTS and LOOT_READY events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PLAYER_COMBO_POINTS now fires from the existing SMSG_UPDATE_COMBO_POINTS handler — the handler already updated comboPoints_ but never notified Lua addons. Rogue/druid combo point displays and DPS rotation addons register for this event. LOOT_READY fires alongside LOOT_OPENED when a loot window opens. Some addons register for this WoW 5.x+ event name instead of LOOT_OPENED. --- src/game/game_handler.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index aaceeb30..6f8b7b19 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -2265,6 +2265,8 @@ void GameHandler::handlePacket(network::Packet& packet) { comboTarget_ = target; LOG_DEBUG("SMSG_UPDATE_COMBO_POINTS: target=0x", std::hex, target, std::dec, " points=", static_cast(comboPoints_)); + if (addonEventCallback_) + addonEventCallback_("PLAYER_COMBO_POINTS", {}); break; } @@ -22652,7 +22654,10 @@ void GameHandler::handleLootResponse(network::Packet& packet) { return; } lootWindowOpen = true; - if (addonEventCallback_) addonEventCallback_("LOOT_OPENED", {}); + if (addonEventCallback_) { + addonEventCallback_("LOOT_OPENED", {}); + addonEventCallback_("LOOT_READY", {}); + } lastInteractedGoGuid_ = 0; // loot opened — no need to re-send in handleSpellGo pendingGameObjectLootOpens_.erase( std::remove_if(pendingGameObjectLootOpens_.begin(), pendingGameObjectLootOpens_.end(),