diff options
Diffstat (limited to 'src/game/MovementHandler.cpp')
-rw-r--r-- | src/game/MovementHandler.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp index a5d79b678b2..c400e1f23fc 100644 --- a/src/game/MovementHandler.cpp +++ b/src/game/MovementHandler.cpp @@ -500,11 +500,13 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data) if(seat == GetPlayer()->GetTransSeat()) return; - if(Vehicle *vehicle = GetPlayer()->m_Vehicle) + if(GetPlayer()->m_Vehicle) { - if(vehicle->HasEmptySeat(seat)) + if(Vehicle *vehicle = GetPlayer()->m_Vehicle->HasEmptySeat(seat)) { - vehicle->RemovePassenger(GetPlayer()); + GetPlayer()->m_Vehicle->RemovePassenger(GetPlayer()); + //If the player is going to a turret, the vehicle should be changed + GetPlayer()->m_Vehicle = vehicle; if(!vehicle->AddPassenger(GetPlayer(), seat)) { assert(false); |