aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-02-23 02:15:48 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2011-02-23 02:15:48 +0100
commit0a2fc1690871c42447f2b4bdc7fb02132dd928f5 (patch)
treefd153c18aa8df8049dec594782133a61faf90a01
parentc42939b99c8593e8b7c89e11f86acda857525275 (diff)
Core/Vehicles: Send SMSG_FORCE_MOVE_UNROOT to client when exiting vehicle with UNIT_FLAG_DISABLE_MOVE
-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);