From 2018857e89f0df9a33602fb8f510b0bef3f507ae Mon Sep 17 00:00:00 2001 From: zamalaev Date: Wed, 19 Feb 2020 23:25:25 +0000 Subject: [PATCH] MSG_MOVE_START_ASCEND/DESCEND/SWIM 5.4.8 18414 --- src/game/Server/Opcodes.cpp | 6 +- src/game/Server/Opcodes.h | 6 +- src/game/movement/MovementStructures.h | 269 +++++++++++++------------ 3 files changed, 147 insertions(+), 134 deletions(-) diff --git a/src/game/Server/Opcodes.cpp b/src/game/Server/Opcodes.cpp index 13d6169d5..aadced4b2 100644 --- a/src/game/Server/Opcodes.cpp +++ b/src/game/Server/Opcodes.cpp @@ -275,7 +275,7 @@ void InitializeOpcodes() OPCODE(CMSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMoveTeleportAckOpcode ); //OPCODE(MSG_MOVE_TOGGLE_FALL_LOGGING, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); OPCODE(MSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); - OPCODE(CMSG_MOVE_START_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); + OPCODE(MSG_MOVE_START_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); OPCODE(CMSG_MOVE_STOP_SWIM, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); //OPCODE(MSG_MOVE_SET_RUN_SPEED_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); OPCODE(SMSG_MOVE_SET_RUN_SPEED, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); @@ -944,7 +944,7 @@ void InitializeOpcodes() OPCODE(CMSG_ARENA_TEAM_LEADER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleArenaTeamLeaderOpcode ); OPCODE(SMSG_ARENA_TEAM_EVENT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); OPCODE(CMSG_BATTLEMASTER_JOIN_ARENA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleBattlemasterJoinArena ); - OPCODE(CMSG_MOVE_START_ASCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); + OPCODE(MSG_MOVE_START_ASCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); OPCODE(CMSG_MOVE_STOP_ASCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); OPCODE(SMSG_ARENA_TEAM_STATS, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(CMSG_LFG_JOIN, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleLfgJoinOpcode ); @@ -1022,7 +1022,7 @@ void InitializeOpcodes() //OPCODE(SMSG_SET_EXTRA_AURA_INFO_OBSOLETE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE_OBSOLETE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_CLEAR_EXTRA_AURA_INFO_OBSOLETE, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); - OPCODE(CMSG_MOVE_START_DESCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); + OPCODE(MSG_MOVE_START_DESCEND, STATUS_LOGGEDIN, PROCESS_THREADSAFE, &WorldSession::HandleMovementOpcodes ); //OPCODE(CMSG_IGNORE_REQUIREMENTS_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_NULL ); //OPCODE(SMSG_IGNORE_REQUIREMENTS_CHEAT, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); //OPCODE(SMSG_SPELL_CHANCE_PROC_LOG, STATUS_NEVER, PROCESS_INPLACE, &WorldSession::Handle_ServerSide ); diff --git a/src/game/Server/Opcodes.h b/src/game/Server/Opcodes.h index 11eab269a..62c68fd21 100644 --- a/src/game/Server/Opcodes.h +++ b/src/game/Server/Opcodes.h @@ -268,7 +268,7 @@ enum Opcodes CMSG_MOVE_TELEPORT_ACK = 0x390C, // 4.3.4 15595 MSG_MOVE_TOGGLE_FALL_LOGGING = 0x10C9, MSG_MOVE_FALL_LAND = 0x08FA, // 5.4.8 18414 - CMSG_MOVE_START_SWIM = 0x0FC8, // 5.4.1 17538 + MSG_MOVE_START_SWIM = 0x1858, // 5.4.8 18414 CMSG_MOVE_STOP_SWIM = 0x0FC9, // 5.4.1 17538 MSG_MOVE_SET_RUN_SPEED_CHEAT = 0x10CD, SMSG_MOVE_SET_RUN_SPEED = 0x0758, // 5.3.0 17128 @@ -926,7 +926,7 @@ enum Opcodes CMSG_ARENA_TEAM_LEADER = 0x4204, // 4.3.4 15595 SMSG_ARENA_TEAM_EVENT = 0x0617, // 4.3.4 15595 CMSG_BATTLEMASTER_JOIN_ARENA = 0x701C, // 4.3.4 15595 - CMSG_MOVE_START_ASCEND = 0x390A, + MSG_MOVE_START_ASCEND = 0x11FA, // 5.4.8 18414 CMSG_MOVE_STOP_ASCEND = 0x7B00, // 4.3.4 15595 SMSG_ARENA_TEAM_STATS = 0x4425, // 4.3.4 15595 CMSG_LFG_JOIN = 0x2430, // 4.3.4 15595 @@ -1004,7 +1004,7 @@ enum Opcodes SMSG_SET_EXTRA_AURA_INFO_OBSOLETE = 0x13A5, SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE_OBSOLETE = 0x13A6, SMSG_CLEAR_EXTRA_AURA_INFO_OBSOLETE = 0x13A7, - CMSG_MOVE_START_DESCEND = 0x3800, // 4.3.4 15595 + MSG_MOVE_START_DESCEND = 0x01D1, // 5.4.8 18414 CMSG_IGNORE_REQUIREMENTS_CHEAT = 0x13A9, SMSG_IGNORE_REQUIREMENTS_CHEAT = 0x13AA, SMSG_SPELL_CHANCE_PROC_LOG = 0x13AB, diff --git a/src/game/movement/MovementStructures.h b/src/game/movement/MovementStructures.h index 0095499df..eb717c8ec 100644 --- a/src/game/movement/MovementStructures.h +++ b/src/game/movement/MovementStructures.h @@ -1240,217 +1240,230 @@ MovementStatusElements MovementStopTurnSequence[] = MovementStatusElements MovementStartAscendSequence[] = { - MSEPositionX, MSEPositionY, + MSEPositionX, MSEPositionZ, + MSEHasOrientation, + MSEGuidBit3, + MSEHasTransportData, + MSEHasMovementFlags, + MSEHasUnknownBit, MSEGuidBit0, - MSEGuidBit1, + MSEGuidBit4, + MSEHasTimestamp, MSEGuidBit7, MSEHasUnknownBit, + MSEHasPitch, MSEGuidBit5, - MSEHasTransportData, + MSEHasMovementFlags2, + MSEHasUnknownBit, + MSEGuidBit6, MSEGuidBit2, + MSEHasUnkTime, + MSECounterCount, + MSEGuidBit1, MSEHasSplineElevation, MSEHasFallData, - MSEHasSpline, - MSEGuidBit3, - MSEHasMovementFlags2, - MSEGuidBit6, - MSEHasMovementFlags, - MSEHasPitch, - MSEHasTimestamp, - MSEHasOrientation, - MSEGuidBit4, - MSEFlags, + MSETransportGuidBit4, MSETransportGuidBit0, - MSETransportGuidBit2, + MSETransportGuidBit3, + MSETransportGuidBit5, + MSEHasTransportTime2, + MSETransportGuidBit1, MSEHasTransportTime3, MSETransportGuidBit6, - MSETransportGuidBit1, - MSETransportGuidBit4, - MSEHasTransportTime2, - MSETransportGuidBit5, - MSETransportGuidBit3, + MSETransportGuidBit2, MSETransportGuidBit7, - MSEFlags2, MSEHasFallDirection, + MSEFlags2, + MSEFlags, + MSEGuidByte2, + MSEGuidByte5, + MSEMovementCounter, + MSEGuidByte1, + MSEGuidByte0, + MSEGuidByte4, + MSEGuidByte7, MSEGuidByte6, MSEGuidByte3, - MSEGuidByte1, - MSEGuidByte4, - MSEGuidByte2, - MSEGuidByte0, - MSEGuidByte5, - MSEGuidByte7, + MSEPositionO, + MSETimestamp, MSETransportGuidByte3, - MSETransportGuidByte5, - MSETransportGuidByte4, - MSETransportSeat, - MSETransportGuidByte2, - MSETransportPositionO, - MSETransportPositionY, - MSETransportGuidByte7, - MSETransportTime2, - MSETransportPositionZ, - MSETransportTime3, - MSETransportGuidByte6, MSETransportTime, - MSETransportGuidByte0, - MSETransportGuidByte1, + MSETransportPositionY, + MSETransportPositionO, + MSETransportGuidByte6, + MSETransportTime3, MSETransportPositionX, - MSEFallCosAngle, + MSETransportGuidByte2, + MSETransportTime2, + MSETransportGuidByte1, + MSETransportGuidByte7, + MSETransportPositionZ, + MSETransportSeat, + MSETransportGuidByte0, + MSETransportGuidByte4, + MSETransportGuidByte5, + MSESplineElevation, + MSEFallVerticalSpeed, MSEFallSinAngle, + MSEFallCosAngle, MSEFallHorizontalSpeed, MSEFallTime, - MSEFallVerticalSpeed, - MSEPositionO, MSEPitch, - MSETimestamp, - MSESplineElevation, + MSEUnkTime, MSEEnd, }; MovementStatusElements MovementStartDescendSequence[] = { + MSEPositionX, MSEPositionY, MSEPositionZ, - MSEPositionX, - MSEGuidBit0, - MSEHasPitch, MSEHasFallData, - MSEGuidBit4, - MSEHasOrientation, - MSEHasTimestamp, - MSEHasMovementFlags2, MSEHasMovementFlags, - MSEGuidBit6, - MSEHasUnknownBit, - MSEGuidBit1, - MSEHasTransportData, - MSEHasSpline, - MSEHasSplineElevation, - MSEGuidBit5, - MSEGuidBit3, MSEGuidBit7, + MSEGuidBit0, + MSEGuidBit4, + MSEHasMovementFlags2, + MSEHasPitch, + MSEGuidBit6, MSEGuidBit2, + MSEHasUnknownBit, + MSEHasUnkTime, + MSECounterCount, + MSEHasTransportData, + MSEHasOrientation, + MSEGuidBit1, + MSEHasUnknownBit, + MSEHasUnknownBit, + MSEGuidBit3, + MSEGuidBit5, + MSEHasSplineElevation, + MSEHasTimestamp, MSETransportGuidBit0, - MSETransportGuidBit1, - MSETransportGuidBit2, MSEHasTransportTime3, MSETransportGuidBit7, - MSETransportGuidBit4, - MSETransportGuidBit6, MSEHasTransportTime2, - MSETransportGuidBit3, + MSETransportGuidBit1, + MSETransportGuidBit4, MSETransportGuidBit5, + MSETransportGuidBit3, + MSETransportGuidBit6, + MSETransportGuidBit2, MSEFlags2, MSEFlags, MSEHasFallDirection, - MSEGuidByte2, + MSEGuidByte4, MSEGuidByte7, + MSEGuidByte1, + MSEGuidByte3, + MSEMovementCounter, + MSEGuidByte2, MSEGuidByte6, MSEGuidByte0, - MSEGuidByte1, MSEGuidByte5, - MSEGuidByte4, - MSEGuidByte3, - MSEPitch, - MSETransportPositionZ, - MSETransportSeat, - MSETransportTime3, - MSETransportGuidByte6, - MSETransportTime2, + MSETransportPositionX, + MSETransportGuidByte0, + MSETransportGuidByte3, + MSETransportGuidByte7, + MSETransportGuidByte5, MSETransportGuidByte1, + MSETransportPositionY, + MSETransportTime3, MSETransportTime, MSETransportGuidByte4, - MSETransportPositionY, - MSETransportPositionX, - MSETransportGuidByte7, - MSETransportGuidByte3, - MSETransportGuidByte5, - MSETransportGuidByte2, + MSETransportTime2, MSETransportPositionO, - MSETransportGuidByte0, + MSETransportPositionZ, + MSETransportGuidByte2, + MSETransportGuidByte6, MSEFallTime, - MSEFallSinAngle, MSEFallCosAngle, MSEFallHorizontalSpeed, + MSEFallSinAngle, MSEFallVerticalSpeed, - MSETimestamp, - MSEPositionO, + MSEPitch, + MSEUnkTime, MSESplineElevation, + MSEPositionO, + MSETimestamp, MSEEnd, }; MovementStatusElements MovementStartSwimSequence[] = { - MSEPositionZ, MSEPositionX, MSEPositionY, - MSEGuidBit3, + MSEPositionZ, MSEHasSplineElevation, - MSEGuidBit4, - MSEGuidBit7, - MSEHasUnknownBit, - MSEHasPitch, - MSEGuidBit0, - MSEHasOrientation, - MSEHasMovementFlags, - MSEHasFallData, - MSEGuidBit5, MSEHasTransportData, + MSEGuidBit2, + MSEHasUnknownBit, MSEHasMovementFlags2, + MSECounterCount, + MSEHasPitch, MSEHasTimestamp, + MSEGuidBit3, + MSEHasUnknownBit, MSEGuidBit6, MSEGuidBit1, - MSEHasSpline, - MSEGuidBit2, - MSETransportGuidBit2, - MSETransportGuidBit3, - MSETransportGuidBit7, - MSETransportGuidBit5, - MSETransportGuidBit4, - MSETransportGuidBit0, + MSEHasFallData, + MSEHasUnkTime, + MSEHasUnknownBit, + MSEGuidBit7, + MSEGuidBit0, + MSEHasOrientation, + MSEGuidBit5, + MSEHasMovementFlags, + MSEGuidBit4, MSEHasTransportTime2, + MSETransportGuidBit2, + MSETransportGuidBit7, MSETransportGuidBit6, + MSETransportGuidBit5, MSETransportGuidBit1, + MSETransportGuidBit4, MSEHasTransportTime3, + MSETransportGuidBit0, + MSETransportGuidBit3, MSEFlags, MSEHasFallDirection, MSEFlags2, - MSEGuidByte0, - MSEGuidByte2, - MSEGuidByte1, MSEGuidByte5, - MSEGuidByte4, - MSEGuidByte6, - MSEGuidByte3, + MSEGuidByte0, + MSEMovementCounter, MSEGuidByte7, - MSEPitch, - MSETransportTime2, - MSETransportGuidByte2, - MSETransportPositionY, + MSEGuidByte3, + MSEGuidByte4, + MSEGuidByte1, + MSEGuidByte6, + MSEGuidByte2, MSETransportGuidByte3, - MSETransportTime, MSETransportPositionX, - MSETransportPositionO, - MSETransportTime3, - MSETransportGuidByte6, - MSETransportGuidByte5, - MSETransportGuidByte4, - MSETransportPositionZ, - MSETransportGuidByte1, MSETransportGuidByte7, MSETransportGuidByte0, - MSETransportSeat, + MSETransportPositionY, + MSETransportTime2, + MSETransportGuidByte6, + MSETransportGuidByte4, + MSETransportGuidByte1, + MSETransportGuidByte2, + MSETransportPositionZ, + MSETransportTime, + MSETransportPositionO, + MSETransportTime3, + MSETransportGuidByte5, MSEFallCosAngle, - MSEFallHorizontalSpeed, MSEFallSinAngle, - MSEFallVerticalSpeed, + MSEFallHorizontalSpeed, MSEFallTime, - MSEPositionO, + MSEFallVerticalSpeed, MSETimestamp, MSESplineElevation, + MSEPositionO, + MSEUnkTime, + MSEPitch, MSEEnd, }; @@ -2666,11 +2679,11 @@ MovementStatusElements* GetMovementStatusElementsSequence(uint16 opcode) return MovementStopStrafeSequence; case MSG_MOVE_STOP_TURN: // 5.4.8 return MovementStopTurnSequence; - case CMSG_MOVE_START_ASCEND: + case MSG_MOVE_START_ASCEND: // 5.4.8 return MovementStartAscendSequence; - case CMSG_MOVE_START_DESCEND: + case MSG_MOVE_START_DESCEND:// 5.4.8 return MovementStartDescendSequence; - case CMSG_MOVE_START_SWIM: + case MSG_MOVE_START_SWIM: // 5.4.8 return MovementStartSwimSequence; case CMSG_MOVE_STOP_SWIM: return MovementStopSwimSequence;