aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/ChatHandler.cpp
diff options
context:
space:
mode:
authorAokromes <Aokromes@users.noreply.github.com>2016-08-01 13:24:58 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-02-11 21:11:37 +0100
commit6326bf20f5c39565b8e36e9f0f767a58ba5b6b61 (patch)
tree1f0fef26b894d648a6691afcd202dec67ac1de89 /src/server/game/Handlers/ChatHandler.cpp
parent41fad95ad87458ad642d209d470bbb79697d0be3 (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.cpp39
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: