public IEnumerable <LootGeneratorItemInfo> GetIntrusionLootInfos(Outpost outpost, SAP sap) { var stability = outpost.GetIntrusionSiteInfo().Stability; var loots = _intrusionLootInfos.Where(i => i.siteDefinition == outpost.Definition && i.sapDefinition == sap.Definition && i.stabilityThreshold.Min <= stability && i.stabilityThreshold.Max >= stability); foreach (var loot in loots) { var item = new ItemInfo(loot.itemDefinition, loot.quantity.Min, loot.quantity.Max); //roll random on init yield return(new LootGeneratorItemInfo(item, false, loot.probability)); } }