Core/Vehicles: Send SMSG_FORCE_MOVE_UNROOT to client when exiting vehicle with UNIT_FLAG_DISABLE_MOVE

This commit is contained in:
Machiavelli
2011-02-23 02:15:48 +01:00
parent c42939b99c
commit 0a2fc16908

View File

@@ -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);