diff --git a/Libraries/SPTarkov.Server.Core/Services/CircleOfCultistService.cs b/Libraries/SPTarkov.Server.Core/Services/CircleOfCultistService.cs index 4f33cf0d..8627eb9b 100644 --- a/Libraries/SPTarkov.Server.Core/Services/CircleOfCultistService.cs +++ b/Libraries/SPTarkov.Server.Core/Services/CircleOfCultistService.cs @@ -510,10 +510,9 @@ public class CircleOfCultistService( ) { // Get sacrificed tpls - List sacrificedItemTpls = sacrificedItems.Select(item => item.Template).Where(i => i != null).ToList()!; - sacrificedItemTpls.Sort(); + IEnumerable sacrificedItemTpls = sacrificedItems.Select(item => item.Template).Where(item => item != null); // Create md5 key of the items player sacrificed so we can compare against the direct reward cache - var sacrificedItemsKey = CreateSacrificeCacheKey(sacrificedItemTpls); + string sacrificedItemsKey = CreateSacrificeCacheKey(sacrificedItemTpls); var matchingDirectReward = directRewardsCache.GetValueOrDefault(sacrificedItemsKey); if (matchingDirectReward is null) @@ -883,9 +882,9 @@ public class CircleOfCultistService( return requirements.Where(requirement => requirement.Type == "Item").ToList(); } - protected string CreateSacrificeCacheKey(List requiredItems) + protected string CreateSacrificeCacheKey(IEnumerable requiredItems) { - requiredItems.Sort(); + requiredItems.OrderBy(item => item); var concat = string.Join(",", requiredItems); return _hashUtil.GenerateMd5ForData(concat); @@ -901,7 +900,7 @@ public class CircleOfCultistService( var result = new Dictionary(); foreach (var rewardSettings in directRewards) { - var key = CreateSacrificeCacheKey(rewardSettings.RequiredItems); + string key = CreateSacrificeCacheKey(rewardSettings.RequiredItems); result[key] = rewardSettings; }