From 831d962e5a34f53e3405b710ede55870a43852f4 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Thu, 20 Jun 2024 20:15:37 -0400 Subject: [PATCH] Make Loadout MinLimit not count failed attempts (#29264) Loadout MinLimit doesn't count failed attempts --- Content.Shared/Preferences/Loadouts/RoleLoadout.cs | 10 ++++++++-- Resources/Prototypes/Loadouts/loadout_groups.yml | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Content.Shared/Preferences/Loadouts/RoleLoadout.cs b/Content.Shared/Preferences/Loadouts/RoleLoadout.cs index d02929cd96..ca6d841616 100644 --- a/Content.Shared/Preferences/Loadouts/RoleLoadout.cs +++ b/Content.Shared/Preferences/Loadouts/RoleLoadout.cs @@ -193,9 +193,14 @@ public sealed partial class RoleLoadout : IEquatable if (groupProto.MinLimit > 0) { // Apply any loadouts we can. - for (var j = 0; j < Math.Min(groupProto.MinLimit, groupProto.Loadouts.Count); j++) + var addedCount = 0; + foreach (var protoId in groupProto.Loadouts) { - if (!protoManager.TryIndex(groupProto.Loadouts[j], out var loadoutProto)) + // Reached the limit, time to stop + if (addedCount >= groupProto.MinLimit) + break; + + if (!protoManager.TryIndex(protoId, out var loadoutProto)) continue; var defaultLoadout = new Loadout() @@ -209,6 +214,7 @@ public sealed partial class RoleLoadout : IEquatable loadouts.Add(defaultLoadout); Apply(loadoutProto); + addedCount++; } } } diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index 530022424e..e3da71b4c1 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -38,8 +38,8 @@ - type: loadoutGroup id: Survival name: loadout-group-survival-basic - minLimit: 2 - maxLimit: 2 + minLimit: 1 + maxLimit: 1 hidden: true loadouts: - EmergencyNitrogen -- 2.51.2