aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/server/game/Entities/Vehicle/Vehicle.cpp13
1 files changed, 12 insertions, 1 deletions
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);