]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix starting gear multiple storage fills and tests (#32718)
authorJajsha <101492056+Zap527@users.noreply.github.com>
Sun, 20 Oct 2024 03:43:17 +0000 (23:43 -0400)
committerGitHub <noreply@github.com>
Sun, 20 Oct 2024 03:43:17 +0000 (14:43 +1100)
* fix things

* maybe fix everything

Content.IntegrationTests/Tests/Roles/StartingGearStorageTests.cs
Content.Shared/Station/SharedStationSpawningSystem.cs

index f8060edb2b4e0c441efabc93847c7ad322aafbfd..3b2935258a7986bdcf3c1364324a358237ee4f23 100644 (file)
@@ -35,15 +35,16 @@ public sealed class StartingGearPrototypeStorageTest
         {
             foreach (var gearProto in protos)
             {
-                var backpackProto = ((IEquipmentLoadout) gearProto).GetGear("back");
-                if (backpackProto == string.Empty)
-                    continue;
-
-                var bag = server.EntMan.SpawnEntity(backpackProto, coords);
                 var ents = new ValueList<EntityUid>();
 
                 foreach (var (slot, entProtos) in gearProto.Storage)
                 {
+                    ents.Clear();
+                    var storageProto = ((IEquipmentLoadout)gearProto).GetGear(slot);
+                    if (storageProto == string.Empty)
+                        continue;
+
+                    var bag = server.EntMan.SpawnEntity(storageProto, coords);
                     if (entProtos.Count == 0)
                         continue;
 
@@ -59,9 +60,8 @@ public sealed class StartingGearPrototypeStorageTest
 
                         server.EntMan.DeleteEntity(ent);
                     }
+                    server.EntMan.DeleteEntity(bag);
                 }
-
-                server.EntMan.DeleteEntity(bag);
             }
 
             mapManager.DeleteMap(testMap.MapId);
index 0584b10562a1a4ecb8888351d975601fcd281826..ad264cd22a48b22a9a1c270e12f32b7aab3be208 100644 (file)
@@ -150,6 +150,7 @@ public abstract class SharedStationSpawningSystem : EntitySystem
 
             foreach (var (slot, entProtos) in startingGear.Storage)
             {
+                ents.Clear();
                 if (entProtos.Count == 0)
                     continue;