diff options
author | Aokromes <Aokromes@users.noreply.github.com> | 2016-08-01 13:24:58 +0200 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-02-11 21:11:37 +0100 |
commit | 6326bf20f5c39565b8e36e9f0f767a58ba5b6b61 (patch) | |
tree | 1f0fef26b894d648a6691afcd202dec67ac1de89 /src/server/game/Handlers/ChatHandler.cpp | |
parent | 41fad95ad87458ad642d209d470bbb79697d0be3 (diff) |
Core/Chat: Split ChatLevelReq.Say into 3
ChatLevelReq.Say
ChatLevelReq.Emote
ChatLevelReq.Yell
(cherry picked from commit cf8276845d9a26542fb18ca2e56b4957b61e4c73)
# Conflicts:
# src/server/game/Handlers/ChatHandler.cpp
Diffstat (limited to 'src/server/game/Handlers/ChatHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/ChatHandler.cpp | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index 95ac34953a4..f32feea0c67 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -205,8 +205,6 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg, switch (type) { case CHAT_MSG_SAY: - case CHAT_MSG_EMOTE: - case CHAT_MSG_YELL: { // Prevent cheating if (!sender->IsAlive()) @@ -218,12 +216,37 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg, return; } - if (type == CHAT_MSG_SAY) - sender->Say(msg, Language(lang)); - else if (type == CHAT_MSG_EMOTE) - sender->TextEmote(msg); - else if (type == CHAT_MSG_YELL) - sender->Yell(msg, Language(lang)); + sender->Say(msg, Language(lang)); + break; + } + case CHAT_MSG_EMOTE: + { + // Prevent cheating + if (!sender->IsAlive()) + return; + + if (sender->getLevel() < sWorld->getIntConfig(CONFIG_CHAT_EMOTE_LEVEL_REQ)) + { + SendNotification(GetTrinityString(LANG_SAY_REQ), sWorld->getIntConfig(CONFIG_CHAT_EMOTE_LEVEL_REQ)); + return; + } + + sender->TextEmote(msg); + break; + } + case CHAT_MSG_YELL: + { + // Prevent cheating + if (!sender->IsAlive()) + return; + + if (sender->getLevel() < sWorld->getIntConfig(CONFIG_CHAT_YELL_LEVEL_REQ)) + { + SendNotification(GetTrinityString(LANG_SAY_REQ), sWorld->getIntConfig(CONFIG_CHAT_YELL_LEVEL_REQ)); + return; + } + + sender->Yell(msg, Language(lang)); break; } case CHAT_MSG_WHISPER: |