Improved how offers are gathered prior to iteration

This commit is contained in:
Chomp
2025-10-20 12:59:28 +01:00
parent 353b8f54bb
commit 9fa0c51cee
@@ -232,12 +232,13 @@ public class RagfairOfferHelper(
var tieredFlea = RagfairConfig.TieredFlea;
var tieredFleaLimitTypes = tieredFlea.UnlocksType;
foreach (var desiredItemTpl in searchRequest.BuildItems)
{
// Clone offers when tiered flea enabled as we may modify the offer
var matchingOffers = tieredFlea.Enabled
? cloner.Clone(ragfairOfferService.GetOffersOfType(desiredItemTpl.Key))
: ragfairOfferService.GetOffersOfType(desiredItemTpl.Key);
var buildItems = tieredFlea.Enabled
? cloner.Clone(searchRequest.BuildItems.Keys.ToDictionary(key => key, ragfairOfferService.GetOffersOfType))
: searchRequest.BuildItems.Keys.ToDictionary(key => key, ragfairOfferService.GetOffersOfType);
foreach (var (desiredItemTpl, matchingOffers) in buildItems)
{
if (matchingOffers is null)
// No offers found for this item, skip
{