From 6fd46762fc94ec07f05089428a4956186fae7732 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Mon, 1 Sep 2025 16:57:21 -0400 Subject: [PATCH] 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) --- Source/Game/Globals/ObjectManager.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Source/Game/Globals/ObjectManager.cs b/Source/Game/Globals/ObjectManager.cs index 5d7ec7648..58c7a8bc6 100644 --- a/Source/Game/Globals/ObjectManager.cs +++ b/Source/Game/Globals/ObjectManager.cs @@ -11408,6 +11408,14 @@ namespace Game vehicleTemplate.DespawnDelay = TimeSpan.FromMilliseconds(result.Read(1)); vehicleTemplate.CustomFlags = (VehicleCustomFlags)result.Read(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)) { var vehicle = CliDB.VehicleStorage.LookupByKey(creatureInfo.VehicleId);