diff options
author | ariel- <ariel-@users.noreply.github.com> | 2016-10-03 06:06:33 -0300 |
---|---|---|
committer | ariel- <ariel-@users.noreply.github.com> | 2016-10-07 01:09:28 -0300 |
commit | 59a9bc5ca0ae81ef58107f9b24b1a92b11478fd8 (patch) | |
tree | 0ca9878358731b10a38577cf95a41220051155f6 /src/server/game/Handlers/ChatHandler.cpp | |
parent | 4b5e5bbd72bd12683b9fc792d9c291cad1e52c0e (diff) |
Core/Channels: Revamp of channel system
* Core/Chat: general cleanup and revamping: (#17576) (fbbb03212e93591a77a1169a30fb01867cd3c0e9)
* Core/Channel: restore accidentally deleted line, fixes channels not honoring ownership setting (7c714179930c8c369f124d8d1404656fff0a1199)
* Channel Followup: avoid setting an invisible gm as Channel owner (#17597) (8a8362ef153eca50be0bcb5670e615b9685607fc)
* Core/Channel: change the way channels are stored and sent to client, fixes multiple channels per zone when using different locales (#17980)
Diffstat (limited to 'src/server/game/Handlers/ChatHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ChatHandler.cpp | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index 2d5099fa341..444da486a2d 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -25,6 +25,7 @@ #include "WorldSession.h" #include "DatabaseEnv.h" #include "Chat.h" +#include "Channel.h" #include "ChannelMgr.h" #include "GridNotifiersImpl.h" #include "Group.h" @@ -357,13 +358,10 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg, } } - if (ChannelMgr* cMgr = ChannelMgr::ForTeam(sender->GetTeam())) + if (Channel* chn = ChannelMgr::GetChannelForPlayerByNamePart(target, sender)) { - if (Channel* chn = cMgr->GetChannel(target, 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; } @@ -488,9 +486,8 @@ void WorldSession::HandleChatAddonMessage(ChatMsg type, std::string prefix, std: } case CHAT_MSG_CHANNEL: { - if (ChannelMgr* cMgr = ChannelMgr::ForTeam(sender->GetTeam())) - if (Channel* chn = cMgr->GetChannel(target, sender, false)) - chn->Say(sender->GetGUID(), text.c_str(), uint32(LANG_ADDON)); + if (Channel* chn = ChannelMgr::GetChannelForPlayerByNamePart(target, sender)) + chn->Say(sender->GetGUID(), text.c_str(), uint32(LANG_ADDON)); break; } default: |