diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp index d70fb4ea3..251770952 100644 --- a/src/server/game/Handlers/ChatHandler.cpp +++ b/src/server/game/Handlers/ChatHandler.cpp @@ -642,6 +642,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); } diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 96c80da0b..fc9ed955e 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -549,13 +549,20 @@ void WorldSession::HandleSetSelectionOpcode(WorldPacket & recv_data) void WorldSession::HandleStandStateChangeOpcode(WorldPacket & recv_data) { -#if defined(ENABLE_EXTRAS) && defined(ENABLE_EXTRA_LOGS) - // too many spam in log at lags/debug stop - sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Received CMSG_STANDSTATECHANGE"); -#endif uint32 animstate; recv_data >> animstate; + switch (animstate) + { + case UNIT_STAND_STATE_STAND: + case UNIT_STAND_STATE_SIT: + case UNIT_STAND_STATE_SLEEP: + case UNIT_STAND_STATE_KNEEL: + break; + default: + return; + } + _player->SetStandState(animstate); }