diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 747a557d..35097034 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -4480,6 +4480,7 @@ void GameHandler::handlePacket(network::Packet& packet) { case Opcode::MSG_MOVE_STOP_PITCH: case Opcode::MSG_MOVE_START_ASCEND: case Opcode::MSG_MOVE_STOP_ASCEND: + case Opcode::MSG_MOVE_START_DESCEND: if (state == WorldState::IN_WORLD) { handleOtherPlayerMovement(packet); } @@ -12245,7 +12246,7 @@ void GameHandler::handleCompressedMoves(network::Packet& packet) { // Player movement sub-opcodes (SMSG_MULTIPLE_MOVES carries MSG_MOVE_*) // Not static — wireOpcode() depends on runtime active opcode table. - const std::array kMoveOpcodes = { + const std::array kMoveOpcodes = { wireOpcode(Opcode::MSG_MOVE_START_FORWARD), wireOpcode(Opcode::MSG_MOVE_START_BACKWARD), wireOpcode(Opcode::MSG_MOVE_STOP), @@ -12268,6 +12269,7 @@ void GameHandler::handleCompressedMoves(network::Packet& packet) { wireOpcode(Opcode::MSG_MOVE_STOP_PITCH), wireOpcode(Opcode::MSG_MOVE_START_ASCEND), wireOpcode(Opcode::MSG_MOVE_STOP_ASCEND), + wireOpcode(Opcode::MSG_MOVE_START_DESCEND), }; // Track unhandled sub-opcodes once per compressed packet (avoid log spam)