From 0a2fc1690871c42447f2b4bdc7fb02132dd928f5 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Wed, 23 Feb 2011 02:15:48 +0100 Subject: Core/Vehicles: Send SMSG_FORCE_MOVE_UNROOT to client when exiting vehicle with UNIT_FLAG_DISABLE_MOVE --- src/server/game/Entities/Vehicle/Vehicle.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/server/game/Entities/Vehicle/Vehicle.cpp b/src/server/game/Entities/Vehicle/Vehicle.cpp index 7f79edbc5f5..66762d2294a 100755 --- a/src/server/game/Entities/Vehicle/Vehicle.cpp +++ b/src/server/game/Entities/Vehicle/Vehicle.cpp @@ -365,7 +365,7 @@ bool Vehicle::AddPassenger(Unit *unit, int8 seatId) { WorldPacket data(SMSG_FORCE_MOVE_ROOT, 8+4); data.append(me->GetPackGUID()); - data << uint32(2); + data << uint32(2); // Counter me->SendMessageToSet(&data, false); } @@ -428,6 +428,17 @@ void Vehicle::RemovePassenger(Unit *unit) } } + if (me->IsInWorld()) + { + if (me->HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_DISABLE_MOVE)) + { + WorldPacket data(SMSG_FORCE_MOVE_UNROOT, 8+4); + data.append(me->GetPackGUID()); + data << uint32(2); // Counter + me->SendMessageToSet(&data, false); + } + } + if (me->GetTypeId() == TYPEID_UNIT && me->ToCreature()->IsAIEnabled) me->ToCreature()->AI()->PassengerBoarded(unit, seat->first, false); -- cgit v1.2.3