Core/Vehicles: Prevent bad database data in vehicle_template from crashing the server when vehicle despawns
Port From (https://github.com/TrinityCore/TrinityCore/commit/187e74ac722747192d4a26508c58c857221a6703)
This commit is contained in:
@@ -11408,6 +11408,14 @@ namespace Game
|
|||||||
vehicleTemplate.DespawnDelay = TimeSpan.FromMilliseconds(result.Read<int>(1));
|
vehicleTemplate.DespawnDelay = TimeSpan.FromMilliseconds(result.Read<int>(1));
|
||||||
vehicleTemplate.CustomFlags = (VehicleCustomFlags)result.Read<int>(3);
|
vehicleTemplate.CustomFlags = (VehicleCustomFlags)result.Read<int>(3);
|
||||||
|
|
||||||
|
if (vehicleTemplate.DespawnDelay < TimeSpan.Zero)
|
||||||
|
{
|
||||||
|
Log.outError(LogFilter.Sql, $"Table `vehicle_template`: Creature (Entry: {creatureId}) has negative despawnDelayMs ({vehicleTemplate.DespawnDelay}).`. Ignoring");
|
||||||
|
vehicleTemplate.DespawnDelay = TimeSpan.FromMilliseconds(1);
|
||||||
|
}
|
||||||
|
else if (vehicleTemplate.DespawnDelay == TimeSpan.Zero)
|
||||||
|
vehicleTemplate.DespawnDelay = TimeSpan.FromMilliseconds(1);
|
||||||
|
|
||||||
if (!result.IsNull(2))
|
if (!result.IsNull(2))
|
||||||
{
|
{
|
||||||
var vehicle = CliDB.VehicleStorage.LookupByKey(creatureInfo.VehicleId);
|
var vehicle = CliDB.VehicleStorage.LookupByKey(creatureInfo.VehicleId);
|
||||||
|
|||||||
Reference in New Issue
Block a user