diff options
author | ariel- <ariel-@users.noreply.github.com> | 2016-10-07 00:59:56 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-07 00:59:56 -0300 |
commit | 66688a7855a8862666a39b9a958073aaa2489447 (patch) | |
tree | e9efaffe69a0299dc596c254a669ab6d39674688 /src/server/game/Handlers/ChatHandler.cpp | |
parent | ce45e1bf95a03be6b1f42c785e4c01dd55999d33 (diff) |
Core/Channel: revamp channel system (#17980)
* Core/Channel: change the way channels are stored and sent to client.
- Fixes multiple channels per zone when using different locales
- Connected clients will receive locally the name of the channel for their apropiate locale (if available)
- In other cases default locale name will be sent, so as to prevent breaking channel chat for those players
Closes #8411
Diffstat (limited to 'src/server/game/Handlers/ChatHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ChatHandler.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index 2b1660fef2b..ba5164f9be5 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -26,6 +26,7 @@ #include "DatabaseEnv.h" #include "CellImpl.h" #include "Chat.h" +#include "Channel.h" #include "ChannelMgr.h" #include "GridNotifiersImpl.h" #include "Group.h" @@ -461,13 +462,10 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData) } } - if (ChannelMgr* cMgr = ChannelMgr::forTeam(sender->GetTeam())) + if (Channel* chn = ChannelMgr::GetChannelForPlayerByNamePart(channel, sender)) { - if (Channel* chn = cMgr->GetChannel(channel, sender)) - { - sScriptMgr->OnPlayerChat(sender, type, lang, msg, chn); - chn->Say(sender->GetGUID(), msg.c_str(), lang); - } + sScriptMgr->OnPlayerChat(sender, type, lang, msg, chn); + chn->Say(sender->GetGUID(), msg.c_str(), lang); } break; } |