]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Don't despawn off-grid salv mob corpses (#37169)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Sun, 4 May 2025 05:47:11 +0000 (01:47 -0400)
committerGitHub <noreply@github.com>
Sun, 4 May 2025 05:47:11 +0000 (22:47 -0700)
Content.Server/Salvage/SalvageSystem.Magnet.cs

index 694186da9a7ed5b154da414358958f3e3bba3162..41d4c2e755cd63a0c4de8e1b0edc3c6c537f76ad 100644 (file)
@@ -135,11 +135,11 @@ public sealed partial class SalvageSystem
         if (data.Comp.ActiveEntities != null)
         {
             // Handle mobrestrictions getting deleted
-            var query = AllEntityQuery<SalvageMobRestrictionsComponent>();
+            var query = AllEntityQuery<SalvageMobRestrictionsComponent, MobStateComponent>();
 
-            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);
                 }
@@ -164,8 +164,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;
                 }