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.
This commit is contained in:
Kelsi 2026-03-21 05:03:03 -07:00
parent 494175e2a7
commit d4c1eda22b

View file

@ -5743,6 +5743,10 @@ void GameHandler::handlePacket(network::Packet& packet) {
if (!leaderName.empty()) if (!leaderName.empty())
addSystemChatMessage(leaderName + " is now the group leader."); addSystemChatMessage(leaderName + " is now the group leader.");
LOG_INFO("SMSG_GROUP_SET_LEADER: ", leaderName); LOG_INFO("SMSG_GROUP_SET_LEADER: ", leaderName);
if (addonEventCallback_) {
addonEventCallback_("PARTY_LEADER_CHANGED", {});
addonEventCallback_("GROUP_ROSTER_UPDATE", {});
}
} }
break; break;
} }
@ -7716,6 +7720,10 @@ void GameHandler::handlePacket(network::Packet& packet) {
LOG_DEBUG("SMSG_REAL_GROUP_UPDATE groupType=", static_cast<int>(newGroupType), LOG_DEBUG("SMSG_REAL_GROUP_UPDATE groupType=", static_cast<int>(newGroupType),
" memberFlags=0x", std::hex, newMemberFlags, std::dec, " memberFlags=0x", std::hex, newMemberFlags, std::dec,
" leaderGuid=", newLeaderGuid); " leaderGuid=", newLeaderGuid);
if (addonEventCallback_) {
addonEventCallback_("PARTY_LEADER_CHANGED", {});
addonEventCallback_("GROUP_ROSTER_UPDATE", {});
}
break; break;
} }