aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/Vehicle.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/game/Vehicle.cpp b/src/game/Vehicle.cpp
index 2a688dd254a..0aa0d48a24c 100644
--- a/src/game/Vehicle.cpp
+++ b/src/game/Vehicle.cpp
@@ -160,11 +160,16 @@ void Vehicle::RemoveAllPassengers()
{
if(passenger->GetTypeId() == TYPEID_UNIT && ((Creature*)passenger)->isVehicle())
((Vehicle*)passenger)->RemoveAllPassengers();
+ if(!passenger->m_Vehicle || passenger->m_Vehicle != this)
+ {
+ sLog.outCrash("Vehicle %u has invalid passenger %u.", GetEntry(), passenger->GetEntry());
+ }
passenger->ExitVehicle();
if(itr->second.passenger)
{
- sLog.outCrash("Vehicle %u cannot remove passenger %u.", GetEntry(), itr->second.passenger->GetEntry());
- assert(!itr->second.passenger);
+ sLog.outCrash("Vehicle %u cannot remove passenger %u. %u is still on it.", GetEntry(), passenger->GetEntry(), itr->second.passenger->GetEntry());
+ //assert(!itr->second.passenger);
+ itr->second.passenger = NULL;
}
}
}