aboutsummaryrefslogtreecommitdiff
path: root/src/game/MovementHandler.cpp
diff options
context:
space:
mode:
authorBroodWyrm <none@none>2009-04-21 21:02:03 +0200
committerBroodWyrm <none@none>2009-04-21 21:02:03 +0200
commite20e65ced9efd11a009fd63bcd4047ecc4bd3e63 (patch)
tree8607f4b20e262ccbd360f0ee122fc34a8ba72d5a /src/game/MovementHandler.cpp
parentdaa03d409e0e4b2d5b8f2526796c51a120d03604 (diff)
parent6c38623dfc917836c747293e3fff439432a169a1 (diff)
*Merge.
--HG-- branch : trunk
Diffstat (limited to 'src/game/MovementHandler.cpp')
-rw-r--r--src/game/MovementHandler.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/game/MovementHandler.cpp b/src/game/MovementHandler.cpp
index 50152de4e97..c400e1f23fc 100644
--- a/src/game/MovementHandler.cpp
+++ b/src/game/MovementHandler.cpp
@@ -496,6 +496,23 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data)
recv_data >> d >> e >> f >> g >> h >> i >> j >> k;
recv_data >> seat;
//sLog.outError("change seat %u %u %u %u %u %u %u %u %u %u %u %u", a, b,c,d,e,f,g,h,i,j,k,seat);
+
+ if(seat == GetPlayer()->GetTransSeat())
+ return;
+
+ if(GetPlayer()->m_Vehicle)
+ {
+ if(Vehicle *vehicle = GetPlayer()->m_Vehicle->HasEmptySeat(seat))
+ {
+ 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);
+ }
+ }
+ }
}
void WorldSession::HandleRequestVehicleExit(WorldPacket &recv_data)