diff options
author | Shauren <shauren.trinity@gmail.com> | 2013-12-24 20:21:13 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2013-12-24 20:21:13 +0100 |
commit | 20a2b691785b66a8a265f691c5ffd8affd6298f0 (patch) | |
tree | 6516568ee17ca969fd17a4acea6798294998714e /src | |
parent | 54dbf870b8fc1f0aef1ef95c8786303998762173 (diff) |
Core/Chat: Fixed GM messages in chat channels after refactoring
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Chat/Channels/Channel.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/server/game/Chat/Channels/Channel.cpp b/src/server/game/Chat/Channels/Channel.cpp index c65d76cecd0..1faa168b3a8 100644 --- a/src/server/game/Chat/Channels/Channel.cpp +++ b/src/server/game/Chat/Channels/Channel.cpp @@ -600,14 +600,6 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang) if (what.empty()) return; - uint8 chatTag = 0; - bool isGM = false; - if (Player* player = ObjectAccessor::FindPlayer(guid)) - { - chatTag = player->GetChatTag(); - isGM = player->GetSession()->HasPermission(rbac::RBAC_PERM_COMMAND_GM_CHAT); - } - // TODO: Add proper RBAC check if (sWorld->getBoolConfig(CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHANNEL)) lang = LANG_UNIVERSAL; @@ -629,7 +621,11 @@ void Channel::Say(uint64 guid, std::string const& what, uint32 lang) } WorldPacket data; - ChatHandler::BuildChatPacket(data, CHAT_MSG_CHANNEL, Language(lang), guid, guid, what, chatTag, "", "", 0, isGM, _name); + if (Player* player = ObjectAccessor::FindPlayer(guid)) + ChatHandler::BuildChatPacket(data, CHAT_MSG_CHANNEL, Language(lang), player, player, what, 0, _name); + else + ChatHandler::BuildChatPacket(data, CHAT_MSG_CHANNEL, Language(lang), guid, guid, what, 0, "", "", 0, false, _name); + SendToAll(&data, !playersStore[guid].IsModerator() ? guid : false); } |