@@ -1642,7 +1642,7 @@ updateDiscoveredEntities e = do
1642
1642
if E. contains0plus e allDiscovered
1643
1643
then pure ()
1644
1644
else do
1645
- let newAllDiscovered = E. insertCount 9001 e allDiscovered
1645
+ let newAllDiscovered = E. insertCount 1 e allDiscovered
1646
1646
allDevices <- use allInstalledDevices
1647
1647
updateAvailableRecipes (newAllDiscovered, allDevices) e
1648
1648
allDiscoveredEntities .= newAllDiscovered
@@ -1654,7 +1654,7 @@ updateInstalledDevice e = do
1654
1654
if E. contains0plus e allDevices
1655
1655
then pure ()
1656
1656
else do
1657
- let newAllDevices = E. insertCount 9001 e allDevices
1657
+ let newAllDevices = E. insertCount 1 e allDevices
1658
1658
-- Check every known entities to see if the new device enables new recipes
1659
1659
allDiscovered <- use allDiscoveredEntities
1660
1660
traverse_ (updateAvailableRecipes (allDiscovered, newAllDevices) . snd ) (elems allDiscovered)
@@ -1672,10 +1672,7 @@ updateAvailableRecipes :: Has (State GameState) sig m => (Inventory, Inventory)
1672
1672
updateAvailableRecipes invs e = do
1673
1673
allInRecipes <- use recipesIn
1674
1674
let entityRecipes = recipesFor allInRecipes e
1675
- let canMake recipe = case missingIngredientsFor invs recipe of
1676
- [] -> True
1677
- _ -> False
1678
- let usableRecipes = filter canMake entityRecipes
1675
+ usableRecipes = filter (knowsIngredientsFor invs) entityRecipes
1679
1676
(knownLength, knownRecipes) <- use availableRecipes
1680
1677
let newRecipes = filter (`notElem` knownRecipes) usableRecipes
1681
1678
newLength = case newRecipes of
0 commit comments