*Fix a crash caused by vehicle.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-04-28 13:25:08 -05:00
parent 5d6e314e5c
commit f722b9b4c5
2 changed files with 7 additions and 1 deletions

View File

@@ -3287,7 +3287,7 @@ void Spell::EffectSummonType(uint32 i)
if(!vehicle)
return;
vehicle->SetUInt64Value(UNIT_FIELD_SUMMONEDBY, m_caster->GetGUID());
//vehicle->SetUInt64Value(UNIT_FIELD_SUMMONEDBY, m_caster->GetGUID());
vehicle->SetUInt32Value(UNIT_CREATED_BY_SPELL, m_spellInfo->Id);
break;
}

View File

@@ -71,7 +71,10 @@ void Vehicle::setDeathState(DeathState s) // overwrite vir
{
if(Unit *passenger = itr->second.passenger)
if(passenger->GetTypeId() == TYPEID_UNIT && ((Creature*)passenger)->isVehicle())
{
passenger->ExitVehicle();
((Vehicle*)passenger)->setDeathState(s);
}
}
RemoveAllPassengers();
}
@@ -298,7 +301,10 @@ void Vehicle::Dismiss()
{
if(Unit *passenger = itr->second.passenger)
if(passenger->GetTypeId() == TYPEID_UNIT && ((Creature*)passenger)->isVehicle())
{
passenger->ExitVehicle();
((Vehicle*)passenger)->Dismiss();
}
}
RemoveAllPassengers();
SendObjectDeSpawnAnim(GetGUID());