aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Movement/MovementStructures.h80
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
2 files changed, 81 insertions, 1 deletions
diff --git a/src/server/game/Movement/MovementStructures.h b/src/server/game/Movement/MovementStructures.h
index 501f920003d..0241edc1706 100644
--- a/src/server/game/Movement/MovementStructures.h
+++ b/src/server/game/Movement/MovementStructures.h
@@ -1776,6 +1776,84 @@ MovementStatusElements MovementStartPitchUpSequence[] =
MSEEnd,
};
+MovementStatusElements 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,
+ MSETransportTime3,
+ MSETransportTime,
+ MSETransportGuidByte7,
+ MSETransportGuidByte5,
+ MSETransportGuidByte4,
+ MSETransportOrientation,
+ MSETransportTime2,
+
+ MSEFallTime,
+ MSEFallHorizontalSpeed,
+ MSEFallCosAngle,
+ MSEFallSinAngle,
+ MSEFallVerticalSpeed,
+
+ MSEOrientation,
+ MSEPitch,
+ MSESplineElevation,
+ MSETimestamp,
+ MSEEnd,
+};
+
MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode)
{
switch (opcode)
@@ -1826,6 +1904,8 @@ MovementStatusElements* GetMovementStatusElementsSequence(Opcodes opcode)
return MovementStopTurnSequence;
case SMSG_PLAYER_MOVE:
return PlayerMoveSequence;
+ case CMSG_MOVE_CHNG_TRANSPORT:
+ return MoveChngTransport;
default:
break;
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 86d04aa0285..a06296536ff 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -431,7 +431,7 @@ void InitOpcodes()
//DEFINE_OPCODE_HANDLER(CMSG_MOUNTSPECIAL_ANIM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleMountSpecialAnimOpcode );
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_CHARACTER_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_CHARM_PORT_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL );
- //DEFINE_OPCODE_HANDLER(CMSG_MOVE_CHNG_TRANSPORT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
+ DEFINE_OPCODE_HANDLER(CMSG_MOVE_CHNG_TRANSPORT, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_FALL_RESET, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes );
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_FEATHER_FALL_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleFeatherFallAck );
//DEFINE_OPCODE_HANDLER(CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleForceSpeedChangeAck );