Core/Vehicles: - Prevent client ejecting passengers from non-ejectable seats.

- Chart some more VehicleSeatFlags and VehicleSeatFlagsB. Research by linencloth
This commit is contained in:
Machiavelli
2010-12-30 17:59:55 +01:00
parent 8c8f4a828b
commit 71e959837b
@@ -631,7 +631,7 @@ void WorldSession::HandleEjectPassenger(WorldPacket &data)
if (IS_PLAYER_GUID(guid)) if (IS_PLAYER_GUID(guid))
{ {
if (Player *plr = ObjectAccessor::FindPlayer(guid)) if (Player *plr = ObjectAccessor::FindPlayer(guid))
vehicle->EjectPassenger(plr); vehicle->EjectPassenger(plr, GetPlayer());
else else
sLog->outError("Player %u tried to eject player %u from vehicle, but the latter was not found in world!", GetPlayer()->GetGUIDLow(), GUID_LOPART(guid)); sLog->outError("Player %u tried to eject player %u from vehicle, but the latter was not found in world!", GetPlayer()->GetGUIDLow(), GUID_LOPART(guid));
} }
@@ -640,7 +640,7 @@ void WorldSession::HandleEjectPassenger(WorldPacket &data)
{ {
if (Unit *unit = ObjectAccessor::GetUnit(*_player, guid)) // creatures can be ejected too from player mounts if (Unit *unit = ObjectAccessor::GetUnit(*_player, guid)) // creatures can be ejected too from player mounts
{ {
vehicle->EjectPassenger(unit); vehicle->EjectPassenger(unit, GetPlayer());
unit->ToCreature()->ForcedDespawn(1000); unit->ToCreature()->ForcedDespawn(1000);
} }
else else