diff options
| -rwxr-xr-x | src/server/game/Entities/Vehicle/Vehicle.cpp | 13 |
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); |
