diff --git a/src/game/Server/Opcodes.h b/src/game/Server/Opcodes.h index 92d2b1fd3..467394bbe 100644 --- a/src/game/Server/Opcodes.h +++ b/src/game/Server/Opcodes.h @@ -387,8 +387,8 @@ enum Opcodes CMSG_EQUIPMENT_SET_DELETE = 0x4D07, // 4.3.4 15595 CMSG_INSTANCE_LOCK_RESPONSE = 0x1140, CMSG_DEBUG_PASSIVE_AURA = 0x1141, - CMSG_ATTACKSWING = 0x0926, // 4.3.4 15595 - CMSG_ATTACKSTOP = 0x4106, // 4.3.4 15595 + CMSG_ATTACKSWING = 0x1513, // 5.4.7 18019 + CMSG_ATTACKSTOP = 0x1E13, // 5.4.7 18019 SMSG_ATTACKSTART = 0x11D5, // 5.3.0 17128 SMSG_ATTACKSTOP = 0x0690, // 5.3.0 17128 SMSG_ATTACKSWING_NOTINRANGE = 0x0B36, // 4.3.4 15595 diff --git a/src/game/WorldHandlers/CombatHandler.cpp b/src/game/WorldHandlers/CombatHandler.cpp index b32dc7aaf..5b7a9046c 100644 --- a/src/game/WorldHandlers/CombatHandler.cpp +++ b/src/game/WorldHandlers/CombatHandler.cpp @@ -29,10 +29,27 @@ #include "ObjectGuid.h" #include "Player.h" -void WorldSession::HandleAttackSwingOpcode(WorldPacket& recv_data) +void WorldSession::HandleAttackSwingOpcode(WorldPacket& recvData) { ObjectGuid guid; - recv_data >> guid; + + guid[1] = recvData.ReadBit(); + guid[5] = recvData.ReadBit(); + guid[7] = recvData.ReadBit(); + guid[0] = recvData.ReadBit(); + guid[4] = recvData.ReadBit(); + guid[6] = recvData.ReadBit(); + guid[3] = recvData.ReadBit(); + guid[2] = recvData.ReadBit(); + + recvData.ReadByteSeq(guid[1]); + recvData.ReadByteSeq(guid[2]); + recvData.ReadByteSeq(guid[5]); + recvData.ReadByteSeq(guid[7]); + recvData.ReadByteSeq(guid[0]); + recvData.ReadByteSeq(guid[3]); + recvData.ReadByteSeq(guid[6]); + recvData.ReadByteSeq(guid[4]); DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "WORLD: Received opcode CMSG_ATTACKSWING %s", guid.GetString().c_str());