]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Apply RoleLoadout MinLimit fix to EnsureValid too (#29358)
authorTayrtahn <tayrtahn@gmail.com>
Sun, 23 Jun 2024 02:17:28 +0000 (22:17 -0400)
committerGitHub <noreply@github.com>
Sun, 23 Jun 2024 02:17:28 +0000 (12:17 +1000)
Apply MinLimit fix to EnsureValid too

Content.Shared/Preferences/Loadouts/RoleLoadout.cs

index ca6d841616d767a57cab785a57c1e1b6997b71d1..f943c9ea8a07650a4f0e220ff8715315a331f5c9 100644 (file)
@@ -124,9 +124,12 @@ public sealed partial class RoleLoadout : IEquatable<RoleLoadout>
             // If you put invalid ones first but that's your fault for not using sensible defaults
             if (loadouts.Count < groupProto.MinLimit)
             {
-                for (var i = 0; i < Math.Min(groupProto.MinLimit, groupProto.Loadouts.Count); i++)
+                foreach (var protoId in groupProto.Loadouts)
                 {
-                    if (!protoManager.TryIndex(groupProto.Loadouts[i], out var loadoutProto))
+                    if (loadouts.Count >= groupProto.MinLimit)
+                        break;
+
+                    if (!protoManager.TryIndex(protoId, out var loadoutProto))
                         continue;
 
                     var defaultLoadout = new Loadout()
@@ -193,11 +196,10 @@ public sealed partial class RoleLoadout : IEquatable<RoleLoadout>
             if (groupProto.MinLimit > 0)
             {
                 // Apply any loadouts we can.
-                var addedCount = 0;
                 foreach (var protoId in groupProto.Loadouts)
                 {
                     // Reached the limit, time to stop
-                    if (addedCount >= groupProto.MinLimit)
+                    if (loadouts.Count >= groupProto.MinLimit)
                         break;
 
                     if (!protoManager.TryIndex(protoId, out var loadoutProto))
@@ -214,7 +216,6 @@ public sealed partial class RoleLoadout : IEquatable<RoleLoadout>
 
                     loadouts.Add(defaultLoadout);
                     Apply(loadoutProto);
-                    addedCount++;
                 }
             }
         }