aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2019-10-27 10:54:22 +0100
committerShauren <shauren.trinity@gmail.com>2019-10-27 10:54:22 +0100
commit369cfc29d9f984f3b3c619c974493b7d272676a2 (patch)
tree94d43aa4b9a39cf4db18ba29202a69fa94943dbb
parenta58ed271c963643f19ec9ebff0dbadd6f46e4eb8 (diff)
Core/PacketIO: Restrict CMSG_EMOTE to only allow emotes that are hardcoded in client
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index bd1e730dfdd..4f9155ebc97 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -266,7 +266,7 @@ void WorldSession::HandleMessagechatOpcode(WorldPacket& recvData)
GetPlayer()->GetGUID().GetCounter());
return;
}
-
+
// collapse multiple spaces into one
if (sWorld->getBoolConfig(CONFIG_CHAT_FAKE_MESSAGE_PREVENTING))
{
@@ -576,6 +576,11 @@ void WorldSession::HandleEmoteOpcode(WorldPacket& recvData)
uint32 emote;
recvData >> emote;
+
+ // restrict to the only emotes hardcoded in client
+ if (emote != EMOTE_ONESHOT_NONE && emote != EMOTE_ONESHOT_WAVE)
+ return;
+
sScriptMgr->OnPlayerEmote(GetPlayer(), emote);
GetPlayer()->HandleEmoteCommand(emote);
}