feat: fire PLAYER_GUILD_UPDATE event on guild join/disband

Fire PLAYER_GUILD_UPDATE when the player's guild membership changes:
- When guild name is first resolved (player joins guild/logs in)
- When guild is disbanded

Used by guild frame addons and guild info display to update when
guild status changes.
This commit is contained in:
Kelsi 2026-03-21 05:17:40 -07:00
parent 82d3abe5da
commit 7f0d9fe432

View file

@ -20629,8 +20629,10 @@ void GameHandler::handleGuildQueryResponse(network::Packet& packet) {
guildRankNames_.push_back(data.rankNames[i]); guildRankNames_.push_back(data.rankNames[i]);
} }
LOG_INFO("Guild name set to: ", guildName_); LOG_INFO("Guild name set to: ", guildName_);
if (wasUnknown && !guildName_.empty()) if (wasUnknown && !guildName_.empty()) {
addSystemChatMessage("Guild: <" + guildName_ + ">"); addSystemChatMessage("Guild: <" + guildName_ + ">");
if (addonEventCallback_) addonEventCallback_("PLAYER_GUILD_UPDATE", {});
}
} else { } else {
LOG_INFO("Cached guild name: id=", data.guildId, " name=", data.guildName); LOG_INFO("Cached guild name: id=", data.guildId, " name=", data.guildName);
} }
@ -20680,6 +20682,7 @@ void GameHandler::handleGuildEvent(network::Packet& packet) {
guildRankNames_.clear(); guildRankNames_.clear();
guildRoster_ = GuildRosterData{}; guildRoster_ = GuildRosterData{};
hasGuildRoster_ = false; hasGuildRoster_ = false;
if (addonEventCallback_) addonEventCallback_("PLAYER_GUILD_UPDATE", {});
break; break;
case GuildEvent::SIGNED_ON: case GuildEvent::SIGNED_ON:
if (data.numStrings >= 1) if (data.numStrings >= 1)