Implemented vehicle opcodes that allow seat changing

This commit is contained in:
Yaki Khadafi 2015-02-03 19:54:09 +00:00 committed by Antz
parent 6b49dfb4aa
commit a7f0e6a4de
8 changed files with 178 additions and 18 deletions

View file

@ -103,6 +103,12 @@ void MovementInfo::Read(ByteBuffer& data, uint16 opcode)
continue;
}
if (element >= MSEGuid2Bit0 && element <= MSEGuid2Bit7)
{
guid2[element - MSEGuid2Bit0] = data.ReadBit();
continue;
}
if (element >= MSETransportGuidBit0 && element <= MSETransportGuidBit7)
{
if (hasTransportData)
@ -117,6 +123,13 @@ void MovementInfo::Read(ByteBuffer& data, uint16 opcode)
continue;
}
if (element >= MSEGuid2Byte0 && element <= MSEGuid2Byte7)
{
if (guid2[element - MSEGuid2Byte0])
guid2[element - MSEGuid2Byte0] ^= data.ReadUInt8();
continue;
}
if (element >= MSETransportGuidByte0 && element <= MSETransportGuidByte7)
{
if (hasTransportData && t_guid[element - MSETransportGuidByte0])
@ -256,6 +269,9 @@ void MovementInfo::Read(ByteBuffer& data, uint16 opcode)
case MSEMovementCounter:
data.read_skip<uint32>();
break;
case MSEByteParam:
data >> byteParam;
break;
default:
MANGOS_ASSERT(false && "Wrong movement status element");
break;