diff options
Diffstat (limited to 'src/server/game/Handlers/VehicleHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/VehicleHandler.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/server/game/Handlers/VehicleHandler.cpp b/src/server/game/Handlers/VehicleHandler.cpp index 57e941d1338..0ebc2957383 100644 --- a/src/server/game/Handlers/VehicleHandler.cpp +++ b/src/server/game/Handlers/VehicleHandler.cpp @@ -45,7 +45,7 @@ void WorldSession::HandleRequestVehiclePrevSeat(WorldPackets::Vehicle::RequestVe if (!seat->CanSwitchFromSeat()) { TC_LOG_ERROR("network", "HandleRequestVehiclePrevSeat: %s tried to switch seats but current seatflags %u don't permit that.", - GetPlayer()->GetGUID().ToString().c_str(), seat->Flags); + GetPlayer()->GetGUID().ToString().c_str(), seat->Flags[0]); return; } @@ -62,7 +62,7 @@ void WorldSession::HandleRequestVehicleNextSeat(WorldPackets::Vehicle::RequestVe if (!seat->CanSwitchFromSeat()) { TC_LOG_ERROR("network", "HandleRequestVehicleNextSeat: %s tried to switch seats but current seatflags %u don't permit that.", - GetPlayer()->GetGUID().ToString().c_str(), seat->Flags); + GetPlayer()->GetGUID().ToString().c_str(), seat->Flags[0]); return; } @@ -79,7 +79,7 @@ void WorldSession::HandleMoveChangeVehicleSeats(WorldPackets::Vehicle::MoveChang if (!seat->CanSwitchFromSeat()) { TC_LOG_ERROR("network", "HandleMoveChangeVehicleSeats: %s tried to switch seats but current seatflags %u don't permit that.", - GetPlayer()->GetGUID().ToString().c_str(), seat->Flags); + GetPlayer()->GetGUID().ToString().c_str(), seat->Flags[0]); return; } @@ -108,7 +108,7 @@ void WorldSession::HandleRequestVehicleSwitchSeat(WorldPackets::Vehicle::Request if (!seat->CanSwitchFromSeat()) { TC_LOG_ERROR("network", "HandleRequestVehicleSwitchSeat: %s tried to switch seats but current seatflags %u don't permit that.", - GetPlayer()->GetGUID().ToString().c_str(), seat->Flags); + GetPlayer()->GetGUID().ToString().c_str(), seat->Flags[0]); return; } @@ -174,13 +174,14 @@ void WorldSession::HandleRequestVehicleExit(WorldPackets::Vehicle::RequestVehicl { if (Vehicle* vehicle = GetPlayer()->GetVehicle()) { - if (VehicleSeatEntry const* seat = vehicle->GetSeatForPassenger(GetPlayer())) + auto itr = vehicle->GetSeatIteratorForPassenger(GetPlayer()); + if (itr != vehicle->Seats.end()) { - if (seat->CanEnterOrExit()) + if (itr->second.SeatInfo->CanEnterOrExit()) GetPlayer()->ExitVehicle(); else TC_LOG_ERROR("network", "%s tried to exit vehicle, but seatflags %u (ID: %u) don't permit that.", - GetPlayer()->GetGUID().ToString().c_str(), seat->ID, seat->Flags); + GetPlayer()->GetGUID().ToString().c_str(), vehicle->GetVehicleInfo()->SeatID[itr->first], itr->second.SeatInfo->Flags[0]); } } } |