]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
fix: erase expedition disks when their map is deleted (#38322)
authorPerry Fraser <perryprog@users.noreply.github.com>
Tue, 17 Jun 2025 16:32:14 +0000 (12:32 -0400)
committerGitHub <noreply@github.com>
Tue, 17 Jun 2025 16:32:14 +0000 (18:32 +0200)
* fix: erase expedition disks when their map is deleted

* fix: include paused entities in disk query, add dirty

Content.Server/Salvage/SalvageSystem.Expeditions.cs

index 466678be3da68e9a997c327ffc2000217fc1064e..aa31c465f86b0eac8e41b1eaf21cf04203a3e8c9 100644 (file)
@@ -6,6 +6,7 @@ using Content.Shared.CCVar;
 using Content.Shared.Examine;
 using Content.Shared.Random.Helpers;
 using Content.Shared.Salvage.Expeditions;
+using Content.Shared.Shuttles.Components;
 using Robust.Shared.Audio;
 using Robust.Shared.CPUJob.JobQueues;
 using Robust.Shared.CPUJob.JobQueues.Queues;
@@ -76,6 +77,15 @@ public sealed partial class SalvageSystem
     {
         component.Stream = _audio.Stop(component.Stream);
 
+        // First wipe any disks referencing us
+        var disks = AllEntityQuery<ShuttleDestinationCoordinatesComponent>();
+        while (disks.MoveNext(out var disk, out var diskComp)
+               && diskComp.Destination == uid)
+        {
+            diskComp.Destination = null;
+            Dirty(disk, diskComp);
+        }
+
         foreach (var (job, cancelToken) in _salvageJobs.ToArray())
         {
             if (job.Station == component.Station)