aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MiscHandler.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2019-10-27 11:15:15 +0100
committerShauren <shauren.trinity@gmail.com>2021-12-18 23:39:11 +0100
commit22987b705b150590f300240cd0309ac88bd902d5 (patch)
tree454645f686ace5dd855a857cbb0483cc2ec50b6d /src/server/game/Handlers/MiscHandler.cpp
parent5d1281edda81486c10115cefd9d7f76f923e541e (diff)
Core/PacketIO: Restrict CMSG_STANDSTATECHANGE to only allow the same stand states that client can send by itself
(cherry picked from commit 267bdde3232566e210659df47dc7580e676e9ee5)
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
-rw-r--r--src/server/game/Handlers/MiscHandler.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index 2a5a8432a4f..fe85091db82 100644
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -392,6 +392,17 @@ void WorldSession::HandleSetSelectionOpcode(WorldPackets::Misc::SetSelection& pa
void WorldSession::HandleStandStateChangeOpcode(WorldPackets::Misc::StandStateChange& packet)
{
+ switch (packet.StandState)
+ {
+ 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(packet.StandState);
}