/* * Copyright (C) 2008-2018 TrinityCore * Copyright (C) 2005-2009 MaNGOS * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #include "MovementStructures.h" #include "Log.h" #include "Player.h" MovementStatusElements const PlayerMove[] = { MSEHasFallData, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasMovementFlags2, MSEHasSpline, MSEHasTimestamp, MSEHasGuidByte0, MSEHasGuidByte1, MSEMovementFlags2, MSEHasGuidByte7, MSEHasMovementFlags, MSEHasOrientation, MSEHasGuidByte2, MSEHasSplineElevation, MSEZeroBit, MSEHasGuidByte4, MSEHasFallDirection, MSEHasGuidByte5, MSEHasTransportData, MSEMovementFlags, MSEHasTransportGuidByte3, MSEHasTransportTime3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasTransportGuidByte7, MSEHasTransportGuidByte0, MSEHasTransportGuidByte4, MSEHasTransportTime2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte2, MSEHasPitch, MSEGuidByte5, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSESplineElevation, MSEGuidByte7, MSEPositionY, MSEGuidByte3, MSETransportVehicleId, MSETransportGuidByte6, MSETransportSeat, MSETransportGuidByte5, MSETransportPositionX, MSETransportGuidByte1, MSETransportOrientation, MSETransportGuidByte2, MSETransportTime2, MSETransportGuidByte0, MSETransportPositionZ, MSETransportGuidByte7, MSETransportGuidByte4, MSETransportGuidByte3, MSETransportPositionY, MSETransportTime, MSEGuidByte4, MSEPositionX, MSEGuidByte6, MSEPositionZ, MSETimestamp, MSEGuidByte2, MSEPitch, MSEGuidByte0, MSEOrientation, MSEGuidByte1, MSEEnd, }; MovementStatusElements const MovementFallLand[] = { MSEPositionX, MSEPositionY, MSEPositionZ, MSEHasTransportData, MSEHasGuidByte7, MSEHasGuidByte1, MSEHasMovementFlags2, MSEHasGuidByte3, MSEHasSplineElevation, MSEHasOrientation, MSEHasGuidByte6, MSEHasTimestamp, MSEZeroBit, MSEHasPitch, MSEHasGuidByte4, MSEHasSpline, MSEHasGuidByte5, MSEHasMovementFlags, MSEHasFallData, MSEHasGuidByte0, MSEHasGuidByte2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportTime2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte4, MSEHasTransportGuidByte1, MSEHasTransportGuidByte7, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte1, MSEGuidByte7, MSEGuidByte4, MSEGuidByte3, MSEGuidByte6, MSEGuidByte0, MSEGuidByte2, MSEGuidByte5, MSETransportTime, MSETransportPositionZ, MSETransportPositionY, MSETransportPositionX, MSETransportGuidByte5, MSETransportVehicleId, MSETransportGuidByte1, MSETransportSeat, MSETransportTime2, MSETransportGuidByte4, MSETransportOrientation, MSETransportGuidByte0, MSETransportGuidByte7, MSETransportGuidByte3, MSETransportGuidByte6, MSETransportGuidByte2, MSEFallVerticalSpeed, MSEFallTime, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSESplineElevation, MSETimestamp, MSEPitch, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementHeartBeat[] = { MSEPositionZ, MSEPositionX, MSEPositionY, MSEHasPitch, MSEHasTimestamp, MSEHasFallData, MSEHasMovementFlags2, MSEHasTransportData, MSEHasGuidByte7, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasOrientation, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasSplineElevation, MSEHasSpline, MSEZeroBit, MSEHasGuidByte6, MSEHasMovementFlags, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte2, MSEHasTransportTime2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte7, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasFallDirection, MSEMovementFlags, MSEMovementFlags2, MSEGuidByte3, MSEGuidByte6, MSEGuidByte1, MSEGuidByte7, MSEGuidByte2, MSEGuidByte5, MSEGuidByte0, MSEGuidByte4, MSETransportPositionZ, MSETransportSeat, MSETransportOrientation, MSETransportGuidByte4, MSETransportPositionY, MSETransportTime, MSETransportPositionX, MSETransportGuidByte5, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte7, MSETransportVehicleId, MSETransportTime2, MSETransportGuidByte2, MSETransportGuidByte0, MSETransportGuidByte6, MSEOrientation, MSEFallVerticalSpeed, MSEFallTime, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEPitch, MSESplineElevation, MSETimestamp, MSEEnd, }; MovementStatusElements const MovementJump[] = { MSEPositionY, MSEPositionX, MSEPositionZ, MSEHasTimestamp, MSEHasGuidByte5, MSEHasMovementFlags, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasMovementFlags2, MSEHasGuidByte0, MSEHasTransportData, MSEHasGuidByte3, MSEHasPitch, MSEHasGuidByte7, MSEHasFallData, MSEHasSpline, MSEHasOrientation, MSEHasGuidByte1, MSEHasSplineElevation, MSEZeroBit, MSEHasGuidByte2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEHasTransportGuidByte5, MSEHasTransportGuidByte1, MSEHasTransportGuidByte4, MSEHasTransportTime3, MSEHasTransportTime2, MSEHasTransportGuidByte2, MSEHasFallDirection, MSEMovementFlags, MSEMovementFlags2, MSEGuidByte6, MSEGuidByte5, MSEGuidByte4, MSEGuidByte0, MSEGuidByte2, MSEGuidByte3, MSEGuidByte7, MSEGuidByte1, MSETransportGuidByte1, MSETransportGuidByte7, MSETransportPositionX, MSETransportGuidByte4, MSETransportVehicleId, MSETransportGuidByte0, MSETransportOrientation, MSETransportTime2, MSETransportTime, MSETransportGuidByte6, MSETransportPositionZ, MSETransportSeat, MSETransportPositionY, MSETransportGuidByte3, MSETransportGuidByte2, MSETransportGuidByte5, MSEPitch, MSETimestamp, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, MSESplineElevation, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementSetFacing[] = { MSEPositionX, MSEPositionY, MSEPositionZ, MSEHasGuidByte6, MSEHasTransportData, MSEHasGuidByte4, MSEHasSpline, MSEHasGuidByte0, MSEHasOrientation, MSEHasTimestamp, MSEHasPitch, MSEHasMovementFlags2, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasGuidByte2, MSEHasFallData, MSEHasSplineElevation, MSEHasMovementFlags, MSEHasGuidByte3, MSEZeroBit, MSEHasGuidByte1, MSEHasTransportTime3, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEHasTransportGuidByte2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEHasTransportTime2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte1, MSEHasFallDirection, MSEMovementFlags2, MSEMovementFlags, MSEGuidByte6, MSEGuidByte7, MSEGuidByte2, MSEGuidByte0, MSEGuidByte4, MSEGuidByte1, MSEGuidByte5, MSEGuidByte3, MSETransportGuidByte0, MSETransportPositionX, MSETransportGuidByte1, MSETransportTime2, MSETransportGuidByte4, MSETransportPositionZ, MSETransportOrientation, MSETransportGuidByte2, MSETransportVehicleId, MSETransportGuidByte3, MSETransportSeat, MSETransportPositionY, MSETransportGuidByte5, MSETransportGuidByte6, MSETransportTime, MSETransportGuidByte7, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallTime, MSEFallVerticalSpeed, MSESplineElevation, MSEOrientation, MSETimestamp, MSEPitch, MSEEnd, }; MovementStatusElements const MovementSetPitch[] = { MSEPositionX, MSEPositionZ, MSEPositionY, MSEHasFallData, MSEHasMovementFlags, MSEHasGuidByte1, MSEHasOrientation, MSEHasGuidByte7, MSEHasGuidByte3, MSEHasMovementFlags2, MSEHasTransportData, MSEHasSplineElevation, MSEHasGuidByte6, MSEHasPitch, MSEHasGuidByte4, MSEHasSpline, MSEHasGuidByte2, MSEZeroBit, MSEHasTimestamp, MSEHasGuidByte0, MSEHasGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte5, MSEHasTransportTime3, MSEHasTransportGuidByte7, MSEHasTransportTime2, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte3, MSEGuidByte7, MSEGuidByte1, MSEGuidByte6, MSEGuidByte0, MSEGuidByte5, MSEGuidByte2, MSEGuidByte4, MSETransportGuidByte4, MSETransportGuidByte3, MSETransportGuidByte6, MSETransportOrientation, MSETransportGuidByte1, MSETransportVehicleId, MSETransportTime, MSETransportGuidByte2, MSETransportPositionZ, MSETransportGuidByte0, MSETransportTime2, MSETransportPositionY, MSETransportGuidByte5, MSETransportSeat, MSETransportGuidByte7, MSETransportPositionX, MSEFallVerticalSpeed, MSEFallTime, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEPitch, MSESplineElevation, MSETimestamp, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementStartBackward[] = { MSEPositionX, MSEPositionZ, MSEPositionY, MSEHasTransportData, MSEHasGuidByte3, MSEHasGuidByte0, MSEHasGuidByte2, MSEHasTimestamp, MSEHasGuidByte7, MSEHasPitch, MSEZeroBit, MSEHasMovementFlags, MSEHasOrientation, MSEHasSpline, MSEHasMovementFlags2, MSEHasFallData, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasSplineElevation, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasTransportTime2, MSEHasTransportGuidByte2, MSEHasTransportGuidByte7, MSEHasTransportGuidByte0, MSEHasTransportGuidByte6, MSEHasTransportGuidByte5, MSEHasTransportGuidByte4, MSEHasTransportTime3, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte6, MSEGuidByte7, MSEGuidByte4, MSEGuidByte1, MSEGuidByte5, MSEGuidByte0, MSEGuidByte2, MSEGuidByte3, MSETransportPositionZ, MSETransportGuidByte2, MSETransportVehicleId, MSETransportGuidByte0, MSETransportGuidByte5, MSETransportPositionY, MSETransportGuidByte1, MSETransportPositionX, MSETransportTime2, MSETransportGuidByte4, MSETransportOrientation, MSETransportSeat, MSETransportGuidByte7, MSETransportTime, MSETransportGuidByte6, MSETransportGuidByte3, MSEPitch, MSETimestamp, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEOrientation, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementStartForward[] = { MSEPositionY, MSEPositionZ, MSEPositionX, MSEHasGuidByte5, MSEHasGuidByte2, MSEHasGuidByte0, MSEZeroBit, MSEHasMovementFlags, MSEHasGuidByte7, MSEHasGuidByte3, MSEHasGuidByte1, MSEHasOrientation, MSEHasGuidByte6, MSEHasSpline, MSEHasSplineElevation, MSEHasGuidByte4, MSEHasTransportData, MSEHasTimestamp, MSEHasPitch, MSEHasMovementFlags2, MSEHasFallData, MSEMovementFlags, MSEHasTransportGuidByte3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte1, MSEHasTransportTime3, MSEHasTransportTime2, MSEHasFallDirection, MSEMovementFlags2, MSEGuidByte2, MSEGuidByte4, MSEGuidByte6, MSEGuidByte1, MSEGuidByte7, MSEGuidByte3, MSEGuidByte5, MSEGuidByte0, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallTime, MSETransportGuidByte3, MSETransportPositionY, MSETransportPositionZ, MSETransportGuidByte1, MSETransportGuidByte4, MSETransportGuidByte7, MSETransportOrientation, MSETransportGuidByte2, MSETransportPositionX, MSETransportGuidByte5, MSETransportVehicleId, MSETransportTime, MSETransportGuidByte6, MSETransportGuidByte0, MSETransportSeat, MSETransportTime2, MSESplineElevation, MSEPitch, MSEOrientation, MSETimestamp, MSEEnd, }; MovementStatusElements const MovementStartStrafeLeft[] = { MSEPositionZ, MSEPositionX, MSEPositionY, MSEHasSplineElevation, MSEHasGuidByte5, MSEHasPitch, MSEHasGuidByte6, MSEHasTimestamp, MSEHasGuidByte1, MSEZeroBit, MSEHasGuidByte4, MSEHasGuidByte0, MSEHasGuidByte2, MSEHasFallData, MSEHasOrientation, MSEHasGuidByte3, MSEHasMovementFlags2, MSEHasGuidByte7, MSEHasSpline, MSEHasMovementFlags, MSEHasTransportData, MSEHasFallDirection, MSEHasTransportTime2, MSEHasTransportGuidByte7, MSEHasTransportTime3, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportGuidByte5, MSEHasTransportGuidByte2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte0, MSEMovementFlags, MSEMovementFlags2, MSEGuidByte2, MSEGuidByte6, MSEGuidByte3, MSEGuidByte1, MSEGuidByte0, MSEGuidByte7, MSEGuidByte4, MSEGuidByte5, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallTime, MSEFallVerticalSpeed, MSETransportSeat, MSETransportGuidByte2, MSETransportTime2, MSETransportGuidByte3, MSETransportPositionZ, MSETransportVehicleId, MSETransportGuidByte0, MSETransportGuidByte7, MSETransportPositionY, MSETransportGuidByte5, MSETransportGuidByte1, MSETransportOrientation, MSETransportTime, MSETransportGuidByte6, MSETransportGuidByte4, MSETransportPositionX, MSETimestamp, MSEOrientation, MSEPitch, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementStartStrafeRight[] = { MSEPositionY, MSEPositionX, MSEPositionZ, MSEHasPitch, MSEHasGuidByte1, MSEHasOrientation, MSEHasGuidByte4, MSEHasSpline, MSEZeroBit, MSEHasGuidByte5, MSEHasFallData, MSEHasSplineElevation, MSEHasTimestamp, MSEHasMovementFlags, MSEHasGuidByte2, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasGuidByte3, MSEHasMovementFlags2, MSEHasTransportData, MSEHasGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte5, MSEHasTransportGuidByte0, MSEHasTransportTime2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasTransportGuidByte4, MSEHasTransportTime3, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte7, MSEGuidByte5, MSEGuidByte3, MSEGuidByte1, MSEGuidByte2, MSEGuidByte4, MSEGuidByte6, MSEGuidByte0, MSETransportGuidByte5, MSETransportGuidByte1, MSETransportGuidByte6, MSETransportPositionY, MSETransportOrientation, MSETransportGuidByte0, MSETransportGuidByte2, MSETransportSeat, MSETransportPositionX, MSETransportVehicleId, MSETransportTime, MSETransportGuidByte4, MSETransportGuidByte7, MSETransportTime2, MSETransportPositionZ, MSETransportGuidByte3, MSEPitch, MSEOrientation, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, MSETimestamp, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementStartTurnLeft[] = { MSEPositionY, MSEPositionX, MSEPositionZ, MSEZeroBit, MSEHasGuidByte1, MSEHasOrientation, MSEHasSpline, MSEHasMovementFlags, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasMovementFlags2, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasTransportData, MSEHasGuidByte6, MSEHasSplineElevation, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasPitch, MSEHasTimestamp, MSEHasFallData, MSEMovementFlags2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasTransportTime2, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEHasTransportGuidByte6, MSEHasFallDirection, MSEMovementFlags, MSEGuidByte0, MSEGuidByte4, MSEGuidByte7, MSEGuidByte5, MSEGuidByte6, MSEGuidByte3, MSEGuidByte2, MSEGuidByte1, MSEFallCosAngle, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, MSETransportGuidByte0, MSETransportPositionX, MSETransportTime, MSETransportSeat, MSETransportPositionZ, MSETransportGuidByte4, MSETransportOrientation, MSETransportGuidByte2, MSETransportGuidByte6, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportPositionY, MSETransportVehicleId, MSETransportTime2, MSETransportGuidByte5, MSETransportGuidByte7, MSETimestamp, MSEPitch, MSEOrientation, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementStartTurnRight[] = { MSEPositionX, MSEPositionZ, MSEPositionY, MSEHasGuidByte3, MSEHasGuidByte5, MSEHasMovementFlags, MSEHasSpline, MSEHasGuidByte0, MSEHasOrientation, MSEHasTransportData, MSEHasGuidByte7, MSEZeroBit, MSEHasMovementFlags2, MSEHasGuidByte1, MSEHasTimestamp, MSEHasGuidByte6, MSEHasGuidByte2, MSEHasGuidByte4, MSEHasSplineElevation, MSEHasPitch, MSEHasFallData, MSEHasTransportGuidByte1, MSEHasTransportTime2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEHasTransportGuidByte3, MSEHasTransportGuidByte5, MSEHasTransportGuidByte2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte7, MSEHasTransportTime3, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte5, MSEGuidByte0, MSEGuidByte7, MSEGuidByte3, MSEGuidByte2, MSEGuidByte1, MSEGuidByte4, MSEGuidByte6, MSETransportPositionY, MSETransportGuidByte0, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte6, MSETransportGuidByte2, MSETransportSeat, MSETransportOrientation, MSETransportGuidByte5, MSETransportVehicleId, MSETransportPositionZ, MSETransportPositionX, MSETransportTime, MSETransportGuidByte7, MSETransportGuidByte3, MSETransportTime2, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallTime, MSEFallVerticalSpeed, MSEPitch, MSEOrientation, MSESplineElevation, MSETimestamp, MSEEnd, }; MovementStatusElements const MovementStop[] = { MSEPositionX, MSEPositionY, MSEPositionZ, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasSplineElevation, MSEHasSpline, MSEHasOrientation, MSEHasGuidByte7, MSEHasMovementFlags, MSEHasGuidByte5, MSEHasFallData, MSEHasMovementFlags2, MSEHasTransportData, MSEHasTimestamp, MSEHasGuidByte4, MSEHasGuidByte1, MSEZeroBit, MSEHasGuidByte2, MSEHasGuidByte0, MSEHasPitch, MSEHasTransportGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportGuidByte1, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportTime3, MSEHasTransportGuidByte3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEHasTransportGuidByte2, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte6, MSEGuidByte3, MSEGuidByte0, MSEGuidByte4, MSEGuidByte2, MSEGuidByte1, MSEGuidByte5, MSEGuidByte7, MSETransportGuidByte4, MSETransportGuidByte7, MSETransportTime, MSETransportSeat, MSETransportPositionZ, MSETransportVehicleId, MSETransportGuidByte2, MSETransportGuidByte0, MSETransportPositionY, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportTime2, MSETransportPositionX, MSETransportOrientation, MSETransportGuidByte5, MSETransportGuidByte6, MSETimestamp, MSEOrientation, MSEPitch, MSESplineElevation, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, MSEEnd, }; MovementStatusElements const MovementStopStrafe[] = { MSEPositionY, MSEPositionZ, MSEPositionX, MSEHasPitch, MSEHasTimestamp, MSEHasGuidByte2, MSEHasFallData, MSEHasGuidByte7, MSEHasSplineElevation, MSEHasGuidByte3, MSEHasOrientation, MSEHasMovementFlags2, MSEHasTransportData, MSEHasMovementFlags, MSEHasSpline, MSEHasGuidByte0, MSEZeroBit, MSEHasGuidByte6, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasTransportGuidByte7, MSEHasTransportGuidByte0, MSEHasTransportGuidByte4, MSEHasTransportGuidByte2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportGuidByte1, MSEHasTransportGuidByte3, MSEHasTransportTime3, MSEMovementFlags, MSEHasFallDirection, MSEMovementFlags2, MSEGuidByte2, MSEGuidByte7, MSEGuidByte3, MSEGuidByte4, MSEGuidByte5, MSEGuidByte6, MSEGuidByte1, MSEGuidByte0, MSETransportSeat, MSETransportGuidByte6, MSETransportPositionZ, MSETransportVehicleId, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte2, MSETransportGuidByte4, MSETransportGuidByte5, MSETransportTime, MSETransportOrientation, MSETransportPositionX, MSETransportGuidByte0, MSETransportPositionY, MSETransportTime2, MSETransportGuidByte7, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSESplineElevation, MSEOrientation, MSEPitch, MSETimestamp, MSEEnd, }; MovementStatusElements const MovementStopTurn[] = { MSEPositionX, MSEPositionZ, MSEPositionY, MSEHasGuidByte5, MSEHasGuidByte4, MSEHasFallData, MSEZeroBit, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasSpline, MSEHasMovementFlags, MSEHasGuidByte2, MSEHasGuidByte6, MSEHasPitch, MSEHasTransportData, MSEHasGuidByte3, MSEHasSplineElevation, MSEHasTimestamp, MSEHasMovementFlags2, MSEHasOrientation, MSEHasGuidByte7, MSEHasTransportGuidByte2, MSEHasTransportGuidByte7, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEHasTransportTime2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte0, MSEHasTransportGuidByte3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasFallDirection, MSEMovementFlags, MSEMovementFlags2, MSEGuidByte3, MSEGuidByte2, MSEGuidByte6, MSEGuidByte4, MSEGuidByte0, MSEGuidByte7, MSEGuidByte1, MSEGuidByte5, MSESplineElevation, MSETransportPositionX, MSETransportGuidByte5, MSETransportSeat, MSETransportGuidByte2, MSETransportGuidByte3, MSETransportOrientation, MSETransportTime2, MSETransportVehicleId, MSETransportGuidByte7, MSETransportGuidByte1, MSETransportGuidByte0, MSETransportGuidByte4, MSETransportPositionY, MSETransportPositionZ, MSETransportTime, MSETransportGuidByte6, MSEFallTime, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallVerticalSpeed, MSETimestamp, MSEPitch, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementStartAscend[] = { MSEPositionX, MSEPositionY, MSEPositionZ, MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte7, MSEZeroBit, MSEHasGuidByte5, MSEHasTransportData, MSEHasGuidByte2, MSEHasSplineElevation, MSEHasFallData, MSEHasSpline, MSEHasGuidByte3, MSEHasMovementFlags2, MSEHasGuidByte6, MSEHasMovementFlags, MSEHasPitch, MSEHasTimestamp, MSEHasOrientation, MSEHasGuidByte4, MSEMovementFlags, MSEHasTransportGuidByte0, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasTransportGuidByte4, MSEHasTransportTime2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte6, MSEGuidByte3, MSEGuidByte1, MSEGuidByte4, MSEGuidByte2, MSEGuidByte0, MSEGuidByte5, MSEGuidByte7, MSETransportGuidByte3, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportSeat, MSETransportGuidByte2, MSETransportOrientation, MSETransportPositionY, MSETransportGuidByte7, MSETransportTime2, MSETransportPositionZ, MSETransportVehicleId, MSETransportGuidByte6, MSETransportTime, MSETransportGuidByte0, MSETransportGuidByte1, MSETransportPositionX, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, MSEOrientation, MSEPitch, MSETimestamp, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementStartDescend[] = { MSEPositionY, MSEPositionZ, MSEPositionX, MSEHasGuidByte0, MSEHasPitch, MSEHasFallData, MSEHasGuidByte4, MSEHasOrientation, MSEHasTimestamp, MSEHasMovementFlags2, MSEHasMovementFlags, MSEHasGuidByte6, MSEZeroBit, MSEHasGuidByte1, MSEHasTransportData, MSEHasSpline, MSEHasSplineElevation, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasGuidByte7, MSEHasGuidByte2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportTime2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte5, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte2, MSEGuidByte7, MSEGuidByte6, MSEGuidByte0, MSEGuidByte1, MSEGuidByte5, MSEGuidByte4, MSEGuidByte3, MSEPitch, MSETransportPositionZ, MSETransportSeat, MSETransportVehicleId, MSETransportGuidByte6, MSETransportTime2, MSETransportGuidByte1, MSETransportTime, MSETransportGuidByte4, MSETransportPositionY, MSETransportPositionX, MSETransportGuidByte7, MSETransportGuidByte3, MSETransportGuidByte5, MSETransportGuidByte2, MSETransportOrientation, MSETransportGuidByte0, MSEFallTime, MSEFallCosAngle, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSETimestamp, MSEOrientation, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementStartSwim[] = { MSEPositionZ, MSEPositionX, MSEPositionY, MSEHasGuidByte3, MSEHasSplineElevation, MSEHasGuidByte4, MSEHasGuidByte7, MSEZeroBit, MSEHasPitch, MSEHasGuidByte0, MSEHasOrientation, MSEHasMovementFlags, MSEHasFallData, MSEHasGuidByte5, MSEHasTransportData, MSEHasMovementFlags2, MSEHasTimestamp, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasSpline, MSEHasGuidByte2, MSEHasTransportGuidByte2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEHasTransportGuidByte4, MSEHasTransportGuidByte0, MSEHasTransportTime2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasTransportTime3, MSEMovementFlags, MSEHasFallDirection, MSEMovementFlags2, MSEGuidByte0, MSEGuidByte2, MSEGuidByte1, MSEGuidByte5, MSEGuidByte4, MSEGuidByte6, MSEGuidByte3, MSEGuidByte7, MSEPitch, MSETransportTime2, MSETransportGuidByte2, MSETransportPositionY, MSETransportGuidByte3, MSETransportTime, MSETransportPositionX, MSETransportOrientation, MSETransportVehicleId, MSETransportGuidByte6, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportPositionZ, MSETransportGuidByte1, MSETransportGuidByte7, MSETransportGuidByte0, MSETransportSeat, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSEOrientation, MSETimestamp, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementStopSwim[] = { MSEPositionX, MSEPositionY, MSEPositionZ, MSEHasSpline, MSEHasPitch, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasGuidByte7, MSEHasSplineElevation, MSEHasMovementFlags, MSEHasGuidByte4, MSEHasMovementFlags2, MSEHasGuidByte2, MSEHasGuidByte6, MSEHasTransportData, MSEHasOrientation, MSEZeroBit, MSEHasTimestamp, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasFallData, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasTransportTime2, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte0, MSEGuidByte4, MSEGuidByte3, MSEGuidByte6, MSEGuidByte7, MSEGuidByte1, MSEGuidByte5, MSEGuidByte2, MSETransportVehicleId, MSETransportGuidByte4, MSETransportTime, MSETransportPositionZ, MSETransportSeat, MSETransportGuidByte3, MSETransportGuidByte2, MSETransportPositionY, MSETransportGuidByte7, MSETransportGuidByte1, MSETransportGuidByte6, MSETransportGuidByte5, MSETransportTime2, MSETransportPositionX, MSETransportGuidByte0, MSETransportOrientation, MSEFallVerticalSpeed, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallTime, MSETimestamp, MSEPitch, MSEOrientation, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementStopAscend[] = { MSEPositionZ, MSEPositionY, MSEPositionX, MSEHasGuidByte3, MSEHasGuidByte2, MSEHasFallData, MSEHasGuidByte7, MSEHasOrientation, MSEHasPitch, MSEHasSpline, MSEZeroBit, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasMovementFlags, MSEHasGuidByte0, MSEHasGuidByte6, MSEHasSplineElevation, MSEHasTransportData, MSEHasMovementFlags2, MSEHasTimestamp, MSEHasGuidByte5, MSEHasTransportTime2, MSEHasTransportTime3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte7, MSEGuidByte5, MSEGuidByte4, MSEGuidByte3, MSEGuidByte2, MSEGuidByte1, MSEGuidByte0, MSEGuidByte6, MSETransportGuidByte5, MSETransportPositionY, MSETransportGuidByte7, MSETransportGuidByte2, MSETransportGuidByte6, MSETransportTime2, MSETransportVehicleId, MSETransportOrientation, MSETransportGuidByte3, MSETransportGuidByte4, MSETransportSeat, MSETransportGuidByte1, MSETransportTime, MSETransportGuidByte0, MSETransportPositionX, MSETransportPositionZ, MSEFallTime, MSEFallVerticalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEPitch, MSESplineElevation, MSETimestamp, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementStopPitch[] = { MSEPositionX, MSEPositionZ, MSEPositionY, MSEHasGuidByte0, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasFallData, MSEHasGuidByte2, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasPitch, MSEHasSpline, MSEHasOrientation, MSEZeroBit, MSEHasMovementFlags2, MSEHasSplineElevation, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasTimestamp, MSEHasTransportData, MSEHasMovementFlags, MSEHasTransportGuidByte7, MSEHasTransportGuidByte0, MSEHasTransportGuidByte5, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte3, MSEHasTransportTime2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte1, MSEHasFallDirection, MSEMovementFlags2, MSEMovementFlags, MSEGuidByte1, MSEGuidByte7, MSEGuidByte0, MSEGuidByte6, MSEGuidByte4, MSEGuidByte3, MSEGuidByte5, MSEGuidByte2, MSETimestamp, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSETransportGuidByte5, MSETransportGuidByte2, MSETransportTime2, MSETransportPositionX, MSETransportOrientation, MSETransportGuidByte6, MSETransportGuidByte3, MSETransportGuidByte1, MSETransportPositionZ, MSETransportVehicleId, MSETransportGuidByte0, MSETransportGuidByte4, MSETransportTime, MSETransportPositionY, MSETransportSeat, MSETransportGuidByte7, MSESplineElevation, MSEOrientation, MSEPitch, MSEEnd, }; MovementStatusElements const MovementStartPitchDown[] = { MSEPositionX, MSEPositionZ, MSEPositionY, MSEHasMovementFlags, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasPitch, MSEZeroBit, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasTimestamp, MSEHasSplineElevation, MSEHasMovementFlags2, MSEHasTransportData, MSEHasGuidByte0, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasSpline, MSEHasOrientation, MSEHasFallData, MSEHasGuidByte2, MSEHasTransportGuidByte1, MSEHasTransportGuidByte5, MSEHasTransportTime3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportTime2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte3, MSEHasTransportGuidByte2, MSEMovementFlags2, MSEHasFallDirection, MSEMovementFlags, MSEGuidByte3, MSEGuidByte7, MSEGuidByte0, MSEGuidByte5, MSEGuidByte2, MSEGuidByte6, MSEGuidByte4, MSEGuidByte1, MSETransportVehicleId, MSETransportGuidByte3, MSETransportTime2, MSETransportGuidByte5, MSETransportGuidByte1, MSETransportPositionY, MSETransportGuidByte6, MSETransportGuidByte4, MSETransportTime, MSETransportPositionZ, MSETransportPositionX, MSETransportGuidByte0, MSETransportSeat, MSETransportGuidByte2, MSETransportGuidByte7, MSETransportOrientation, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEPitch, MSEOrientation, MSESplineElevation, MSETimestamp, MSEEnd, }; MovementStatusElements const MovementStartPitchUp[] = { MSEPositionZ, MSEPositionY, MSEPositionX, MSEHasGuidByte4, MSEHasMovementFlags, MSEHasMovementFlags2, MSEHasSpline, MSEHasGuidByte2, MSEHasGuidByte6, MSEHasGuidByte3, MSEZeroBit, MSEHasSplineElevation, MSEHasFallData, MSEHasGuidByte0, MSEHasTransportData, MSEHasGuidByte1, MSEHasGuidByte5, MSEHasPitch, MSEHasTimestamp, MSEHasOrientation, MSEHasGuidByte7, MSEMovementFlags2, MSEHasTransportGuidByte7, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasTransportTime2, MSEHasTransportGuidByte4, MSEHasTransportTime3, MSEHasTransportGuidByte0, MSEHasTransportGuidByte6, MSEHasTransportGuidByte5, MSEHasTransportGuidByte2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte0, MSEGuidByte3, MSEGuidByte4, MSEGuidByte6, MSEGuidByte7, MSEGuidByte1, MSEGuidByte5, MSEGuidByte2, MSETransportPositionX, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte2, MSETransportGuidByte0, MSETransportTime, MSETransportPositionZ, MSETransportOrientation, MSETransportGuidByte7, MSETransportTime2, MSETransportSeat, MSETransportGuidByte6, MSETransportGuidByte5, MSETransportVehicleId, MSETransportPositionY, MSETransportGuidByte4, MSEFallTime, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEOrientation, MSESplineElevation, MSEPitch, MSETimestamp, MSEEnd, }; MovementStatusElements const MoveChngTransport[]= { MSEPositionY, MSEPositionX, MSEPositionZ, MSEHasGuidByte4, MSEHasGuidByte0, MSEHasGuidByte2, MSEHasTransportData, MSEHasSpline, MSEHasOrientation, MSEHasGuidByte6, MSEHasTimestamp, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasPitch, MSEZeroBit, MSEHasGuidByte3, MSEHasSplineElevation, MSEHasGuidByte1, MSEHasFallData, MSEHasMovementFlags, MSEHasMovementFlags2, MSEHasTransportGuidByte3, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEHasTransportTime2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte7, MSEGuidByte5, MSEGuidByte1, MSEGuidByte2, MSEGuidByte6, MSEGuidByte4, MSEGuidByte0, MSEGuidByte3, MSETransportPositionY, MSETransportSeat, MSETransportGuidByte1, MSETransportGuidByte0, MSETransportGuidByte2, MSETransportGuidByte3, MSETransportGuidByte6, MSETransportPositionZ, MSETransportPositionX, MSETransportVehicleId, MSETransportTime, MSETransportGuidByte7, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportOrientation, MSETransportTime2, MSEFallTime, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallVerticalSpeed, MSEOrientation, MSEPitch, MSESplineElevation, MSETimestamp, MSEEnd, }; MovementStatusElements const MoveSplineDone[] = { MSEPositionY, MSEPositionX, MSEPositionZ, MSEHasGuidByte6, MSEHasOrientation, MSEHasFallData, MSEHasTimestamp, MSEHasGuidByte2, MSEHasSplineElevation, MSEHasGuidByte4, MSEHasTransportData, MSEHasGuidByte3, MSEHasMovementFlags, MSEHasGuidByte0, MSEZeroBit, MSEHasGuidByte1, MSEHasGuidByte5, MSEHasPitch, MSEHasSpline, MSEHasMovementFlags2, MSEHasGuidByte7, MSEHasTransportGuidByte1, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportTime2, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte0, MSEHasFallDirection, MSEMovementFlags2, MSEMovementFlags, MSEGuidByte7, MSEGuidByte4, MSEGuidByte5, MSEGuidByte6, MSEGuidByte0, MSEGuidByte1, MSEGuidByte2, MSEGuidByte3, MSEFallVerticalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEPitch, MSEOrientation, MSETransportGuidByte1, MSETransportVehicleId, MSETransportGuidByte7, MSETransportTime, MSETransportPositionY, MSETransportPositionX, MSETransportPositionZ, MSETransportSeat, MSETransportOrientation, MSETransportGuidByte0, MSETransportTime2, MSETransportGuidByte2, MSETransportGuidByte3, MSETransportGuidByte5, MSETransportGuidByte6, MSETransportGuidByte4, MSETimestamp, MSESplineElevation, MSEEnd, }; MovementStatusElements const MoveNotActiveMover[] = { MSEPositionZ, MSEPositionX, MSEPositionY, MSEHasMovementFlags2, MSEHasTransportData, MSEHasGuidByte6, MSEHasSplineElevation, MSEHasGuidByte3, MSEZeroBit, MSEHasTimestamp, MSEHasGuidByte0, MSEHasOrientation, MSEHasGuidByte5, MSEHasPitch, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasSpline, MSEHasGuidByte2, MSEHasFallData, MSEHasMovementFlags, MSEHasTransportGuidByte4, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte5, MSEHasTransportGuidByte7, MSEHasTransportTime2, MSEHasTransportGuidByte3, MSEHasFallDirection, MSEMovementFlags, MSEMovementFlags2, MSEGuidByte1, MSEGuidByte0, MSEGuidByte4, MSEGuidByte2, MSEGuidByte7, MSEGuidByte5, MSEGuidByte6, MSEGuidByte3, MSEFallVerticalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSETransportVehicleId, MSETransportGuidByte1, MSETransportTime2, MSETransportOrientation, MSETransportGuidByte0, MSETransportSeat, MSETransportGuidByte4, MSETransportGuidByte6, MSETransportGuidByte3, MSETransportGuidByte5, MSETransportPositionY, MSETransportPositionX, MSETransportGuidByte2, MSETransportPositionZ, MSETransportGuidByte7, MSETransportTime, MSETimestamp, MSESplineElevation, MSEPitch, MSEOrientation, MSEEnd, }; MovementStatusElements const DismissControlledVehicle[] = { MSEPositionY, MSEPositionZ, MSEPositionX, MSEHasSplineElevation, MSEHasFallData, MSEHasTransportData, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasMovementFlags2, MSEHasGuidByte2, MSEHasOrientation, MSEHasGuidByte0, MSEHasGuidByte6, MSEHasPitch, MSEHasTimestamp, MSEHasGuidByte1, MSEZeroBit, MSEHasSpline, MSEHasGuidByte3, MSEHasMovementFlags, MSEHasGuidByte5, MSEHasTransportGuidByte5, MSEHasTransportTime3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportTime2, MSEMovementFlags2, MSEHasFallDirection, MSEMovementFlags, MSEGuidByte6, MSEGuidByte3, MSEGuidByte1, MSEGuidByte5, MSEGuidByte2, MSEGuidByte4, MSEGuidByte7, MSEGuidByte0, MSETimestamp, MSETransportVehicleId, MSETransportGuidByte4, MSETransportGuidByte7, MSETransportTime2, MSETransportGuidByte6, MSETransportTime, MSETransportPositionZ, MSETransportGuidByte0, MSETransportPositionX, MSETransportGuidByte3, MSETransportSeat, MSETransportPositionY, MSETransportOrientation, MSETransportGuidByte1, MSETransportGuidByte5, MSETransportGuidByte2, MSEFallTime, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallVerticalSpeed, MSEOrientation, MSESplineElevation, MSEPitch, MSEEnd, }; MovementStatusElements const MoveUpdateTeleport[] = { MSEPositionZ, MSEPositionY, MSEPositionX, MSEHasOrientation, MSEHasSpline, MSEHasMovementFlags, MSEHasGuidByte2, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasFallData, MSEHasGuidByte0, MSEHasTransportData, MSEHasGuidByte5, MSEHasTransportGuidByte1, MSEHasTransportGuidByte4, MSEHasTransportGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte0, MSEHasTransportTime2, MSEHasTransportGuidByte7, MSEHasTransportGuidByte6, MSEHasTransportTime3, MSEHasTransportGuidByte2, MSEZeroBit, MSEHasGuidByte7, MSEHasGuidByte3, MSEHasPitch, MSEHasMovementFlags2, MSEHasTimestamp, MSEHasFallDirection, MSEMovementFlags2, MSEHasSplineElevation, MSEMovementFlags, MSEHasGuidByte1, MSEGuidByte7, MSETransportGuidByte3, MSETransportGuidByte4, MSETransportOrientation, MSETransportVehicleId, MSETransportGuidByte1, MSETransportTime2, MSETransportPositionZ, MSETransportGuidByte7, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportGuidByte5, MSETransportGuidByte2, MSETransportSeat, MSETransportTime, MSETransportPositionY, MSETransportPositionX, MSEGuidByte6, MSEPitch, MSESplineElevation, MSEOrientation, MSEGuidByte2, MSEGuidByte3, MSEGuidByte1, MSEFallTime, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallVerticalSpeed, MSEGuidByte5, MSEGuidByte4, MSETimestamp, MSEGuidByte0, MSEEnd, }; MovementStatusElements const MovementSetRunMode[] = { MSEPositionY, MSEPositionX, MSEPositionZ, MSEHasTimestamp, MSEHasMovementFlags2, MSEHasGuidByte1, MSEHasSpline, MSEHasMovementFlags, MSEHasGuidByte7, MSEHasTransportData, MSEZeroBit, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasSplineElevation, MSEHasGuidByte5, MSEHasPitch, MSEHasGuidByte6, MSEHasGuidByte4, MSEHasFallData, MSEHasOrientation, MSEHasGuidByte2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte4, MSEHasTransportTime3, MSEHasTransportGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasTransportTime2, MSEHasTransportGuidByte7, MSEHasTransportGuidByte0, MSEHasTransportGuidByte2, MSEHasFallDirection, MSEMovementFlags2, MSEMovementFlags, MSEGuidByte3, MSEGuidByte6, MSEGuidByte0, MSEGuidByte7, MSEGuidByte4, MSEGuidByte1, MSEGuidByte5, MSEGuidByte2, MSEPitch, MSETransportTime2, MSETransportGuidByte3, MSETransportPositionX, MSETransportSeat, MSETransportGuidByte5, MSETransportGuidByte1, MSETransportPositionZ, MSETransportGuidByte2, MSETransportGuidByte7, MSETransportOrientation, MSETransportGuidByte4, MSETransportTime, MSETransportVehicleId, MSETransportGuidByte0, MSETransportPositionY, MSETransportGuidByte6, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSESplineElevation, MSETimestamp, MSEOrientation, MSEEnd }; MovementStatusElements const MovementSetWalkMode[] = { MSEPositionY, MSEPositionX, MSEPositionZ, MSEHasGuidByte6, MSEHasSpline, MSEHasTimestamp, MSEHasGuidByte0, MSEHasGuidByte1, MSEHasMovementFlags, MSEHasPitch, MSEHasGuidByte7, MSEHasSplineElevation, MSEHasGuidByte4, MSEHasOrientation, MSEHasTransportData, MSEHasGuidByte2, MSEHasGuidByte5, MSEHasGuidByte3, MSEZeroBit, MSEHasMovementFlags2, MSEHasFallData, MSEHasTransportGuidByte2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasTransportGuidByte3, MSEHasTransportTime2, MSEHasTransportGuidByte5, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte7, MSEHasFallDirection, MSEMovementFlags, MSEMovementFlags2, MSEGuidByte5, MSEGuidByte6, MSEGuidByte4, MSEGuidByte7, MSEGuidByte3, MSEGuidByte0, MSEGuidByte2, MSEGuidByte1, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportSeat, MSETransportPositionZ, MSETransportGuidByte3, MSETransportGuidByte6, MSETransportGuidByte0, MSETransportTime, MSETransportGuidByte4, MSETransportTime2, MSETransportOrientation, MSETransportPositionX, MSETransportVehicleId, MSETransportGuidByte7, MSETransportPositionY, MSETransportGuidByte1, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSESplineElevation, MSEPitch, MSETimestamp, MSEOrientation, MSEEnd }; MovementStatusElements const MovementSetCanFly[] = { MSEPositionZ, MSEPositionX, MSEPositionY, MSEHasTransportData, MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasFallData, MSEHasGuidByte0, MSEHasMovementFlags, MSEHasGuidByte3, MSEHasMovementFlags2, MSEHasGuidByte5, MSEHasTimestamp, MSEHasSplineElevation, MSEHasSpline, MSEHasOrientation, MSEHasGuidByte7, MSEZeroBit, MSEHasPitch, MSEHasTransportGuidByte3, MSEHasTransportTime2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportTime3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEMovementFlags2, MSEHasFallDirection, MSEMovementFlags, MSEGuidByte2, MSEGuidByte0, MSEGuidByte4, MSEGuidByte7, MSEGuidByte5, MSEGuidByte1, MSEGuidByte3, MSEGuidByte6, MSETransportPositionZ, MSETransportGuidByte3, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportSeat, MSETransportPositionX, MSETransportGuidByte2, MSETransportTime2, MSETransportPositionY, MSETransportGuidByte1, MSETransportTime, MSETransportGuidByte7, MSETransportGuidByte0, MSETransportOrientation, MSETransportGuidByte6, MSETransportVehicleId, MSESplineElevation, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, MSEPitch, MSETimestamp, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementSetCanTransitionBetweenSwimAndFlyAck[] = { MSEPositionZ, MSEPositionY, MSECounter, MSEPositionX, MSEHasGuidByte3, MSEHasOrientation, MSEHasTransportData, MSEHasMovementFlags, MSEHasMovementFlags2, MSEHasSplineElevation, MSEHasTimestamp, MSEHasSpline, MSEZeroBit, MSEHasFallData, MSEHasGuidByte5, MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasGuidByte2, MSEHasPitch, MSEHasGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportGuidByte2, MSEHasTransportTime2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte5, MSEHasTransportTime3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte1, MSEMovementFlags2, MSEHasFallDirection, MSEMovementFlags, MSEGuidByte3, MSEGuidByte2, MSEGuidByte0, MSEGuidByte4, MSEGuidByte1, MSEGuidByte5, MSEGuidByte7, MSEGuidByte6, MSEFallTime, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallVerticalSpeed, MSETransportPositionY, MSETransportPositionZ, MSETransportGuidByte5, MSETransportGuidByte1, MSETransportGuidByte4, MSETransportTime, MSETransportSeat, MSETransportGuidByte3, MSETransportGuidByte0, MSETransportGuidByte2, MSETransportGuidByte7, MSETransportPositionX, MSETransportTime2, MSETransportGuidByte6, MSETransportOrientation, MSETransportVehicleId, MSEPitch, MSEOrientation, MSETimestamp, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementUpdateSwimSpeed[] = { MSEHasMovementFlags, MSEHasGuidByte2, MSEMovementFlags, MSEHasGuidByte3, MSEZeroBit, MSEHasGuidByte7, MSEHasFallDirection, MSEHasTransportGuidByte4, MSEHasTransportGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportGuidByte7, MSEHasGuidByte6, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasOrientation, MSEHasGuidByte1, MSETransportGuidByte2, MSETransportPositionX, MSETransportGuidByte6, MSETransportOrientation, MSETransportGuidByte0, MSETransportGuidByte4, MSETransportPositionY, MSETransportTime, MSETransportGuidByte1, MSETransportGuidByte7, MSETransportPositionZ, MSETransportSeat, MSETransportGuidByte3, MSETransportGuidByte5, MSEPositionX, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSEGuidByte7, MSETimestamp, MSEPositionY, MSEPositionZ, MSEExtraElement, MSEGuidByte4, MSEOrientation, MSEGuidByte2, MSEGuidByte3, MSEGuidByte0, MSEGuidByte6, MSEGuidByte1, MSEGuidByte5, MSEPitch, MSEEnd, }; MovementStatusElements const MovementUpdateRunSpeed[] = { MSEPositionZ, MSEPositionX, MSEPositionY, MSEExtraElement, MSEHasGuidByte6, MSEHasMovementFlags2, MSEHasPitch, MSEHasGuidByte2, MSEHasGuidByte5, MSEHasSplineElevation, MSEHasSpline, MSEHasMovementFlags, MSEHasTimestamp, MSEHasGuidByte1, MSEMovementFlags2, MSEHasGuidByte3, MSEMovementFlags, MSEHasGuidByte7, MSEHasGuidByte0, MSEHasOrientation, MSEHasTransportData, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportTime3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportGuidByte2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasFallData, MSEHasFallDirection, MSEHasGuidByte4, MSEZeroBit, MSETransportGuidByte4, MSETransportGuidByte5, MSETransportPositionX, MSETransportOrientation, MSETransportGuidByte1, MSETransportGuidByte0, MSETransportGuidByte6, MSETransportTime, MSETransportGuidByte7, MSETransportSeat, MSETransportTime2, MSETransportPositionY, MSETransportGuidByte3, MSETransportGuidByte2, MSETransportVehicleId, MSETransportPositionZ, MSETimestamp, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEPitch, MSEGuidByte6, MSESplineElevation, MSEGuidByte5, MSEGuidByte7, MSEGuidByte4, MSEOrientation, MSEGuidByte0, MSEGuidByte3, MSEGuidByte2, MSEGuidByte1, MSEEnd, }; MovementStatusElements const MovementUpdateFlightSpeed[] = { MSEPositionY, MSEExtraElement, MSEPositionX, MSEPositionZ, MSEHasMovementFlags, MSEHasGuidByte4, MSEZeroBit, MSEHasGuidByte5, MSEHasGuidByte1, MSEMovementFlags, MSEHasFallData, MSEHasGuidByte2, MSEHasOrientation, MSEHasPitch, MSEHasSplineElevation, MSEHasGuidByte7, MSEHasTimestamp, MSEHasTransportData, MSEHasTransportGuidByte3, MSEHasTransportGuidByte5, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasTransportGuidByte6, MSEHasTransportGuidByte4, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte7, MSEHasTransportTime2, MSEHasGuidByte6, MSEHasGuidByte3, MSEHasMovementFlags2, MSEHasSpline, MSEMovementFlags2, MSEHasFallDirection, MSEHasGuidByte0, MSESplineElevation, MSEPitch, MSEGuidByte0, MSEGuidByte5, MSETransportOrientation, MSETransportTime, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte6, MSETransportPositionZ, MSETransportGuidByte7, MSETransportGuidByte0, MSETransportGuidByte2, MSETransportGuidByte3, MSETransportPositionY, MSETransportVehicleId, MSETransportTime2, MSETransportGuidByte1, MSETransportSeat, MSETransportPositionX, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEGuidByte1, MSEGuidByte6, MSETimestamp, MSEGuidByte7, MSEGuidByte2, MSEGuidByte4, MSEOrientation, MSEGuidByte3, MSEEnd }; MovementStatusElements const MovementUpdateCollisionHeight[] = { MSEPositionZ, MSEExtraElement, MSEPositionX, MSEPositionY, MSEHasGuidByte6, MSEHasGuidByte7, MSEHasTransportGuidByte6, MSEHasTransportGuidByte4, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasTransportGuidByte2, MSEHasGuidByte3, MSEHasOrientation, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasGuidByte0, MSEZeroBit, MSEHasGuidByte2, MSEHasMovementFlags, MSEHasFallDirection, MSEHasGuidByte1, MSEMovementFlags, MSEGuidByte3, MSETransportGuidByte7, MSETransportTime, MSETransportGuidByte4, MSETransportGuidByte5, MSETransportOrientation, MSETransportPositionX, MSETransportGuidByte6, MSETransportGuidByte0, MSETransportPositionY, MSETransportGuidByte2, MSETransportPositionZ, MSETransportGuidByte3, MSETransportGuidByte1, MSETransportSeat, MSEPitch, MSEGuidByte6, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, MSEGuidByte7, MSEOrientation, MSEGuidByte0, MSEGuidByte5, MSEGuidByte4, MSETimestamp, MSEGuidByte2, MSEGuidByte1, MSEEnd, }; MovementStatusElements const MovementForceRunSpeedChangeAck[] = { MSECounter, MSEPositionX, MSEExtraElement, MSEPositionZ, MSEPositionY, MSEHasGuidByte2, MSEHasGuidByte4, MSEHasGuidByte1, MSEHasGuidByte7, MSEHasOrientation, MSEHasFallData, MSEHasGuidByte0, MSEHasSpline, MSEHasTransportData, MSEHasTimestamp, MSEHasMovementFlags2, MSEHasGuidByte6, MSEZeroBit, MSEHasSplineElevation, MSEHasPitch, MSEHasGuidByte5, MSEHasMovementFlags, MSEHasGuidByte3, MSEHasTransportTime3, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasTransportGuidByte4, MSEMovementFlags, MSEHasFallDirection, MSEMovementFlags2, MSEGuidByte6, MSEGuidByte4, MSEGuidByte1, MSEGuidByte3, MSEGuidByte5, MSEGuidByte2, MSEGuidByte7, MSEGuidByte0, MSETransportPositionZ, MSETransportGuidByte6, MSETransportGuidByte1, MSETransportPositionY, MSETransportGuidByte0, MSETransportGuidByte5, MSETransportTime2, MSETransportPositionX, MSETransportTime, MSETransportGuidByte7, MSETransportOrientation, MSETransportGuidByte3, MSETransportVehicleId, MSETransportGuidByte2, MSETransportSeat, MSETransportGuidByte4, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallTime, MSESplineElevation, MSEPitch, MSETimestamp, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementSetCollisionHeightAck[] = { MSEExtraElement, MSEPositionX, MSEPositionZ, MSECounter, MSEPositionY, MSEHasGuidByte6, MSEHasGuidByte4, MSEZeroBit, MSEZeroBit, MSEHasPitch, MSEHasGuidByte5, MSEZeroBit, MSEHasGuidByte2, MSEHasGuidByte1, MSEHasFallData, MSEHasGuidByte3, MSEHasSpline, MSEHasGuidByte7, MSEHasMovementFlags, MSEHasTransportData, MSEHasTimestamp, MSEHasSplineElevation, MSEHasMovementFlags2, MSEHasOrientation, MSEHasGuidByte0, MSEHasTransportGuidByte4, MSEHasTransportGuidByte3, MSEHasTransportTime2, MSEHasTransportTime3, MSEHasTransportGuidByte5, MSEHasTransportGuidByte1, MSEHasTransportGuidByte7, MSEHasTransportGuidByte2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte0, MSEGuidByte3, MSEGuidByte1, MSEGuidByte5, MSEGuidByte7, MSEGuidByte6, MSEGuidByte2, MSEGuidByte4, MSETransportPositionX, MSETransportGuidByte4, MSETransportTime2, MSETransportGuidByte0, MSETransportOrientation, MSETransportPositionY, MSETransportGuidByte7, MSETransportSeat, MSETransportGuidByte5, MSETransportGuidByte2, MSETransportTime, MSETransportGuidByte6, MSETransportGuidByte3, MSETransportGuidByte1, MSETransportVehicleId, MSETransportPositionZ, MSEFallVerticalSpeed, MSEFallTime, MSEFallCosAngle, MSEFallSinAngle, MSEFallHorizontalSpeed, MSETimestamp, MSESplineElevation, MSEOrientation, MSEPitch, MSEEnd, }; MovementStatusElements const MovementForceFlightSpeedChangeAck[] = { MSECounter, MSEPositionZ, MSEPositionX, MSEPositionY, MSEExtraElement, MSEHasGuidByte4, MSEHasGuidByte5, MSEZeroBit, MSEHasMovementFlags, MSEHasSplineElevation, MSEHasGuidByte3, MSEHasMovementFlags2, MSEHasGuidByte7, MSEHasTransportData, MSEHasGuidByte0, MSEHasFallData, MSEHasTimestamp, MSEHasPitch, MSEHasSpline, MSEHasOrientation, MSEHasGuidByte6, MSEHasGuidByte2, MSEHasGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportGuidByte1, MSEHasTransportGuidByte7, MSEHasTransportTime2, MSEHasTransportGuidByte0, MSEHasTransportTime3, MSEHasTransportGuidByte3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte4, MSEHasFallDirection, MSEMovementFlags2, MSEMovementFlags, MSEGuidByte5, MSEGuidByte6, MSEGuidByte1, MSEGuidByte7, MSEGuidByte3, MSEGuidByte0, MSEGuidByte2, MSEGuidByte4, MSETransportGuidByte6, MSETransportGuidByte0, MSETransportSeat, MSETransportTime2, MSETransportOrientation, MSETransportGuidByte1, MSETransportGuidByte5, MSETransportVehicleId, MSETransportGuidByte2, MSETransportPositionZ, MSETransportGuidByte7, MSETransportGuidByte3, MSETransportGuidByte4, MSETransportPositionX, MSETransportTime, MSETransportPositionY, MSETimestamp, MSESplineElevation, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, MSEPitch, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementSetCanFlyAck[] = { MSEPositionY, MSECounter, MSEPositionX, MSEPositionZ, MSEHasGuidByte3, MSEHasTimestamp, MSEHasGuidByte4, MSEHasGuidByte0, MSEHasOrientation, MSEHasFallData, MSEHasGuidByte2, MSEHasGuidByte5, MSEHasSplineElevation, MSEHasMovementFlags2, MSEZeroBit, MSEHasGuidByte7, MSEHasSpline, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasMovementFlags, MSEHasTransportData, MSEHasPitch, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportTime2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte5, MSEHasTransportGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte1, MSEGuidByte0, MSEGuidByte2, MSEGuidByte3, MSEGuidByte7, MSEGuidByte6, MSEGuidByte4, MSEGuidByte5, MSETransportTime2, MSETransportGuidByte6, MSETransportTime, MSETransportVehicleId, MSETransportGuidByte7, MSETransportPositionZ, MSETransportGuidByte3, MSETransportPositionY, MSETransportGuidByte5, MSETransportPositionX, MSETransportGuidByte2, MSETransportOrientation, MSETransportSeat, MSETransportGuidByte1, MSETransportGuidByte0, MSETransportGuidByte4, MSEFallTime, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallVerticalSpeed, MSEPitch, MSEOrientation, MSETimestamp, MSESplineElevation, MSEEnd, }; MovementStatusElements MoveForceSwimBackSpeedChangeAck[] = { MSEExtraElement, MSEPositionX, MSEPositionZ, MSEPositionY, MSECounter, MSEHasGuidByte7, MSEHasTransportData, MSEHasGuidByte6, MSEHasPitch, MSEHasOrientation, MSEHasGuidByte2, MSEHasMovementFlags, MSEHasGuidByte0, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasSpline, MSEHasTimestamp, MSEZeroBit, MSEHasMovementFlags2, MSEHasGuidByte4, MSEHasGuidByte1, MSEHasSplineElevation, MSEHasFallData, MSEHasTransportGuidByte6, MSEHasTransportGuidByte3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte7, MSEHasTransportTime3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasTransportTime2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte2, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte0, MSEGuidByte7, MSEGuidByte4, MSEGuidByte6, MSEGuidByte1, MSEGuidByte2, MSEGuidByte5, MSEGuidByte3, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, MSETransportGuidByte4, MSETransportGuidByte6, MSETransportGuidByte1, MSETransportPositionY, MSETransportOrientation, MSETransportPositionZ, MSETransportGuidByte7, MSETransportVehicleId, MSETransportTime, MSETransportGuidByte3, MSETransportGuidByte2, MSETransportSeat, MSETransportGuidByte0, MSETransportTime2, MSETransportPositionX, MSETransportGuidByte5, MSETimestamp, MSESplineElevation, MSEPitch, MSEOrientation, MSEEnd, }; //4.3.4 MovementStatusElements MoveForceFlightBackSpeedChangeAck[] = { MSEPositionY, MSEPositionZ, MSECounter, MSEPositionX, MSEExtraElement, MSEHasSplineElevation, MSEHasPitch, MSEHasFallData, MSEHasSpline, MSEHasGuidByte7, MSEHasGuidByte4, MSEZeroBit, MSEHasGuidByte1, MSEHasOrientation, MSEHasMovementFlags, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasTransportData, MSEHasGuidByte6, MSEHasMovementFlags2, MSEHasGuidByte2, MSEHasGuidByte0, MSEHasTimestamp, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte1, MSEHasTransportTime3, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte6, MSEHasTransportGuidByte3, MSEHasTransportTime2, MSEHasTransportGuidByte4, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte7, MSEGuidByte0, MSEGuidByte5, MSEGuidByte6, MSEGuidByte3, MSEGuidByte2, MSEGuidByte4, MSEGuidByte1, MSETransportGuidByte2, MSETransportGuidByte0, MSETransportTime, MSETransportGuidByte3, MSETransportOrientation, MSETransportGuidByte1, MSETransportPositionX, MSETransportPositionZ, MSETransportGuidByte4, MSETransportGuidByte7, MSETransportVehicleId, MSETransportGuidByte5, MSETransportTime2, MSETransportPositionY, MSETransportSeat, MSETransportGuidByte6, MSEFallCosAngle, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, MSETimestamp, MSEPitch, MSEOrientation, MSESplineElevation, MSEEnd, }; MovementStatusElements const MovementForceSwimSpeedChangeAck[] = { MSEPositionX, MSECounter, MSEExtraElement, MSEPositionY, MSEPositionZ, MSEHasGuidByte4, MSEHasOrientation, MSEHasPitch, MSEHasTransportData, MSEHasMovementFlags, MSEHasMovementFlags2, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasFallData, MSEHasGuidByte2, MSEHasGuidByte7, MSEHasTimestamp, MSEZeroBit, MSEHasGuidByte5, MSEHasGuidByte6, MSEHasSplineElevation, MSEHasSpline, MSEHasGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte4, MSEHasTransportGuidByte0, MSEHasTransportGuidByte5, MSEHasTransportGuidByte7, MSEHasTransportGuidByte3, MSEHasTransportTime2, MSEHasTransportTime3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEMovementFlags2, MSEHasFallDirection, MSEMovementFlags, MSEGuidByte2, MSEGuidByte0, MSEGuidByte6, MSEGuidByte5, MSEGuidByte1, MSEGuidByte3, MSEGuidByte4, MSEGuidByte7, MSETransportGuidByte0, MSETransportVehicleId, MSETransportTime2, MSETransportPositionX, MSETransportGuidByte7, MSETransportSeat, MSETransportPositionY, MSETransportGuidByte5, MSETransportPositionZ, MSETransportOrientation, MSETransportTime, MSETransportGuidByte2, MSETransportGuidByte6, MSETransportGuidByte3, MSETransportGuidByte1, MSETransportGuidByte4, MSEFallTime, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEOrientation, MSEPitch, MSESplineElevation, MSETimestamp, MSEEnd, }; MovementStatusElements const MovementForceWalkSpeedChangeAck[] = { MSEPositionZ, MSEPositionY, MSEExtraElement, MSEPositionX, MSECounter, MSEHasGuidByte0, MSEHasMovementFlags2, MSEHasTimestamp, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasGuidByte2, MSEHasMovementFlags, MSEHasFallData, MSEHasOrientation, MSEHasSpline, MSEZeroBit, MSEHasGuidByte3, MSEHasGuidByte1, MSEHasSplineElevation, MSEHasTransportData, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasPitch, MSEHasTransportTime2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportTime3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte4, MSEHasTransportGuidByte7, MSEHasTransportGuidByte3, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte5, MSEGuidByte6, MSEGuidByte7, MSEGuidByte2, MSEGuidByte1, MSEGuidByte3, MSEGuidByte4, MSEGuidByte0, MSEFallVerticalSpeed, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallTime, MSETransportPositionZ, MSETransportGuidByte7, MSETransportGuidByte5, MSETransportPositionX, MSETransportGuidByte0, MSETransportTime, MSETransportVehicleId, MSETransportPositionY, MSETransportGuidByte2, MSETransportGuidByte4, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportOrientation, MSETransportSeat, MSETransportGuidByte6, MSETransportTime2, MSESplineElevation, MSETimestamp, MSEOrientation, MSEPitch, MSEEnd, }; MovementStatusElements const MovementForceRunBackSpeedChangeAck[] = { MSEExtraElement, MSECounter, MSEPositionX, MSEPositionZ, MSEPositionY, MSEHasGuidByte2, MSEHasGuidByte4, MSEHasTimestamp, MSEHasTransportData, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasOrientation, MSEHasFallData, MSEHasMovementFlags2, MSEHasMovementFlags, MSEHasGuidByte7, MSEHasSpline, MSEHasPitch, MSEHasGuidByte6, MSEHasSplineElevation, MSEZeroBit, MSEHasTransportGuidByte3, MSEHasTransportTime2, MSEHasTransportGuidByte7, MSEHasTransportGuidByte0, MSEHasTransportGuidByte2, MSEHasTransportGuidByte1, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportGuidByte5, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte0, MSEGuidByte7, MSEGuidByte2, MSEGuidByte4, MSEGuidByte3, MSEGuidByte6, MSEGuidByte5, MSEGuidByte1, MSEFallTime, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallVerticalSpeed, MSETransportGuidByte5, MSETransportSeat, MSETransportGuidByte6, MSETransportGuidByte1, MSETransportGuidByte0, MSETransportGuidByte2, MSETransportPositionY, MSETransportVehicleId, MSETransportPositionX, MSETransportOrientation, MSETransportGuidByte3, MSETransportTime, MSETransportTime2, MSETransportGuidByte4, MSETransportPositionZ, MSETransportGuidByte7, MSETimestamp, MSESplineElevation, MSEOrientation, MSEPitch, MSEEnd, }; MovementStatusElements const MovementUpdateRunBackSpeed[] = { MSEHasGuidByte1, MSEHasGuidByte2, MSEHasGuidByte4, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasGuidByte0, MSEZeroBit, MSEHasMovementFlags, MSEHasGuidByte5, MSEHasOrientation, MSEMovementFlags, MSEHasFallDirection, MSEHasTransportGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportGuidByte7, MSEHasTransportGuidByte2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte0, MSEHasGuidByte7, MSETransportPositionX, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportGuidByte6, MSETransportGuidByte0, MSETransportGuidByte3, MSETransportPositionY, MSETransportGuidByte7, MSETransportPositionZ, MSETransportTime, MSETransportSeat, MSETransportGuidByte1, MSETransportOrientation, MSEGuidByte4, MSEFallTime, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallVerticalSpeed, MSETimestamp, MSEGuidByte1, MSEOrientation, MSEGuidByte0, MSEGuidByte5, MSEGuidByte3, MSEPositionX, MSEPositionY, MSEPitch, MSEGuidByte7, MSEExtraElement, MSEGuidByte2, MSEGuidByte6, MSEPositionZ, MSEEnd, }; MovementStatusElements const MovementUpdateWalkSpeed[] = { MSEHasOrientation, MSEZeroBit, MSEHasGuidByte3, MSEHasGuidByte2, MSEHasTransportGuidByte6, MSEHasTransportGuidByte3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte0, MSEHasTransportGuidByte4, MSEHasTransportGuidByte7, MSEHasTransportGuidByte1, MSEHasTransportGuidByte5, MSEHasGuidByte7, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasMovementFlags, MSEHasGuidByte6, MSEHasFallDirection, MSEMovementFlags, MSEHasGuidByte4, MSEPitch, MSETransportGuidByte6, MSETransportGuidByte0, MSETransportGuidByte4, MSETransportGuidByte2, MSETransportPositionX, MSETransportGuidByte7, MSETransportTime, MSETransportPositionZ, MSETransportSeat, MSETransportGuidByte5, MSETransportOrientation, MSETransportGuidByte1, MSETransportPositionY, MSETransportGuidByte3, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallTime, MSEGuidByte1, MSEGuidByte4, MSEGuidByte2, MSEGuidByte6, MSEGuidByte7, MSETimestamp, MSEOrientation, MSEPositionY, MSEGuidByte0, MSEPositionZ, MSEPositionX, MSEGuidByte3, MSEGuidByte5, MSEExtraElement, MSEEnd, }; MovementStatusElements const ForceMoveRootAck[] = { MSEPositionY, MSEPositionZ, MSECounter, MSEPositionX, MSEHasGuidByte3, MSEHasTimestamp, MSEHasTransportData, MSEHasPitch, MSEHasGuidByte2, MSEHasOrientation, MSEHasSplineElevation, MSEHasFallData, MSEHasSpline, MSEHasGuidByte4, MSEHasGuidByte0, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte7, MSEHasMovementFlags2, MSEHasMovementFlags, MSEZeroBit, MSEHasGuidByte5, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte2, MSEHasTransportTime2, MSEHasTransportGuidByte4, MSEHasTransportTime3, MSEHasTransportGuidByte5, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte5, MSEGuidByte3, MSEGuidByte1, MSEGuidByte7, MSEGuidByte4, MSEGuidByte0, MSEGuidByte6, MSEGuidByte2, MSETransportGuidByte5, MSETransportGuidByte4, MSETransportOrientation, MSETransportPositionZ, MSETransportVehicleId, MSETransportTime2, MSETransportGuidByte7, MSETransportGuidByte2, MSETransportGuidByte0, MSETransportTime, MSETransportGuidByte6, MSETransportGuidByte3, MSETransportPositionX, MSETransportGuidByte1, MSETransportPositionY, MSETransportSeat, MSETimestamp, MSEFallVerticalSpeed, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallTime, MSEOrientation, MSESplineElevation, MSEPitch, MSEEnd, }; MovementStatusElements const ForceMoveUnrootAck[] = { MSECounter, MSEPositionZ, MSEPositionY, MSEPositionX, MSEHasGuidByte7, MSEHasSplineElevation, MSEHasSpline, MSEHasGuidByte5, MSEHasGuidByte4, MSEZeroBit, MSEHasTimestamp, MSEHasMovementFlags, MSEHasOrientation, MSEHasPitch, MSEHasGuidByte3, MSEHasGuidByte1, MSEHasTransportData, MSEHasMovementFlags2, MSEHasGuidByte2, MSEHasGuidByte0, MSEHasFallData, MSEHasGuidByte6, MSEHasFallDirection, MSEHasTransportGuidByte0, MSEHasTransportTime3, MSEHasTransportGuidByte6, MSEHasTransportTime2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte5, MSEHasTransportGuidByte7, MSEHasTransportGuidByte2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte1, MSEMovementFlags2, MSEMovementFlags, MSEGuidByte7, MSEGuidByte1, MSEGuidByte0, MSEGuidByte6, MSEGuidByte2, MSEGuidByte4, MSEGuidByte5, MSEGuidByte3, MSETransportGuidByte6, MSETransportPositionZ, MSETransportGuidByte2, MSETransportGuidByte3, MSETransportPositionY, MSETransportVehicleId, MSETransportGuidByte5, MSETransportSeat, MSETransportGuidByte0, MSETransportTime, MSETransportTime2, MSETransportGuidByte4, MSETransportOrientation, MSETransportPositionX, MSETransportGuidByte1, MSETransportGuidByte7, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallVerticalSpeed, MSEFallTime, MSETimestamp, MSESplineElevation, MSEOrientation, MSEPitch, MSEEnd, }; //4.3.4 MovementStatusElements MoveUpdateSwimBackSpeed[] = { MSEHasGuidByte7, MSEHasGuidByte2, MSEHasTransportData, MSEHasGuidByte1, MSEHasTransportGuidByte2, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportTime2, MSEHasTransportGuidByte5, MSEHasTransportTime3, MSEHasPitch, MSEHasOrientation, MSEZeroBit, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasGuidByte4, MSEHasSpline, MSEHasMovementFlags, MSEHasGuidByte0, MSEHasFallData, MSEHasFallDirection, MSEMovementFlags, MSEHasTimestamp, MSEHasSplineElevation, MSEHasMovementFlags2, MSEMovementFlags2, MSEGuidByte0, MSEGuidByte4, MSEPositionY, MSETransportGuidByte7, MSETransportVehicleId, MSETransportGuidByte6, MSETransportGuidByte4, MSETransportGuidByte2, MSETransportGuidByte3, MSETransportOrientation, MSETransportGuidByte5, MSETransportTime, MSETransportGuidByte0, MSETransportGuidByte1, MSETransportPositionX, MSETransportPositionZ, MSETransportTime2, MSETransportPositionY, MSETransportSeat, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallVerticalSpeed, MSEFallTime, MSEPitch, MSEGuidByte2, MSEGuidByte7, MSEExtraElement, MSESplineElevation, MSEPositionZ, MSEGuidByte3, MSEPositionX, MSETimestamp, MSEGuidByte5, MSEOrientation, MSEGuidByte6, MSEGuidByte1, MSEEnd, }; MovementStatusElements const MovementFallReset[] = { MSEPositionZ, MSEPositionX, MSEPositionY, MSEHasGuidByte1, MSEHasTimestamp, MSEHasMovementFlags, MSEZeroBit, MSEHasGuidByte6, MSEHasSplineElevation, MSEHasPitch, MSEHasGuidByte3, MSEHasTransportData, MSEHasGuidByte2, MSEHasMovementFlags2, MSEHasOrientation, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasSpline, MSEHasGuidByte7, MSEHasGuidByte0, MSEHasFallData, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte5, MSEHasTransportGuidByte4, MSEHasTransportTime2, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte7, MSEHasTransportGuidByte3, MSEHasFallDirection, MSEMovementFlags2, MSEMovementFlags, MSEGuidByte4, MSEGuidByte0, MSEGuidByte1, MSEGuidByte7, MSEGuidByte5, MSEGuidByte2, MSEGuidByte3, MSEGuidByte6, MSETransportPositionX, MSETransportGuidByte7, MSETransportGuidByte2, MSETransportGuidByte3, MSETransportGuidByte5, MSETransportPositionY, MSETransportPositionZ, MSETransportSeat, MSETransportTime2, MSETransportGuidByte6, MSETransportVehicleId, MSETransportTime, MSETransportGuidByte0, MSETransportOrientation, MSETransportGuidByte4, MSETransportGuidByte1, MSEFallVerticalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEOrientation, MSETimestamp, MSESplineElevation, MSEPitch, MSEEnd, }; MovementStatusElements const MovementFeatherFallAck[] = { MSEPositionZ, MSECounter, MSEPositionY, MSEPositionX, MSEZeroBit, MSEHasGuidByte3, MSEHasSplineElevation, MSEHasGuidByte1, MSEHasPitch, MSEHasGuidByte2, MSEHasSpline, MSEHasTimestamp, MSEHasGuidByte5, MSEHasFallData, MSEHasOrientation, MSEHasTransportData, MSEHasGuidByte7, MSEHasMovementFlags2, MSEHasGuidByte6, MSEHasMovementFlags, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportTime3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte7, MSEHasTransportGuidByte3, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasFallDirection, MSEMovementFlags2, MSEMovementFlags, MSEGuidByte6, MSEGuidByte1, MSEGuidByte7, MSEGuidByte0, MSEGuidByte5, MSEGuidByte4, MSEGuidByte3, MSEGuidByte2, MSETransportVehicleId, MSETransportOrientation, MSETransportPositionZ, MSETransportGuidByte7, MSETransportGuidByte5, MSETransportGuidByte2, MSETransportPositionX, MSETransportGuidByte1, MSETransportGuidByte6, MSETransportTime2, MSETransportTime, MSETransportPositionY, MSETransportGuidByte4, MSETransportGuidByte0, MSETransportSeat, MSETransportGuidByte3, MSETimestamp, MSESplineElevation, MSEOrientation, MSEFallVerticalSpeed, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallTime, MSEPitch, MSEEnd, }; MovementStatusElements const MovementGravityDisableAck[] = { MSEPositionZ, MSEPositionY, MSECounter, MSEPositionX, MSEHasGuidByte3, MSEHasTransportData, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasMovementFlags, MSEHasOrientation, MSEHasSpline, MSEHasGuidByte6, MSEHasGuidByte0, MSEHasGuidByte7, MSEHasSplineElevation, MSEHasTimestamp, MSEHasPitch, MSEHasMovementFlags2, MSEZeroBit, MSEHasGuidByte2, MSEHasFallData, MSEHasGuidByte1, MSEHasTransportGuidByte2, MSEHasTransportTime3, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte5, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte6, MSEHasTransportGuidByte4, MSEHasTransportTime2, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte0, MSEGuidByte2, MSEGuidByte1, MSEGuidByte3, MSEGuidByte5, MSEGuidByte7, MSEGuidByte4, MSEGuidByte6, MSETransportPositionZ, MSETransportGuidByte2, MSETransportGuidByte5, MSETransportGuidByte3, MSETransportGuidByte4, MSETransportPositionY, MSETransportTime, MSETransportSeat, MSETransportGuidByte6, MSETransportGuidByte1, MSETransportGuidByte0, MSETransportOrientation, MSETransportTime2, MSETransportPositionX, MSETransportGuidByte7, MSETransportVehicleId, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, MSEOrientation, MSESplineElevation, MSETimestamp, MSEPitch, MSEEnd, }; MovementStatusElements const MovementGravityEnableAck[] = { MSEPositionZ, MSEPositionX, MSECounter, MSEPositionY, MSEHasSplineElevation, MSEHasMovementFlags2, MSEHasGuidByte6, MSEHasOrientation, MSEZeroBit, MSEHasGuidByte5, MSEHasSpline, MSEHasGuidByte3, MSEHasTransportData, MSEHasPitch, MSEHasGuidByte1, MSEHasTimestamp, MSEHasGuidByte2, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasMovementFlags, MSEHasFallData, MSEHasGuidByte0, MSEHasTransportTime3, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte3, MSEHasTransportGuidByte7, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasFallDirection, MSEMovementFlags, MSEMovementFlags2, MSEGuidByte5, MSEGuidByte4, MSEGuidByte1, MSEGuidByte7, MSEGuidByte0, MSEGuidByte2, MSEGuidByte3, MSEGuidByte6, MSEFallTime, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallSinAngle, MSEFallVerticalSpeed, MSETransportGuidByte1, MSETransportPositionX, MSETransportVehicleId, MSETransportOrientation, MSETransportGuidByte2, MSETransportGuidByte0, MSETransportGuidByte7, MSETransportGuidByte6, MSETransportSeat, MSETransportGuidByte3, MSETransportGuidByte4, MSETransportPositionZ, MSETransportTime2, MSETransportGuidByte5, MSETransportTime, MSETransportPositionY, MSESplineElevation, MSEOrientation, MSEPitch, MSETimestamp, MSEEnd, }; MovementStatusElements const MovementHoverAck[] = { MSECounter, MSEPositionZ, MSEPositionY, MSEPositionX, MSEHasGuidByte4, MSEHasTransportData, MSEHasGuidByte2, MSEHasTimestamp, MSEHasSpline, MSEHasMovementFlags, MSEHasGuidByte1, MSEHasPitch, MSEHasGuidByte0, MSEHasGuidByte6, MSEHasGuidByte7, MSEHasGuidByte5, MSEZeroBit, MSEHasFallData, MSEHasMovementFlags2, MSEHasSplineElevation, MSEHasOrientation, MSEHasGuidByte3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEHasTransportTime3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte0, MSEHasTransportGuidByte3, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEHasTransportGuidByte7, MSEHasTransportTime2, MSEMovementFlags, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte1, MSEGuidByte4, MSEGuidByte7, MSEGuidByte2, MSEGuidByte5, MSEGuidByte6, MSEGuidByte3, MSEGuidByte0, MSETimestamp, MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, MSEOrientation, MSETransportGuidByte1, MSETransportVehicleId, MSETransportGuidByte2, MSETransportGuidByte7, MSETransportGuidByte3, MSETransportGuidByte4, MSETransportSeat, MSETransportPositionX, MSETransportPositionZ, MSETransportOrientation, MSETransportTime, MSETransportGuidByte0, MSETransportPositionY, MSETransportGuidByte5, MSETransportTime2, MSETransportGuidByte6, MSESplineElevation, MSEPitch, MSEEnd, }; MovementStatusElements const MovementKnockBackAck[] = { MSEPositionY, MSEPositionZ, MSECounter, MSEPositionX, MSEHasGuidByte6, MSEHasOrientation, MSEHasPitch, MSEHasSplineElevation, MSEHasGuidByte3, MSEHasGuidByte4, MSEHasGuidByte1, MSEHasGuidByte2, MSEHasSpline, MSEHasGuidByte7, MSEZeroBit, MSEHasMovementFlags2, MSEHasTimestamp, MSEHasGuidByte0, MSEHasMovementFlags, MSEHasTransportData, MSEHasGuidByte5, MSEHasFallData, MSEMovementFlags, MSEHasTransportGuidByte4, MSEHasTransportGuidByte1, MSEHasTransportTime2, MSEHasTransportGuidByte0, MSEHasTransportTime3, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte5, MSEHasTransportGuidByte7, MSEMovementFlags2, MSEHasFallDirection, MSEGuidByte4, MSEGuidByte5, MSEGuidByte1, MSEGuidByte6, MSEGuidByte0, MSEGuidByte3, MSEGuidByte2, MSEGuidByte7, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSETimestamp, MSETransportPositionY, MSETransportGuidByte4, MSETransportTime2, MSETransportGuidByte7, MSETransportOrientation, MSETransportGuidByte6, MSETransportTime, MSETransportGuidByte3, MSETransportGuidByte1, MSETransportVehicleId, MSETransportGuidByte2, MSETransportPositionZ, MSETransportGuidByte0, MSETransportGuidByte5, MSETransportPositionX, MSETransportSeat, MSEPitch, MSESplineElevation, MSEOrientation, MSEEnd, }; MovementStatusElements const MovementWaterWalkAck[] = { MSEPositionY, MSEPositionZ, MSECounter, MSEPositionX, MSEHasTimestamp, MSEHasPitch, MSEHasGuidByte5, MSEHasGuidByte0, MSEHasGuidByte7, MSEHasOrientation, MSEHasGuidByte1, MSEHasMovementFlags2, MSEHasGuidByte2, MSEHasMovementFlags, MSEHasGuidByte3, MSEHasTransportData, MSEHasGuidByte6, MSEHasFallData, MSEHasGuidByte4, MSEZeroBit, MSEHasSplineElevation, MSEHasSpline, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportGuidByte3, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEMovementFlags, MSEHasFallDirection, MSEMovementFlags2, MSEGuidByte2, MSEGuidByte7, MSEGuidByte3, MSEGuidByte5, MSEGuidByte6, MSEGuidByte0, MSEGuidByte4, MSEGuidByte1, MSETransportPositionX, MSETransportGuidByte1, MSETransportVehicleId, MSETransportGuidByte0, MSETransportOrientation, MSETransportGuidByte7, MSETransportPositionY, MSETransportTime2, MSETransportTime, MSETransportGuidByte5, MSETransportSeat, MSETransportPositionZ, MSETransportGuidByte3, MSETransportGuidByte2, MSETransportGuidByte6, MSETransportGuidByte4, MSESplineElevation, MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEOrientation, MSETimestamp, MSEPitch, MSEEnd }; MovementStatusElements const MovementUpdateKnockBack[] = { MSEZeroBit, MSEHasGuidByte4, MSEHasMovementFlags, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasGuidByte2, MSEHasGuidByte7, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEHasTransportGuidByte1, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte0, MSEHasTransportGuidByte3, MSEHasGuidByte5, MSEHasGuidByte6, MSEMovementFlags, MSEHasFallDirection, MSEHasOrientation, MSEOrientation, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallCosAngle, MSEFallTime, MSEFallVerticalSpeed, MSEGuidByte3, MSETransportGuidByte5, MSETransportGuidByte7, MSETransportSeat, MSETransportGuidByte3, MSETransportGuidByte6, MSETransportPositionZ, MSETransportGuidByte1, MSETransportPositionY, MSETransportPositionX, MSETransportGuidByte2, MSETransportGuidByte0, MSETransportOrientation, MSETransportTime, MSETransportGuidByte4, MSEPitch, MSEPositionZ, MSETimestamp, MSEPositionX, MSEGuidByte4, MSEGuidByte6, MSEGuidByte7, MSEGuidByte2, MSEGuidByte1, MSEPositionY, MSEGuidByte0, MSEGuidByte5, MSEEnd, }; MovementStatusElements const SplineMoveSetWalkSpeed[] = { MSEHasGuidByte0, MSEHasGuidByte6, MSEHasGuidByte7, MSEHasGuidByte3, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte2, MSEHasGuidByte4, MSEGuidByte0, MSEGuidByte4, MSEGuidByte7, MSEGuidByte1, MSEGuidByte5, MSEGuidByte3, MSEExtraElement, MSEGuidByte6, MSEGuidByte2, MSEEnd, }; MovementStatusElements const SplineMoveSetRunSpeed[] = { MSEHasGuidByte4, MSEHasGuidByte0, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasGuidByte3, MSEHasGuidByte1, MSEHasGuidByte2, MSEGuidByte0, MSEGuidByte7, MSEGuidByte6, MSEGuidByte5, MSEGuidByte3, MSEGuidByte4, MSEExtraElement, MSEGuidByte2, MSEGuidByte1, MSEEnd, }; MovementStatusElements const SplineMoveSetRunBackSpeed[] = { MSEHasGuidByte1, MSEHasGuidByte2, MSEHasGuidByte6, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasGuidByte7, MSEHasGuidByte5, MSEHasGuidByte4, MSEGuidByte1, MSEExtraElement, MSEGuidByte2, MSEGuidByte4, MSEGuidByte0, MSEGuidByte3, MSEGuidByte6, MSEGuidByte5, MSEGuidByte7, MSEEnd, }; MovementStatusElements const SplineMoveSetSwimSpeed[] = { MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte5, MSEHasGuidByte0, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasGuidByte3, MSEHasGuidByte1, MSEGuidByte5, MSEGuidByte6, MSEGuidByte1, MSEGuidByte0, MSEGuidByte2, MSEGuidByte4, MSEExtraElement, MSEGuidByte7, MSEGuidByte3, MSEEnd, }; MovementStatusElements const SplineMoveSetSwimBackSpeed[] = { MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasGuidByte2, MSEGuidByte5, MSEGuidByte3, MSEGuidByte1, MSEGuidByte0, MSEGuidByte7, MSEGuidByte6, MSEExtraElement, MSEGuidByte4, MSEGuidByte2, MSEEnd, }; MovementStatusElements const SplineMoveSetTurnRate[] = { MSEHasGuidByte2, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasGuidByte0, MSEExtraElement, MSEGuidByte1, MSEGuidByte5, MSEGuidByte3, MSEGuidByte2, MSEGuidByte7, MSEGuidByte4, MSEGuidByte6, MSEGuidByte0, MSEEnd, }; MovementStatusElements const SplineMoveSetFlightSpeed[] = { MSEHasGuidByte7, MSEHasGuidByte4, MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasGuidByte5, MSEHasGuidByte2, MSEGuidByte0, MSEGuidByte5, MSEGuidByte4, MSEGuidByte7, MSEGuidByte3, MSEGuidByte2, MSEGuidByte1, MSEGuidByte6, MSEExtraElement, MSEEnd, }; MovementStatusElements const SplineMoveSetFlightBackSpeed[] = { MSEHasGuidByte2, MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte5, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasGuidByte4, MSEHasGuidByte7, MSEGuidByte5, MSEExtraElement, MSEGuidByte6, MSEGuidByte1, MSEGuidByte0, MSEGuidByte2, MSEGuidByte3, MSEGuidByte7, MSEGuidByte4, MSEEnd, }; MovementStatusElements const SplineMoveSetPitchRate[] = { MSEHasGuidByte3, MSEHasGuidByte5, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte2, MSEGuidByte1, MSEGuidByte5, MSEGuidByte7, MSEGuidByte0, MSEGuidByte6, MSEGuidByte3, MSEGuidByte2, MSEExtraElement, MSEGuidByte4, MSEEnd, }; MovementStatusElements const MoveSetWalkSpeed[] = { MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasGuidByte2, MSEHasGuidByte3, MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte7, MSEGuidByte6, MSEGuidByte1, MSEGuidByte5, MSEExtraElement, MSEGuidByte2, MSECounter, MSEGuidByte4, MSEGuidByte0, MSEGuidByte7, MSEGuidByte3, MSEEnd, }; MovementStatusElements const MoveSetRunSpeed[] = { MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte5, MSEHasGuidByte2, MSEHasGuidByte7, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasGuidByte4, MSEGuidByte5, MSEGuidByte3, MSEGuidByte1, MSEGuidByte4, MSECounter, MSEExtraElement, MSEGuidByte6, MSEGuidByte0, MSEGuidByte7, MSEGuidByte2, MSEEnd, }; MovementStatusElements const MoveSetRunBackSpeed[] = { MSEHasGuidByte0, MSEHasGuidByte6, MSEHasGuidByte2, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasGuidByte7, MSEGuidByte5, MSECounter, MSEExtraElement, MSEGuidByte0, MSEGuidByte4, MSEGuidByte7, MSEGuidByte3, MSEGuidByte1, MSEGuidByte2, MSEGuidByte6, MSEEnd, }; MovementStatusElements const MoveSetSwimSpeed[] = { MSEHasGuidByte5, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte3, MSEHasGuidByte2, MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte6, MSEGuidByte0, MSECounter, MSEGuidByte6, MSEGuidByte3, MSEGuidByte5, MSEGuidByte2, MSEExtraElement, MSEGuidByte1, MSEGuidByte7, MSEGuidByte4, MSEEnd, }; MovementStatusElements const MoveSetSwimBackSpeed[] = { MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasGuidByte7, MSECounter, MSEGuidByte0, MSEGuidByte3, MSEGuidByte4, MSEGuidByte6, MSEGuidByte5, MSEGuidByte1, MSEExtraElement, MSEGuidByte7, MSEGuidByte2, MSEEnd, }; MovementStatusElements const MoveSetTurnRate[] = { MSEHasGuidByte7, MSEHasGuidByte2, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte5, MSEHasGuidByte6, MSEHasGuidByte3, MSEGuidByte5, MSEGuidByte7, MSEGuidByte2, MSEExtraElement, MSEGuidByte3, MSEGuidByte1, MSEGuidByte0, MSECounter, MSEGuidByte6, MSEGuidByte4, MSEEnd, }; MovementStatusElements const MoveSetFlightSpeed[] = { MSEHasGuidByte0, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte3, MSEHasGuidByte2, MSEHasGuidByte7, MSEHasGuidByte4, MSEGuidByte0, MSEGuidByte1, MSEGuidByte7, MSEGuidByte5, MSEExtraElement, MSECounter, MSEGuidByte2, MSEGuidByte6, MSEGuidByte3, MSEGuidByte4, MSEEnd, }; MovementStatusElements const MoveSetFlightBackSpeed[] = { MSEHasGuidByte1, MSEHasGuidByte2, MSEHasGuidByte6, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte3, MSEHasGuidByte0, MSEHasGuidByte5, MSEGuidByte3, MSECounter, MSEGuidByte6, MSEExtraElement, MSEGuidByte1, MSEGuidByte2, MSEGuidByte4, MSEGuidByte0, MSEGuidByte5, MSEGuidByte7, MSEEnd, }; MovementStatusElements const MoveSetPitchRate[] = { MSEHasGuidByte1, MSEHasGuidByte2, MSEHasGuidByte6, MSEHasGuidByte7, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasGuidByte5, MSEHasGuidByte4, MSEExtraElement, MSEGuidByte6, MSEGuidByte4, MSEGuidByte0, MSECounter, MSEGuidByte1, MSEGuidByte2, MSEGuidByte7, MSEGuidByte3, MSEGuidByte5, MSEEnd, }; MovementStatusElements const MoveSetCollisionHeight[] = { MSEZeroBit, MSEZeroBit, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte5, MSEHasGuidByte2, MSEHasGuidByte0, MSEHasGuidByte3, MSEGuidByte6, MSEGuidByte0, MSEGuidByte4, MSEGuidByte3, MSEGuidByte5, MSECounter, MSEGuidByte1, MSEGuidByte2, MSEGuidByte7, MSEExtraElement, MSEEnd, }; MovementStatusElements const SplineMoveSetWalkMode[] = { MSEHasGuidByte7, MSEHasGuidByte6, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte0, MSEGuidByte4, MSEGuidByte2, MSEGuidByte1, MSEGuidByte6, MSEGuidByte5, MSEGuidByte0, MSEGuidByte7, MSEGuidByte3, MSEEnd, }; MovementStatusElements const SplineMoveSetRunMode[] = { MSEHasGuidByte5, MSEHasGuidByte6, MSEHasGuidByte3, MSEHasGuidByte7, MSEHasGuidByte2, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte1, MSEGuidByte7, MSEGuidByte0, MSEGuidByte4, MSEGuidByte6, MSEGuidByte5, MSEGuidByte1, MSEGuidByte2, MSEGuidByte3, MSEEnd, }; MovementStatusElements const SplineMoveGravityDisable[] = { MSEHasGuidByte7, MSEHasGuidByte3, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasGuidByte6, MSEGuidByte7, MSEGuidByte1, MSEGuidByte3, MSEGuidByte4, MSEGuidByte6, MSEGuidByte2, MSEGuidByte5, MSEGuidByte0, MSEEnd, }; MovementStatusElements const SplineMoveGravityEnable[] = { MSEHasGuidByte5, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasGuidByte2, MSEHasGuidByte0, MSEGuidByte7, MSEGuidByte3, MSEGuidByte4, MSEGuidByte2, MSEGuidByte1, MSEGuidByte6, MSEGuidByte0, MSEGuidByte5, MSEEnd, }; MovementStatusElements const SplineMoveSetHover[] = { MSEHasGuidByte3, MSEHasGuidByte7, MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasGuidByte2, MSEHasGuidByte5, MSEGuidByte2, MSEGuidByte4, MSEGuidByte3, MSEGuidByte1, MSEGuidByte7, MSEGuidByte0, MSEGuidByte5, MSEGuidByte6, MSEEnd, }; MovementStatusElements const SplineMoveUnsetHover[] = { MSEHasGuidByte6, MSEHasGuidByte7, MSEHasGuidByte4, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasGuidByte1, MSEHasGuidByte5, MSEHasGuidByte2, MSEGuidByte4, MSEGuidByte5, MSEGuidByte3, MSEGuidByte0, MSEGuidByte2, MSEGuidByte7, MSEGuidByte6, MSEGuidByte1, MSEEnd, }; MovementStatusElements const SplineMoveStartSwim[] = { MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte0, MSEHasGuidByte7, MSEHasGuidByte3, MSEHasGuidByte5, MSEHasGuidByte2, MSEHasGuidByte4, MSEGuidByte3, MSEGuidByte7, MSEGuidByte2, MSEGuidByte5, MSEGuidByte6, MSEGuidByte4, MSEGuidByte1, MSEGuidByte0, MSEEnd, }; MovementStatusElements const SplineMoveStopSwim[] = { MSEHasGuidByte4, MSEHasGuidByte1, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasGuidByte0, MSEHasGuidByte7, MSEHasGuidByte2, MSEHasGuidByte6, MSEGuidByte6, MSEGuidByte0, MSEGuidByte7, MSEGuidByte2, MSEGuidByte3, MSEGuidByte1, MSEGuidByte5, MSEGuidByte4, MSEEnd, }; MovementStatusElements const SplineMoveSetFlying[] = { MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte7, MSEHasGuidByte2, MSEHasGuidByte3, MSEHasGuidByte5, MSEGuidByte7, MSEGuidByte0, MSEGuidByte5, MSEGuidByte6, MSEGuidByte4, MSEGuidByte1, MSEGuidByte3, MSEGuidByte2, MSEEnd, }; MovementStatusElements const SplineMoveUnsetFlying[] = { MSEHasGuidByte5, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte2, MSEHasGuidByte3, MSEHasGuidByte1, MSEHasGuidByte6, MSEGuidByte7, MSEGuidByte2, MSEGuidByte3, MSEGuidByte4, MSEGuidByte5, MSEGuidByte1, MSEGuidByte6, MSEGuidByte0, MSEEnd, }; MovementStatusElements const SplineMoveSetWaterWalk[] = { MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte3, MSEHasGuidByte7, MSEHasGuidByte5, MSEHasGuidByte0, MSEGuidByte0, MSEGuidByte6, MSEGuidByte3, MSEGuidByte7, MSEGuidByte4, MSEGuidByte2, MSEGuidByte5, MSEGuidByte1, MSEEnd, }; MovementStatusElements const SplineMoveSetLandWalk[] = { MSEHasGuidByte5, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasGuidByte7, MSEHasGuidByte2, MSEHasGuidByte3, MSEHasGuidByte1, MSEGuidByte5, MSEGuidByte7, MSEGuidByte3, MSEGuidByte4, MSEGuidByte1, MSEGuidByte2, MSEGuidByte0, MSEGuidByte6, MSEEnd, }; MovementStatusElements const SplineMoveSetFeatherFall[] = { MSEHasGuidByte3, MSEHasGuidByte2, MSEHasGuidByte7, MSEHasGuidByte5, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte0, MSEGuidByte1, MSEGuidByte4, MSEGuidByte7, MSEGuidByte6, MSEGuidByte2, MSEGuidByte0, MSEGuidByte5, MSEGuidByte3, MSEEnd, }; MovementStatusElements const SplineMoveSetNormalFall[] = { MSEHasGuidByte3, MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasGuidByte2, MSEHasGuidByte4, MSEGuidByte7, MSEGuidByte6, MSEGuidByte2, MSEGuidByte0, MSEGuidByte5, MSEGuidByte4, MSEGuidByte3, MSEGuidByte1, MSEEnd, }; MovementStatusElements const SplineMoveRoot[] = { MSEHasGuidByte5, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte7, MSEHasGuidByte2, MSEHasGuidByte0, MSEGuidByte2, MSEGuidByte1, MSEGuidByte7, MSEGuidByte3, MSEGuidByte5, MSEGuidByte0, MSEGuidByte6, MSEGuidByte4, MSEEnd, }; MovementStatusElements const SplineMoveUnroot[] = { MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte5, MSEHasGuidByte3, MSEHasGuidByte2, MSEHasGuidByte7, MSEHasGuidByte4, MSEGuidByte6, MSEGuidByte3, MSEGuidByte1, MSEGuidByte5, MSEGuidByte2, MSEGuidByte0, MSEGuidByte7, MSEGuidByte4, MSEEnd, }; MovementStatusElements const MoveSetCanFly[] = { MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte5, MSEHasGuidByte0, MSEHasGuidByte7, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte3, MSEGuidByte6, MSEGuidByte3, MSECounter, MSEGuidByte2, MSEGuidByte1, MSEGuidByte4, MSEGuidByte7, MSEGuidByte0, MSEGuidByte5, MSEEnd, }; MovementStatusElements const MoveUnsetCanFly[] = { MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte5, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasGuidByte6, MSEHasGuidByte7, MSEGuidByte4, MSEGuidByte6, MSECounter, MSEGuidByte1, MSEGuidByte0, MSEGuidByte2, MSEGuidByte3, MSEGuidByte5, MSEGuidByte7, MSEEnd, }; MovementStatusElements const MoveSetHover[] = { MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte3, MSEHasGuidByte0, MSEHasGuidByte5, MSEHasGuidByte6, MSEHasGuidByte7, MSEGuidByte5, MSEGuidByte4, MSEGuidByte1, MSEGuidByte2, MSEGuidByte3, MSEGuidByte6, MSEGuidByte0, MSEGuidByte7, MSECounter, MSEEnd, }; MovementStatusElements const MoveUnsetHover[] = { MSEHasGuidByte4, MSEHasGuidByte6, MSEHasGuidByte3, MSEHasGuidByte1, MSEHasGuidByte2, MSEHasGuidByte7, MSEHasGuidByte5, MSEHasGuidByte0, MSEGuidByte4, MSEGuidByte5, MSEGuidByte3, MSEGuidByte6, MSEGuidByte7, MSEGuidByte1, MSEGuidByte2, MSEGuidByte0, MSECounter, MSEEnd, }; MovementStatusElements const MoveWaterWalk[] = { MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte5, MSEHasGuidByte2, MSEGuidByte0, MSEGuidByte5, MSEGuidByte2, MSECounter, MSEGuidByte7, MSEGuidByte3, MSEGuidByte4, MSEGuidByte1, MSEGuidByte6, MSEEnd, }; MovementStatusElements const MoveLandWalk[] = { MSEHasGuidByte5, MSEHasGuidByte1, MSEHasGuidByte6, MSEHasGuidByte2, MSEHasGuidByte3, MSEHasGuidByte4, MSEHasGuidByte0, MSEHasGuidByte7, MSEGuidByte6, MSEGuidByte1, MSEGuidByte7, MSEGuidByte5, MSEGuidByte4, MSEGuidByte0, MSEGuidByte3, MSEGuidByte2, MSECounter, MSEEnd, }; MovementStatusElements const MoveFeatherFall[] = { MSEHasGuidByte3, MSEHasGuidByte1, MSEHasGuidByte7, MSEHasGuidByte0, MSEHasGuidByte4, MSEHasGuidByte2, MSEHasGuidByte5, MSEHasGuidByte6, MSEGuidByte5, MSEGuidByte7, MSEGuidByte2, MSECounter, MSEGuidByte0, MSEGuidByte3, MSEGuidByte4, MSEGuidByte1, MSEGuidByte6, MSEEnd, }; MovementStatusElements const MoveNormalFall[] = { MSECounter, MSEHasGuidByte3, MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasGuidByte4, MSEHasGuidByte6, MSEHasGuidByte2, MSEGuidByte2, MSEGuidByte7, MSEGuidByte1, MSEGuidByte4, MSEGuidByte5, MSEGuidByte0, MSEGuidByte3, MSEGuidByte6, MSEEnd, }; MovementStatusElements const MoveRoot[] = { MSEHasGuidByte2, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasGuidByte0, MSEHasGuidByte5, MSEHasGuidByte4, MSEHasGuidByte1, MSEHasGuidByte3, MSEGuidByte1, MSEGuidByte0, MSEGuidByte2, MSEGuidByte5, MSECounter, MSEGuidByte3, MSEGuidByte4, MSEGuidByte7, MSEGuidByte6, MSEEnd, }; MovementStatusElements const MoveUnroot[] = { MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte3, MSEHasGuidByte7, MSEHasGuidByte5, MSEHasGuidByte2, MSEHasGuidByte4, MSEHasGuidByte6, MSEGuidByte3, MSEGuidByte6, MSEGuidByte1, MSECounter, MSEGuidByte2, MSEGuidByte0, MSEGuidByte7, MSEGuidByte4, MSEGuidByte5, MSEEnd, }; MovementStatusElements const ChangeSeatsOnControlledVehicle[] = { MSEPositionY, MSEPositionX, MSEPositionZ, MSEExtraElement, MSEHasMovementFlags, MSEHasTransportData, MSEHasGuidByte2, MSEHasGuidByte6, MSEHasGuidByte4, MSEExtraElement, MSEExtraElement, MSEHasOrientation, MSEZeroBit, MSEExtraElement, MSEHasGuidByte7, MSEExtraElement, MSEHasTimestamp, MSEHasSplineElevation, MSEHasGuidByte5, MSEExtraElement, MSEHasMovementFlags2, MSEHasPitch, MSEExtraElement, MSEHasGuidByte0, MSEExtraElement, MSEHasFallData, MSEHasGuidByte1, MSEHasSpline, MSEMovementFlags, MSEExtraElement, MSEHasGuidByte3, MSEHasTransportGuidByte3, MSEHasTransportGuidByte0, MSEHasTransportGuidByte7, MSEHasTransportGuidByte5, MSEHasTransportTime3, MSEHasTransportGuidByte1, MSEHasTransportGuidByte2, MSEHasTransportTime2, MSEHasTransportGuidByte4, MSEHasTransportGuidByte6, MSEMovementFlags2, MSEHasFallDirection, MSEExtraElement, MSEGuidByte7, MSEGuidByte5, MSEExtraElement, MSEExtraElement, MSEGuidByte6, MSEExtraElement, MSEExtraElement, MSEGuidByte3, MSEExtraElement, MSEGuidByte0, MSEExtraElement, MSEGuidByte4, MSEGuidByte1, MSEExtraElement, MSEGuidByte2, MSEPitch, MSEFallCosAngle, MSEFallSinAngle, MSEFallHorizontalSpeed, MSEFallTime, MSEFallVerticalSpeed, MSETransportGuidByte2, MSETransportTime2, MSETransportVehicleId, MSETransportGuidByte0, MSETransportTime, MSETransportSeat, MSETransportPositionX, MSETransportOrientation, MSETransportGuidByte7, MSETransportGuidByte4, MSETransportGuidByte3, MSETransportGuidByte5, MSETransportPositionZ, MSETransportGuidByte1, MSETransportGuidByte6, MSETransportPositionY, MSESplineElevation, MSEOrientation, MSETimestamp, MSEEnd, }; MovementStatusElements const CastSpellEmbeddedMovement[] = { MSEPositionZ, MSEPositionY, MSEPositionX, MSEHasFallData, MSEHasTimestamp, MSEHasOrientation, MSEZeroBit, MSEHasSpline, MSEHasGuidByte6, MSEHasGuidByte4, MSEHasMovementFlags2, MSEHasGuidByte3, MSEHasGuidByte5, MSEHasSplineElevation, MSEHasPitch, MSEHasGuidByte7, MSEHasTransportData, MSEHasGuidByte2, MSEHasMovementFlags, MSEHasGuidByte1, MSEHasGuidByte0, MSEHasTransportGuidByte6, MSEHasTransportGuidByte2, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportGuidByte7, MSEHasTransportGuidByte4, MSEHasTransportTime3, MSEHasTransportGuidByte0, MSEHasTransportGuidByte1, MSEHasTransportGuidByte3, MSEMovementFlags2, MSEMovementFlags, MSEHasFallDirection, MSEGuidByte1, MSEGuidByte4, MSEGuidByte7, MSEGuidByte3, MSEGuidByte0, MSEGuidByte2, MSEGuidByte5, MSEGuidByte6, MSETransportSeat, MSETransportOrientation, MSETransportTime, MSETransportGuidByte6, MSETransportGuidByte5, MSETransportVehicleId, MSETransportPositionX, MSETransportGuidByte4, MSETransportPositionZ, MSETransportGuidByte2, MSETransportGuidByte0, MSETransportTime2, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportPositionY, MSETransportGuidByte7, MSEOrientation, MSESplineElevation, MSEFallTime, MSEFallHorizontalSpeed, MSEFallSinAngle, MSEFallCosAngle, MSEFallVerticalSpeed, MSETimestamp, MSEPitch, MSEEnd, }; MovementStatusElements const MoveGravityDisable[] = { MSEHasGuidByte0, MSEHasGuidByte1, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasGuidByte6, MSEHasGuidByte4, MSEHasGuidByte3, MSEHasGuidByte2, MSEGuidByte7, MSEGuidByte2, MSEGuidByte0, MSECounter, MSEGuidByte5, MSEGuidByte1, MSEGuidByte3, MSEGuidByte4, MSEGuidByte6, MSEEnd, }; MovementStatusElements const MoveGravityEnable[] = { MSEHasGuidByte1, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte5, MSEHasGuidByte2, MSEHasGuidByte0, MSEHasGuidByte3, MSEHasGuidByte6, MSEGuidByte3, MSECounter, MSEGuidByte7, MSEGuidByte6, MSEGuidByte4, MSEGuidByte0, MSEGuidByte1, MSEGuidByte5, MSEGuidByte2, MSEEnd, }; MovementStatusElements const MoveUpdateFlightBackSpeed[] = { MSEPositionY, MSEExtraElement, MSEPositionX, MSEPositionZ, MSEHasGuidByte6, MSEHasGuidByte4, MSEHasPitch, MSEHasGuidByte7, MSEHasGuidByte1, MSEHasTransportData, MSEHasTransportTime3, MSEHasTransportGuidByte4, MSEHasTransportGuidByte7, MSEHasTransportGuidByte6, MSEHasTransportGuidByte0, MSEOneBit, // has_transport_time MSEHasTransportGuidByte2, MSEHasTransportGuidByte3, MSEHasTransportGuidByte5, MSEHasTransportTime2, MSEHasTransportGuidByte1, MSEHasGuidByte5, MSEHasGuidByte0, MSEHasTimestamp, MSEHasMovementFlags, MSEMovementFlags, MSEHasGuidByte3, MSEHasMovementFlags2, MSEZeroBit, // height_change_failed MSEHasSplineElevation, MSEMovementFlags2, MSEHasGuidByte2, MSEHasFallData, MSEHasOrientation, MSEHasFallDirection, MSEFallCosAngle, MSEFallSinAngle, MSEFallVerticalSpeed, MSEFallTime, MSEFallHorizontalSpeed, MSETransportPositionX, MSETransportTime, MSETransportOrientation, MSETransportGuidByte5, MSETransportPositionZ, MSETransportVehicleId, MSETransportGuidByte7, MSETransportGuidByte1, MSETransportGuidByte3, MSETransportGuidByte6, MSETransportGuidByte0, MSETransportGuidByte2, MSETransportPositionY, MSETransportGuidByte4, MSEGuidByte1, MSEGuidByte4, MSEOrientation, MSEGuidByte5, MSETimestamp, MSESplineElevation, MSEGuidByte6, MSEPitch, MSEGuidByte3, MSEGuidByte2, MSEGuidByte0, MSEGuidByte7, MSEEnd }; MovementStatusElements const MoveSetCanTransitionBetweenSwimAndFly[] = { MSEHasGuidByte4, MSEHasGuidByte5, MSEHasGuidByte7, MSEHasGuidByte0, MSEHasGuidByte2, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte3, MSEGuidByte0, MSEGuidByte6, MSEGuidByte1, MSEGuidByte2, MSEGuidByte5, MSEGuidByte4, MSEGuidByte7, MSECounter, MSEGuidByte3, MSEEnd, }; MovementStatusElements const MoveUnsetCanTransitionBetweenSwimAndFly[] = { MSEHasGuidByte3, MSEHasGuidByte4, MSEHasGuidByte7, MSEHasGuidByte0, MSEHasGuidByte6, MSEHasGuidByte1, MSEHasGuidByte5, MSEHasGuidByte2, MSEGuidByte5, MSEGuidByte2, MSEGuidByte7, MSEGuidByte0, MSECounter, MSEGuidByte6, MSEGuidByte4, MSEGuidByte3, MSEGuidByte1, MSEEnd, }; void Movement::ExtraMovementStatusElement::ReadNextElement(ByteBuffer& packet) { MovementStatusElements const element = _elements[_index++]; switch (element) { case MSEHasGuidByte0: case MSEHasGuidByte1: case MSEHasGuidByte2: case MSEHasGuidByte3: case MSEHasGuidByte4: case MSEHasGuidByte5: case MSEHasGuidByte6: case MSEHasGuidByte7: Data.guid[element - MSEHasGuidByte0] = packet.ReadBit(); break; case MSEGuidByte0: case MSEGuidByte1: case MSEGuidByte2: case MSEGuidByte3: case MSEGuidByte4: case MSEGuidByte5: case MSEGuidByte6: case MSEGuidByte7: packet.ReadByteSeq(Data.guid[element - MSEGuidByte0]); break; case MSEExtraFloat: packet >> Data.floatData; break; case MSEExtraInt8: packet >> Data.byteData; break; default: ASSERT(PrintInvalidSequenceElement(element, __FUNCTION__)); break; } } void Movement::ExtraMovementStatusElement::WriteNextElement(ByteBuffer& packet) { MovementStatusElements const element = _elements[_index++]; switch (element) { case MSEHasGuidByte0: case MSEHasGuidByte1: case MSEHasGuidByte2: case MSEHasGuidByte3: case MSEHasGuidByte4: case MSEHasGuidByte5: case MSEHasGuidByte6: case MSEHasGuidByte7: packet.WriteBit(Data.guid[element - MSEHasGuidByte0]); break; case MSEGuidByte0: case MSEGuidByte1: case MSEGuidByte2: case MSEGuidByte3: case MSEGuidByte4: case MSEGuidByte5: case MSEGuidByte6: case MSEGuidByte7: packet.WriteByteSeq(Data.guid[element - MSEGuidByte0]); break; case MSEExtraFloat: packet << Data.floatData; break; case MSEExtraInt8: packet << Data.byteData; break; default: ASSERT(PrintInvalidSequenceElement(element, __FUNCTION__)); break; } } bool Movement::PrintInvalidSequenceElement(MovementStatusElements const element, char const* function) { TC_LOG_ERROR("entities.unit", "Incorrect sequence element %d detected at %s", element, function); return false; } Movement::PacketSender::PacketSender(Unit* unit, uint16 serverControl, uint16 playerControl, uint16 broadcast /*= SMSG_PLAYER_MOVE*/, ExtraMovementStatusElement* extras /*= nullptr*/) : _extraElements(extras), _unit(unit) { if (unit->GetTypeId() == TYPEID_PLAYER && unit->ToPlayer()->m_unitMovedByMe->GetTypeId() == TYPEID_PLAYER) { _selfOpcode = playerControl; _broadcast = broadcast; } else { _selfOpcode = NULL_OPCODE; _broadcast = serverControl; } } void Movement::PacketSender::Send() const { bool isPlayerMovement = false; if (Player* player = _unit->ToPlayer()) { isPlayerMovement = player->m_unitMovedByMe->GetTypeId() == TYPEID_PLAYER; if (isPlayerMovement && _selfOpcode != NULL_OPCODE) { WorldPacket data(_selfOpcode); _unit->WriteMovementInfo(data, _extraElements); player->SendDirectMessage(&data); } } if (_broadcast != NULL_OPCODE) { ///! Need to reset current extra element index before writing another packet if (_extraElements) _extraElements->ResetIndex(); WorldPacket data(_broadcast); _unit->WriteMovementInfo(data, _extraElements); _unit->SendMessageToSet(&data, !isPlayerMovement); } } MovementStatusElements const* GetMovementStatusElementsSequence(Opcodes opcode) { switch (opcode) { case MSG_MOVE_FALL_LAND: return MovementFallLand; case MSG_MOVE_HEARTBEAT: return MovementHeartBeat; case MSG_MOVE_JUMP: return MovementJump; case MSG_MOVE_SET_FACING: return MovementSetFacing; case MSG_MOVE_SET_PITCH: return MovementSetPitch; case MSG_MOVE_START_ASCEND: return MovementStartAscend; case MSG_MOVE_START_BACKWARD: return MovementStartBackward; case MSG_MOVE_START_DESCEND: return MovementStartDescend; case MSG_MOVE_START_FORWARD: return MovementStartForward; case MSG_MOVE_START_PITCH_DOWN: return MovementStartPitchDown; case MSG_MOVE_START_PITCH_UP: return MovementStartPitchUp; case MSG_MOVE_START_STRAFE_LEFT: return MovementStartStrafeLeft; case MSG_MOVE_START_STRAFE_RIGHT: return MovementStartStrafeRight; case MSG_MOVE_START_SWIM: return MovementStartSwim; case MSG_MOVE_START_TURN_LEFT: return MovementStartTurnLeft; case MSG_MOVE_START_TURN_RIGHT: return MovementStartTurnRight; case MSG_MOVE_STOP: return MovementStop; case MSG_MOVE_STOP_ASCEND: return MovementStopAscend; case MSG_MOVE_STOP_PITCH: return MovementStopPitch; case MSG_MOVE_STOP_STRAFE: return MovementStopStrafe; case MSG_MOVE_STOP_SWIM: return MovementStopSwim; case MSG_MOVE_STOP_TURN: return MovementStopTurn; case SMSG_PLAYER_MOVE: return PlayerMove; case CMSG_MOVE_CHNG_TRANSPORT: return MoveChngTransport; case CMSG_MOVE_SPLINE_DONE: return MoveSplineDone; case CMSG_MOVE_NOT_ACTIVE_MOVER: return MoveNotActiveMover; case CMSG_DISMISS_CONTROLLED_VEHICLE: return DismissControlledVehicle; case SMSG_MOVE_UPDATE_TELEPORT: return MoveUpdateTeleport; case CMSG_FORCE_MOVE_ROOT_ACK: return ForceMoveRootAck; case CMSG_FORCE_MOVE_UNROOT_ACK: return ForceMoveUnrootAck; case CMSG_MOVE_FALL_RESET: return MovementFallReset; case CMSG_MOVE_FEATHER_FALL_ACK: return MovementFeatherFallAck; case CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK: return MovementForceFlightSpeedChangeAck; case CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK: return MovementForceRunBackSpeedChangeAck; case CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK: return MovementForceRunSpeedChangeAck; case CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK: return MovementForceSwimSpeedChangeAck; case CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK: return MoveForceSwimBackSpeedChangeAck; case CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK: return MoveForceFlightBackSpeedChangeAck; case CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK: return MovementForceWalkSpeedChangeAck; case CMSG_MOVE_GRAVITY_DISABLE_ACK: return MovementGravityDisableAck; case CMSG_MOVE_GRAVITY_ENABLE_ACK: return MovementGravityEnableAck; case CMSG_MOVE_HOVER_ACK: return MovementHoverAck; case CMSG_MOVE_KNOCK_BACK_ACK: return MovementKnockBackAck; case CMSG_MOVE_SET_CAN_FLY: return MovementSetCanFly; case CMSG_MOVE_SET_CAN_FLY_ACK: return MovementSetCanFlyAck; case CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK: return MovementSetCanTransitionBetweenSwimAndFlyAck; case SMSG_MOVE_SET_COLLISION_HEIGHT: return MoveSetCollisionHeight; case CMSG_MOVE_SET_COLLISION_HEIGHT_ACK: return MovementSetCollisionHeightAck; case SMSG_MOVE_UPDATE_COLLISION_HEIGHT: return MovementUpdateCollisionHeight; case CMSG_MOVE_WATER_WALK_ACK: return MovementWaterWalkAck; case MSG_MOVE_SET_RUN_MODE: return MovementSetRunMode; case MSG_MOVE_SET_WALK_MODE: return MovementSetWalkMode; case SMSG_MOVE_UPDATE_FLIGHT_SPEED: return MovementUpdateFlightSpeed; case SMSG_MOVE_UPDATE_RUN_SPEED: return MovementUpdateRunSpeed; case SMSG_MOVE_UPDATE_KNOCK_BACK: return MovementUpdateKnockBack; case SMSG_MOVE_UPDATE_RUN_BACK_SPEED: return MovementUpdateRunBackSpeed; case SMSG_MOVE_UPDATE_SWIM_SPEED: return MovementUpdateSwimSpeed; case SMSG_MOVE_UPDATE_SWIM_BACK_SPEED: return MoveUpdateSwimBackSpeed; case SMSG_MOVE_UPDATE_WALK_SPEED: return MovementUpdateWalkSpeed; case SMSG_SPLINE_MOVE_SET_WALK_SPEED: return SplineMoveSetWalkSpeed; case SMSG_SPLINE_MOVE_SET_RUN_SPEED: return SplineMoveSetRunSpeed; case SMSG_SPLINE_MOVE_SET_RUN_BACK_SPEED: return SplineMoveSetRunBackSpeed; case SMSG_SPLINE_MOVE_SET_SWIM_SPEED: return SplineMoveSetSwimSpeed; case SMSG_SPLINE_MOVE_SET_SWIM_BACK_SPEED: return SplineMoveSetSwimBackSpeed; case SMSG_SPLINE_MOVE_SET_TURN_RATE: return SplineMoveSetTurnRate; case SMSG_SPLINE_MOVE_SET_FLIGHT_SPEED: return SplineMoveSetFlightSpeed; case SMSG_SPLINE_MOVE_SET_FLIGHT_BACK_SPEED: return SplineMoveSetFlightBackSpeed; case SMSG_SPLINE_MOVE_SET_PITCH_RATE: return SplineMoveSetPitchRate; case SMSG_MOVE_SET_WALK_SPEED: return MoveSetWalkSpeed; case SMSG_MOVE_SET_RUN_SPEED: return MoveSetRunSpeed; case SMSG_MOVE_SET_RUN_BACK_SPEED: return MoveSetRunBackSpeed; case SMSG_MOVE_SET_SWIM_SPEED: return MoveSetSwimSpeed; case SMSG_MOVE_SET_SWIM_BACK_SPEED: return MoveSetSwimBackSpeed; case SMSG_MOVE_SET_TURN_RATE: return MoveSetTurnRate; case SMSG_MOVE_SET_FLIGHT_SPEED: return MoveSetFlightSpeed; case SMSG_MOVE_SET_FLIGHT_BACK_SPEED: return MoveSetFlightBackSpeed; case SMSG_MOVE_SET_PITCH_RATE: return MoveSetPitchRate; case SMSG_SPLINE_MOVE_SET_WALK_MODE: return SplineMoveSetWalkMode; case SMSG_SPLINE_MOVE_SET_RUN_MODE: return SplineMoveSetRunMode; case SMSG_SPLINE_MOVE_GRAVITY_DISABLE: return SplineMoveGravityDisable; case SMSG_SPLINE_MOVE_GRAVITY_ENABLE: return SplineMoveGravityEnable; case SMSG_SPLINE_MOVE_SET_HOVER: return SplineMoveSetHover; case SMSG_SPLINE_MOVE_UNSET_HOVER: return SplineMoveUnsetHover; case SMSG_SPLINE_MOVE_START_SWIM: return SplineMoveStartSwim; case SMSG_SPLINE_MOVE_STOP_SWIM: return SplineMoveStopSwim; case SMSG_SPLINE_MOVE_SET_FLYING: return SplineMoveSetFlying; case SMSG_SPLINE_MOVE_UNSET_FLYING: return SplineMoveUnsetFlying; case SMSG_SPLINE_MOVE_SET_WATER_WALK: return SplineMoveSetWaterWalk; case SMSG_SPLINE_MOVE_SET_LAND_WALK: return SplineMoveSetLandWalk; case SMSG_SPLINE_MOVE_SET_FEATHER_FALL: return SplineMoveSetFeatherFall; case SMSG_SPLINE_MOVE_SET_NORMAL_FALL: return SplineMoveSetNormalFall; case SMSG_SPLINE_MOVE_ROOT: return SplineMoveRoot; case SMSG_SPLINE_MOVE_UNROOT: return SplineMoveUnroot; case SMSG_MOVE_SET_CAN_FLY: return MoveSetCanFly; case SMSG_MOVE_UNSET_CAN_FLY: return MoveUnsetCanFly; case SMSG_MOVE_SET_HOVER: return MoveSetHover; case SMSG_MOVE_UNSET_HOVER: return MoveUnsetHover; case SMSG_MOVE_WATER_WALK: return MoveWaterWalk; case SMSG_MOVE_LAND_WALK: return MoveLandWalk; case SMSG_MOVE_FEATHER_FALL: return MoveFeatherFall; case SMSG_MOVE_NORMAL_FALL: return MoveNormalFall; case SMSG_MOVE_ROOT: return MoveRoot; case SMSG_MOVE_UNROOT: return MoveUnroot; case CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE: return ChangeSeatsOnControlledVehicle; case CMSG_CAST_SPELL: case CMSG_PET_CAST_SPELL: case CMSG_USE_ITEM: return CastSpellEmbeddedMovement; case SMSG_MOVE_GRAVITY_DISABLE: return MoveGravityDisable; case SMSG_MOVE_GRAVITY_ENABLE: return MoveGravityEnable; case SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED: return MoveUpdateFlightBackSpeed; case SMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY: return MoveSetCanTransitionBetweenSwimAndFly; case SMSG_MOVE_UNSET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY: return MoveUnsetCanTransitionBetweenSwimAndFly; default: break; } return nullptr; }