fix: erase expedition disks when their map is deleted (#38322)

* fix: erase expedition disks when their map is deleted

* fix: include paused entities in disk query, add dirty
This commit is contained in:
Perry Fraser
2025-06-17 12:32:14 -04:00
committed by GitHub
parent 5a69b7e2fb
commit 3c297d0620

View 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)