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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user