diff options
| author | Machiavelli <machiavelli.trinity@gmail.com> | 2011-07-31 14:40:15 +0200 |
|---|---|---|
| committer | Machiavelli <machiavelli.trinity@gmail.com> | 2011-07-31 14:40:15 +0200 |
| commit | 0afc3cf11050a1ec77ac23503d86abc2f89437ba (patch) | |
| tree | 0aa59bc5b89d7840f17d9833938f41d739b1f41d /src | |
| parent | 8ceb780213c9fc1766101f08885903f3c35f226f (diff) | |
Core/ChatLog: Properly filter out addon messages in whisper, party, raid and battleground.
Original patch by tassader1000
Diffstat (limited to 'src')
| -rwxr-xr-x | src/server/scripts/World/chat_log.cpp | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/src/server/scripts/World/chat_log.cpp b/src/server/scripts/World/chat_log.cpp index 60fa01f7127..2e13411336a 100755 --- a/src/server/scripts/World/chat_log.cpp +++ b/src/server/scripts/World/chat_log.cpp @@ -55,33 +55,44 @@ public: } } - void OnChat(Player* player, uint32 /*type*/, uint32 /*lang*/, std::string& msg, Player* receiver) + void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Player* receiver) { - if (sWorld->getBoolConfig(CONFIG_CHATLOG_WHISPER)) + if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_WHISPER)) sLog->outChat("[WHISPER] Player %s tells %s: %s", player->GetName(), receiver ? receiver->GetName() : "<unknown>", msg.c_str()); + else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) + sLog->outChat("[ADDON] Player %s tells %s: %s", + player->GetName(), receiver ? receiver->GetName() : "<unknown>", msg.c_str()); } - void OnChat(Player* player, uint32 type, uint32 /*lang*/, std::string& msg, Group* group) + void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group) { + //! NOTE: + //! LANG_ADDON can only be sent by client in "PARTY", "RAID", "GUILD", "BATTLEGROUND", "WHISPER" switch (type) { case CHAT_MSG_PARTY: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_PARTY)) + if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_PARTY)) sLog->outChat("[PARTY] Player %s tells group with leader %s: %s", player->GetName(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) + sLog->outChat("[ADDON] Player %s tells group with leader %s: %s", + player->GetName(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); break; case CHAT_MSG_PARTY_LEADER: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_PARTY)) + if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_PARTY)) sLog->outChat("[PARTY] Leader %s tells group: %s", player->GetName(), msg.c_str()); break; case CHAT_MSG_RAID: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_RAID)) + if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_RAID)) sLog->outChat("[RAID] Player %s tells raid with leader %s: %s", player->GetName(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) + sLog->outChat("[ADDON] Player %s tells raid with leader %s: %s", + player->GetName(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); break; case CHAT_MSG_RAID_LEADER: @@ -97,9 +108,12 @@ public: break; case CHAT_MSG_BATTLEGROUND: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_BGROUND)) + if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_BGROUND)) sLog->outChat("[BATTLEGROUND] Player %s tells battleground with leader %s: %s", player->GetName(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) + sLog->outChat("[ADDON] Player %s tells battleground with leader %s: %s", + player->GetName(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); break; case CHAT_MSG_BATTLEGROUND_LEADER: |
