diff --git a/Content.Server/Salvage/SalvageSystem.Magnet.cs b/Content.Server/Salvage/SalvageSystem.Magnet.cs index dc5a2670db..50e1adcbd0 100644 --- a/Content.Server/Salvage/SalvageSystem.Magnet.cs +++ b/Content.Server/Salvage/SalvageSystem.Magnet.cs @@ -136,11 +136,11 @@ public sealed partial class SalvageSystem if (data.Comp.ActiveEntities != null) { // Handle mobrestrictions getting deleted - var query = AllEntityQuery(); + var query = AllEntityQuery(); - while (query.MoveNext(out var salvUid, out var salvMob)) + while (query.MoveNext(out var salvUid, out var salvMob, out var salvMobState)) { - if (data.Comp.ActiveEntities.Contains(salvMob.LinkedEntity)) + if (data.Comp.ActiveEntities.Contains(salvMob.LinkedEntity) && _mobState.IsAlive(salvUid, salvMobState)) { QueueDel(salvUid); } @@ -165,8 +165,7 @@ public sealed partial class SalvageSystem uid = _transform.GetParentUid(uid); if (_mobStateQuery.HasComp(uid)) return true; - } - while (uid != xform.GridUid && uid != EntityUid.Invalid); + } while (uid != xform.GridUid && uid != EntityUid.Invalid); return false; }