]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
fix borgs getting deleted by salvage magnets (#29006)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Sat, 15 Jun 2024 13:19:23 +0000 (09:19 -0400)
committerGitHub <noreply@github.com>
Sat, 15 Jun 2024 13:19:23 +0000 (23:19 +1000)
Content.Server/Salvage/SalvageSystem.Magnet.cs

index 4b7291298b26868f49132cfbb9a5c1967b8c43a9..3fe4baca8b634ca16635d7f8f23a73a23fff1ff7 100644 (file)
@@ -130,17 +130,20 @@ public sealed partial class SalvageSystem
             }
 
             // Uhh yeah don't delete mobs or whatever
-            var mobQuery = AllEntityQuery<HumanoidAppearanceComponent, MobStateComponent, TransformComponent>();
+            var mobQuery = AllEntityQuery<MobStateComponent, TransformComponent>();
             _detachEnts.Clear();
 
-            while (mobQuery.MoveNext(out var mobUid, out _, out _, out var xform))
+            while (mobQuery.MoveNext(out var mobUid, out _, out var xform))
             {
                 if (xform.GridUid == null || !data.Comp.ActiveEntities.Contains(xform.GridUid.Value) || xform.MapUid == null)
                     continue;
 
+                if (_salvMobQuery.HasComp(mobUid))
+                    continue;
+
                 // Can't parent directly to map as it runs grid traversal.
                 _detachEnts.Add(((mobUid, xform), xform.MapUid.Value, _transform.GetWorldPosition(xform)));
-                _transform.DetachParentToNull(mobUid, xform);
+                _transform.DetachEntity(mobUid, xform);
             }
 
             // Go and cleanup the active ents.