diff options
author | Shauren <shauren.trinity@gmail.com> | 2019-10-27 11:15:15 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2019-10-27 11:15:15 +0100 |
commit | 267bdde3232566e210659df47dc7580e676e9ee5 (patch) | |
tree | eb28de9f2672f55e0471fe209276b3c585f5f606 /src/server/game/Handlers/MiscHandler.cpp | |
parent | 369cfc29d9f984f3b3c619c974493b7d272676a2 (diff) |
Core/PacketIO: Restrict CMSG_STANDSTATECHANGE to only allow the same stand states that client can send by itself
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 1a8d73f5892..9bfbf5cd5e3 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -496,10 +496,20 @@ void WorldSession::HandleSetSelectionOpcode(WorldPacket& recvData) void WorldSession::HandleStandStateChangeOpcode(WorldPacket& recvData) { - // TC_LOG_DEBUG("network", "WORLD: Received CMSG_STANDSTATECHANGE"); -- too many spam in log at lags/debug stop uint32 animstate; recvData >> 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); } |