mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-06-06 07:04:43 -04:00
feat: add ACHIEVEMENT_EARNED event and 15 missing CHAT_MSG_* events
Fire ACHIEVEMENT_EARNED event when a player earns an achievement, enabling achievement tracking addons. Add 15 previously unmapped chat type → addon event mappings: - CHAT_MSG_ACHIEVEMENT, CHAT_MSG_GUILD_ACHIEVEMENT - CHAT_MSG_WHISPER_INFORM (echo of sent whispers) - CHAT_MSG_RAID_LEADER, CHAT_MSG_BATTLEGROUND_LEADER - CHAT_MSG_MONSTER_SAY/YELL/EMOTE/WHISPER - CHAT_MSG_RAID_BOSS_EMOTE/WHISPER - CHAT_MSG_BG_SYSTEM_NEUTRAL/ALLIANCE/HORDE These events are needed by boss mod addons (DBM, BigWigs) to detect boss emotes, by achievement trackers, and by chat filter addons that process all message types.
This commit is contained in:
@@ -354,6 +354,20 @@ bool Application::initialize() {
|
||||
case game::ChatType::CHANNEL: eventName = "CHAT_MSG_CHANNEL"; break;
|
||||
case game::ChatType::EMOTE:
|
||||
case game::ChatType::TEXT_EMOTE: eventName = "CHAT_MSG_EMOTE"; break;
|
||||
case game::ChatType::ACHIEVEMENT: eventName = "CHAT_MSG_ACHIEVEMENT"; break;
|
||||
case game::ChatType::GUILD_ACHIEVEMENT: eventName = "CHAT_MSG_GUILD_ACHIEVEMENT"; break;
|
||||
case game::ChatType::WHISPER_INFORM: eventName = "CHAT_MSG_WHISPER_INFORM"; break;
|
||||
case game::ChatType::RAID_LEADER: eventName = "CHAT_MSG_RAID_LEADER"; break;
|
||||
case game::ChatType::BATTLEGROUND_LEADER: eventName = "CHAT_MSG_BATTLEGROUND_LEADER"; break;
|
||||
case game::ChatType::MONSTER_SAY: eventName = "CHAT_MSG_MONSTER_SAY"; break;
|
||||
case game::ChatType::MONSTER_YELL: eventName = "CHAT_MSG_MONSTER_YELL"; break;
|
||||
case game::ChatType::MONSTER_EMOTE: eventName = "CHAT_MSG_MONSTER_EMOTE"; break;
|
||||
case game::ChatType::MONSTER_WHISPER: eventName = "CHAT_MSG_MONSTER_WHISPER"; break;
|
||||
case game::ChatType::RAID_BOSS_EMOTE: eventName = "CHAT_MSG_RAID_BOSS_EMOTE"; break;
|
||||
case game::ChatType::RAID_BOSS_WHISPER: eventName = "CHAT_MSG_RAID_BOSS_WHISPER"; break;
|
||||
case game::ChatType::BG_SYSTEM_NEUTRAL: eventName = "CHAT_MSG_BG_SYSTEM_NEUTRAL"; break;
|
||||
case game::ChatType::BG_SYSTEM_ALLIANCE: eventName = "CHAT_MSG_BG_SYSTEM_ALLIANCE"; break;
|
||||
case game::ChatType::BG_SYSTEM_HORDE: eventName = "CHAT_MSG_BG_SYSTEM_HORDE"; break;
|
||||
default: break;
|
||||
}
|
||||
if (eventName) {
|
||||
|
||||
@@ -26312,6 +26312,8 @@ void GameHandler::handleAchievementEarned(network::Packet& packet) {
|
||||
LOG_INFO("SMSG_ACHIEVEMENT_EARNED: guid=0x", std::hex, guid, std::dec,
|
||||
" achievementId=", achievementId, " self=", isSelf,
|
||||
achName.empty() ? "" : " name=", achName);
|
||||
if (addonEventCallback_)
|
||||
addonEventCallback_("ACHIEVEMENT_EARNED", {std::to_string(achievementId)});
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user