private static void AdjustCandidateItems(List <InventoryItemType> candidateItemList, List <InventoryItemType> haveItems, IRomLocations romLocations) { // require Boots before Titan's Mitt if (candidateItemList.Contains(InventoryItemType.TitansMitt) && !haveItems.Contains(InventoryItemType.PegasusBoots)) { candidateItemList.Remove(InventoryItemType.TitansMitt); } // stop double-item-needed deadlocks if (candidateItemList.Count == 0) { var trockMedallion = romLocations.GetItemAtLocation <InventoryItem>(romLocations.SpecialLocations, "Required Medallion - Turtle Rock").Type; AddUnownedItem(candidateItemList, haveItems, trockMedallion); AddUnownedItem(candidateItemList, haveItems, InventoryItemType.FireRod); } }