mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 17:05:44 +01:00
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:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user