diff options
author | Shauren <shauren.trinity@gmail.com> | 2019-01-11 18:23:10 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2019-01-11 18:23:10 +0100 |
commit | 3a323f2b60ed84e8f72deb4dab8f80f6f5ffe31d (patch) | |
tree | 280f7f2d0bda435f1618045e8ca3e9eadbb4bc88 /src/server/game/Handlers/ChatHandler.cpp | |
parent | 50cfeb9aa406b9f81a6aa51dcd87201e5f3bae1e (diff) |
Core/Chat: Fixed addon chat messages using C_ChatInfo.SendAddonMessageLogged
Closes #22926
Diffstat (limited to 'src/server/game/Handlers/ChatHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ChatHandler.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index 776765cfcbf..bf71dc44379 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -413,15 +413,16 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg, void WorldSession::HandleChatAddonMessageOpcode(WorldPackets::Chat::ChatAddonMessage& chatAddonMessage) { - HandleChatAddonMessage(chatAddonMessage.Params.Type, chatAddonMessage.Params.Prefix, chatAddonMessage.Params.Text); + HandleChatAddonMessage(chatAddonMessage.Params.Type, chatAddonMessage.Params.Prefix, chatAddonMessage.Params.Text, chatAddonMessage.Params.IsLogged); } void WorldSession::HandleChatAddonMessageTargetedOpcode(WorldPackets::Chat::ChatAddonMessageTargeted& chatAddonMessageTargeted) { - HandleChatAddonMessage(chatAddonMessageTargeted.Params.Type, chatAddonMessageTargeted.Params.Prefix, chatAddonMessageTargeted.Params.Text, chatAddonMessageTargeted.Target); + HandleChatAddonMessage(chatAddonMessageTargeted.Params.Type, chatAddonMessageTargeted.Params.Prefix, chatAddonMessageTargeted.Params.Text, + chatAddonMessageTargeted.Params.IsLogged, chatAddonMessageTargeted.Target); } -void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std::string text, std::string target /*= ""*/) +void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std::string text, bool isLogged, std::string target /*= ""*/) { Player* sender = GetPlayer(); @@ -439,7 +440,7 @@ void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std: { if (sender->GetGuildId()) if (Guild* guild = sGuildMgr->GetGuildById(sender->GetGuildId())) - guild->BroadcastAddonToGuild(this, type == CHAT_MSG_OFFICER, text, prefix); + guild->BroadcastAddonToGuild(this, type == CHAT_MSG_OFFICER, text, prefix, isLogged); break; } case CHAT_MSG_WHISPER: @@ -454,7 +455,7 @@ void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std: if (!receiver) break; - sender->WhisperAddon(text, prefix, receiver); + sender->WhisperAddon(text, prefix, isLogged, receiver); break; } // Messages sent to "RAID" while in a party will get delivered to "PARTY" @@ -478,14 +479,14 @@ void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std: } WorldPackets::Chat::Chat packet; - packet.Initialize(type, LANG_ADDON, sender, nullptr, text, 0, "", DEFAULT_LOCALE, prefix); + packet.Initialize(type, isLogged ? LANG_ADDON_LOGGED : LANG_ADDON, sender, nullptr, text, 0, "", DEFAULT_LOCALE, prefix); group->BroadcastAddonMessagePacket(packet.Write(), prefix, true, subGroup, sender->GetGUID()); break; } case CHAT_MSG_CHANNEL: { if (Channel* chn = ChannelMgr::GetChannelForPlayerByNamePart(target, sender)) - chn->AddonSay(sender->GetGUID(), prefix, text.c_str()); + chn->AddonSay(sender->GetGUID(), prefix, text.c_str(), isLogged); break; } default: |