Fix CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE and CMSG_REQUEST_VEHICLE_SWITCH_SEAT handlers

Modified version of Havenard's patch
Closes issue 1452

--HG--
branch : trunk
This commit is contained in:
Spp
2010-04-10 20:39:31 +02:00
parent a100b4c6b1
commit 6bad540360

View File

@@ -589,7 +589,7 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data)
case CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE:
{
uint64 guid; // current vehicle guid
if (!recv_data.readPackGUID(guid) || vehicle_base->GetGUID() != guid)
if (!recv_data.readPackGUID(guid))
return;
ReadMovementInfo(recv_data, &vehicle_base->m_movementInfo);
@@ -601,6 +601,9 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data)
int8 seatId;
recv_data >> seatId;
if (vehicle_base->GetGUID() != guid)
return;
if (!accessory)
GetPlayer()->ChangeSeat(-1, seatId > 0); // prev/next
else if (Unit *vehUnit = Unit::GetUnit(*GetPlayer(), accessory))
@@ -614,13 +617,14 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data)
case CMSG_REQUEST_VEHICLE_SWITCH_SEAT:
{
uint64 guid; // current vehicle guid
if (!recv_data.readPackGUID(guid) || vehicle_base->GetGUID() != guid)
if (!recv_data.readPackGUID(guid))
return;
int8 seatId;
recv_data >> seatId;
GetPlayer()->ChangeSeat(-1, seatId > 0); // prev/next
if (vehicle_base->GetGUID() == guid)
GetPlayer()->ChangeSeat(seatId);
}
break;
default: