diff options
author | Shauren <shauren.trinity@gmail.com> | 2011-02-26 12:53:17 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-02-26 12:53:17 +0100 |
commit | 45f91feaa8465df9da136d145c115bc498a8b4c5 (patch) | |
tree | cf7e216be514b581db90cb99e3a10ca3c5d472f2 /src | |
parent | 7e4456f79d355f27b0a6137c31fd1c0a92e1dc4b (diff) |
DB: Fixed startup errors and formatting
Core/Vehicles: Prevent "unprocessed tail data" vehicle packet spam
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Server/Protocol/Handlers/VehicleHandler.cpp | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/src/server/game/Server/Protocol/Handlers/VehicleHandler.cpp b/src/server/game/Server/Protocol/Handlers/VehicleHandler.cpp index 296ae23899c..7b84d7baaa3 100644 --- a/src/server/game/Server/Protocol/Handlers/VehicleHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/VehicleHandler.cpp @@ -29,9 +29,9 @@ void WorldSession::HandleDismissControlledVehicle(WorldPacket &recv_data) uint64 vehicleGUID = _player->GetCharmGUID(); - if (!vehicleGUID) // something wrong here... + if (!vehicleGUID) // something wrong here... { - recv_data.rpos(recv_data.wpos()); // prevent warnings spam + recv_data.rfinish(); // prevent warnings spam return; } @@ -55,11 +55,15 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data) Unit* vehicle_base = GetPlayer()->GetVehicleBase(); if (!vehicle_base) + { + recv_data.rfinish(); // prevent warnings spam return; + } VehicleSeatEntry const* seat = GetPlayer()->GetVehicle()->GetSeatForPassenger(GetPlayer()); if (!seat->CanSwitchFromSeat()) { + recv_data.rfinish(); // prevent warnings spam sLog->outError("HandleChangeSeatsOnControlledVehicle, Opcode: %u, Player %u tried to switch seats but current seatflags %u don't permit that.", recv_data.GetOpcode(), GetPlayer()->GetGUIDLow(), seat->m_flags); return; @@ -67,13 +71,13 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data) switch (recv_data.GetOpcode()) { - case CMSG_REQUEST_VEHICLE_PREV_SEAT: - GetPlayer()->ChangeSeat(-1, false); - break; - case CMSG_REQUEST_VEHICLE_NEXT_SEAT: - GetPlayer()->ChangeSeat(-1, true); - break; - case CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE: + case CMSG_REQUEST_VEHICLE_PREV_SEAT: + GetPlayer()->ChangeSeat(-1, false); + break; + case CMSG_REQUEST_VEHICLE_NEXT_SEAT: + GetPlayer()->ChangeSeat(-1, true); + break; + case CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE: { uint64 guid; // current vehicle guid recv_data.readPackGUID(guid); @@ -97,9 +101,9 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data) if (vehicle->HasEmptySeat(seatId)) GetPlayer()->EnterVehicle(vehicle, seatId); } + break; } - break; - case CMSG_REQUEST_VEHICLE_SWITCH_SEAT: + case CMSG_REQUEST_VEHICLE_SWITCH_SEAT: { uint64 guid; // current vehicle guid recv_data.readPackGUID(guid); @@ -113,10 +117,10 @@ void WorldSession::HandleChangeSeatsOnControlledVehicle(WorldPacket &recv_data) if (Vehicle *vehicle = vehUnit->GetVehicleKit()) if (vehicle->HasEmptySeat(seatId)) GetPlayer()->EnterVehicle(vehicle, seatId); + break; } - break; - default: - break; + default: + break; } } @@ -126,14 +130,15 @@ void WorldSession::HandleEnterPlayerVehicle(WorldPacket &data) uint64 guid; data >> guid; - if (Player* pl=ObjectAccessor::FindPlayer(guid)) + if (Player* pl = ObjectAccessor::FindPlayer(guid)) { if (!pl->GetVehicleKit()) return; if (!pl->IsInRaidWith(_player)) return; - if (!pl->IsWithinDistInMap(_player,INTERACTION_DISTANCE)) + if (!pl->IsWithinDistInMap(_player, INTERACTION_DISTANCE)) return; + _player->EnterVehicle(pl); } } @@ -143,6 +148,7 @@ void WorldSession::HandleEjectPassenger(WorldPacket &data) Vehicle* vehicle = _player->GetVehicleKit(); if (!vehicle) { + recv_data.rfinish(); // prevent warnings spam sLog->outError("HandleEjectPassenger: Player %u is not in a vehicle!", GetPlayer()->GetGUIDLow()); return; } @@ -219,4 +225,4 @@ void WorldSession::HandleRequestVehicleExit(WorldPacket &recv_data) GetPlayer()->GetGUIDLow(), seat->m_ID, seat->m_flags); } } -}
\ No newline at end of file +} |