Flea barter icons respect FiR setting

This commit is contained in:
Tyfon
2024-07-22 00:02:43 -07:00
parent 8046557121
commit 30ad64ec40

View File

@@ -146,14 +146,16 @@ public static class BarterOfferPatches
if (requirement.Item.GetItemComponent<DogtagComponent>() != null) if (requirement.Item.GetItemComponent<DogtagComponent>() != null)
{ {
return allItems.Select(item => item.GetItemComponent<DogtagComponent>()) return allItems.Where(item => RagFairClass.CanUseForBarterExchange(item, out string error))
.Select(item => item.GetItemComponent<DogtagComponent>())
.Where(dogtag => dogtag != null) .Where(dogtag => dogtag != null)
.Where(dogtag => dogtag.Level >= handoverRequirement.Level) .Where(dogtag => dogtag.Level >= handoverRequirement.Level)
.Where(dogtag => handoverRequirement.Side == EDogtagExchangeSide.Any || dogtag.Side.ToString() == handoverRequirement.Side.ToString()) .Where(dogtag => handoverRequirement.Side == EDogtagExchangeSide.Any || dogtag.Side.ToString() == handoverRequirement.Side.ToString())
.Count(); .Count();
} }
return allItems.Where(item => item.TemplateId == requirement.Item.TemplateId) return allItems.Where(item => RagFairClass.CanUseForBarterExchange(item, out string error))
.Where(item => item.TemplateId == requirement.Item.TemplateId)
.Where(item => !requirement.OnlyFunctional || item is not LootItemClass lootItem || !lootItem.MissingVitalParts.Any()) .Where(item => !requirement.OnlyFunctional || item is not LootItemClass lootItem || !lootItem.MissingVitalParts.Any())
.Where(item => item is not GInterface325 encodable || requirement.Item is not GInterface325 || encodable.IsEncoded() == requirement.IsEncoded) .Where(item => item is not GInterface325 encodable || requirement.Item is not GInterface325 || encodable.IsEncoded() == requirement.IsEncoded)
.Sum(item => item.StackObjectsCount); .Sum(item => item.StackObjectsCount);