From d4c1eda22b954d05ee3e73938e58fbfbc3fefe91 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 21 Mar 2026 05:03:03 -0700 Subject: [PATCH] feat: fire PARTY_LEADER_CHANGED event on leader changes Fire PARTY_LEADER_CHANGED (with GROUP_ROSTER_UPDATE) from both: - SMSG_GROUP_SET_LEADER: when a new leader is named by string - SMSG_REAL_GROUP_UPDATE: when leader GUID changes via group update Used by raid frame addons to update leader crown icons and by group management addons to track leadership 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 a3fb8823..9068ac34 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -5743,6 +5743,10 @@ void GameHandler::handlePacket(network::Packet& packet) { if (!leaderName.empty()) addSystemChatMessage(leaderName + " is now the group leader."); LOG_INFO("SMSG_GROUP_SET_LEADER: ", leaderName); + if (addonEventCallback_) { + addonEventCallback_("PARTY_LEADER_CHANGED", {}); + addonEventCallback_("GROUP_ROSTER_UPDATE", {}); + } } break; } @@ -7716,6 +7720,10 @@ void GameHandler::handlePacket(network::Packet& packet) { LOG_DEBUG("SMSG_REAL_GROUP_UPDATE groupType=", static_cast(newGroupType), " memberFlags=0x", std::hex, newMemberFlags, std::dec, " leaderGuid=", newLeaderGuid); + if (addonEventCallback_) { + addonEventCallback_("PARTY_LEADER_CHANGED", {}); + addonEventCallback_("GROUP_ROSTER_UPDATE", {}); + } break; }