mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00: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:
parent
6a0e86efe8
commit
70a5d3240c
2 changed files with 16 additions and 0 deletions
|
|
@ -354,6 +354,20 @@ bool Application::initialize() {
|
||||||
case game::ChatType::CHANNEL: eventName = "CHAT_MSG_CHANNEL"; break;
|
case game::ChatType::CHANNEL: eventName = "CHAT_MSG_CHANNEL"; break;
|
||||||
case game::ChatType::EMOTE:
|
case game::ChatType::EMOTE:
|
||||||
case game::ChatType::TEXT_EMOTE: eventName = "CHAT_MSG_EMOTE"; break;
|
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;
|
default: break;
|
||||||
}
|
}
|
||||||
if (eventName) {
|
if (eventName) {
|
||||||
|
|
|
||||||
|
|
@ -26312,6 +26312,8 @@ void GameHandler::handleAchievementEarned(network::Packet& packet) {
|
||||||
LOG_INFO("SMSG_ACHIEVEMENT_EARNED: guid=0x", std::hex, guid, std::dec,
|
LOG_INFO("SMSG_ACHIEVEMENT_EARNED: guid=0x", std::hex, guid, std::dec,
|
||||||
" achievementId=", achievementId, " self=", isSelf,
|
" achievementId=", achievementId, " self=", isSelf,
|
||||||
achName.empty() ? "" : " name=", achName);
|
achName.empty() ? "" : " name=", achName);
|
||||||
|
if (addonEventCallback_)
|
||||||
|
addonEventCallback_("ACHIEVEMENT_EARNED", {std::to_string(achievementId)});
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue