@jeremyckahn/farmhand 1.19.19 → 1.19.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{index-BxA2fVaN.js → index-CG_lY1MJ.js} +9 -9
- package/dist/assets/{index-BxA2fVaN.js.map → index-CG_lY1MJ.js.map} +1 -1
- package/dist/index.html +1 -1
- package/dist/service-worker.js +1 -1
- package/dist/service-worker.js.map +1 -1
- package/package.json +3 -2
- package/src/common/services/{randomNumber.js → randomNumber.ts} +1 -0
- package/src/common/{utils.js → utils.ts} +1 -1
- package/src/components/AccountingView/{AccountingView.js → AccountingView.tsx} +1 -0
- package/src/components/AchievementsView/{AchievementsView.js → AchievementsView.tsx} +6 -4
- package/src/components/AnimatedNumber/{AnimatedNumber.js → AnimatedNumber.tsx} +9 -6
- package/src/components/AppBar/{AppBar.js → AppBar.tsx} +5 -2
- package/src/components/BailOutErrorBoundary/{BailOutErrorBoundary.js → BailOutErrorBoundary.tsx} +2 -0
- package/src/components/Cellar/{CellarInventoryTabPanel.js → CellarInventoryTabPanel.tsx} +2 -0
- package/src/components/Cellar/{Keg.js → Keg.tsx} +0 -1
- package/src/components/ContextPane/{ContextPane.test.js → ContextPane.test.tsx} +3 -0
- package/src/components/ContextPane/{ContextPane.js → ContextPane.tsx} +2 -0
- package/src/components/CowCard/Bloodline/{Bloodline.test.js → Bloodline.test.tsx} +6 -3
- package/src/components/CowCard/{CowCard.js → CowCard.tsx} +6 -4
- package/src/components/CowCard/Subheader/{Subheader.js → Subheader.tsx} +1 -0
- package/src/components/CowPen/{Cow.js → Cow.tsx} +27 -13
- package/src/components/CowPen/{CowPen.test.js → CowPen.test.tsx} +15 -1
- package/src/components/CowPen/{Tumbleweeds.js → Tumbleweeds.tsx} +2 -1
- package/src/components/Farmhand/{Farmhand.context.js → Farmhand.context.tsx} +2 -2
- package/src/components/Farmhand/{Farmhand.js → Farmhand.tsx} +91 -24
- package/src/components/FermentationRecipeList/{FermentationRecipe.js → FermentationRecipe.tsx} +4 -3
- package/src/components/FermentationRecipeList/{FermentationRecipeList.test.js → FermentationRecipeList.test.tsx} +5 -0
- package/src/components/FermentationRecipeList/{FermentationRecipeList.js → FermentationRecipeList.tsx} +3 -0
- package/src/components/Field/{Field.test.js → Field.test.tsx} +2 -3
- package/src/components/Field/{Field.js → Field.tsx} +23 -18
- package/src/components/Home/{Home.js → Home.tsx} +1 -0
- package/src/components/Home/{SnowBackground.js → SnowBackground.tsx} +2 -0
- package/src/components/Inventory/{Inventory.js → Inventory.tsx} +33 -25
- package/src/components/Item/{Item.js → Item.tsx} +2 -1
- package/src/components/LogView/{LogView.js → LogView.tsx} +23 -18
- package/src/components/Navigation/{Navigation.js → Navigation.tsx} +5 -6
- package/src/components/NotificationSystem/{NotificationSystem.js → NotificationSystem.tsx} +0 -1
- package/src/components/OnlinePeersView/{OnlinePeersView.js → OnlinePeersView.tsx} +7 -4
- package/src/components/Plot/{Plot.test.js → Plot.test.tsx} +8 -8
- package/src/components/Plot/{Plot.js → Plot.tsx} +5 -0
- package/src/components/PriceEventView/{PriceEventView.test.js → PriceEventView.test.tsx} +1 -0
- package/src/components/ProgressBar/{ProgressBar.js → ProgressBar.tsx} +2 -0
- package/src/components/QuantityInput/{QuantityInput.js → QuantityInput.tsx} +1 -0
- package/src/components/Recipe/{Recipe.js → Recipe.tsx} +1 -2
- package/src/components/SettingsView/{RandomSeedInput.js → RandomSeedInput.tsx} +1 -1
- package/src/components/Shop/{Shop.js → Shop.tsx} +2 -1
- package/src/components/Stage/{Stage.test.js → Stage.test.tsx} +1 -0
- package/src/components/Stage/{Stage.js → Stage.tsx} +6 -3
- package/src/components/TierPurchase/{TierPurchase.js → TierPurchase.tsx} +3 -3
- package/src/components/Toolbelt/{Toolbelt.js → Toolbelt.tsx} +3 -0
- package/src/components/UpgradePurchase/{UpgradePurchase.js → UpgradePurchase.tsx} +0 -1
- package/src/components/WineRecipeList/{WineRecipe.test.js → WineRecipe.test.tsx} +10 -1
- package/src/components/WineRecipeList/{WineRecipe.js → WineRecipe.tsx} +2 -1
- package/src/components/WineRecipeList/{WineRecipeList.js → WineRecipeList.tsx} +1 -0
- package/src/components/Workshop/{ForgeTabPanel.js → ForgeTabPanel.tsx} +1 -0
- package/src/components/Workshop/{Workshop.test.js → Workshop.test.tsx} +2 -2
- package/src/components/Workshop/{getUpgradesAvailable.test.js → getUpgradesAvailable.test.ts} +1 -0
- package/src/components/Workshop/{getUpgradesAvailable.js → getUpgradesAvailable.ts} +2 -0
- package/src/{constants.js → constants.ts} +2 -2
- package/src/data/{achievements.test.js → achievements.test.ts} +2 -1
- package/src/data/{achievements.js → achievements.ts} +9 -0
- package/src/data/{crop.js → crop.ts} +5 -4
- package/src/data/crops/{asparagus.js → asparagus.ts} +2 -0
- package/src/data/crops/{carrot.js → carrot.ts} +2 -0
- package/src/data/crops/{corn.js → corn.ts} +2 -0
- package/src/data/crops/{garlic.js → garlic.ts} +2 -0
- package/src/data/crops/{grape.js → grape.ts} +11 -7
- package/src/data/crops/{jalapeno.js → jalapeno.ts} +2 -0
- package/src/data/crops/{olive.js → olive.ts} +2 -0
- package/src/data/crops/{onion.js → onion.ts} +2 -0
- package/src/data/crops/{pea.js → pea.ts} +2 -0
- package/src/data/crops/{potato.js → potato.ts} +2 -0
- package/src/data/crops/{pumpkin.js → pumpkin.ts} +2 -0
- package/src/data/crops/{soybean.js → soybean.ts} +2 -0
- package/src/data/crops/{spinach.js → spinach.ts} +2 -0
- package/src/data/crops/{strawberry.js → strawberry.ts} +2 -0
- package/src/data/crops/{sunflower.js → sunflower.ts} +2 -0
- package/src/data/crops/{sweet-potato.js → sweet-potato.ts} +2 -0
- package/src/data/crops/{tomato.js → tomato.ts} +2 -0
- package/src/data/crops/{watermelon.js → watermelon.ts} +2 -0
- package/src/data/crops/{wheat.js → wheat.ts} +2 -0
- package/src/data/{items.js → items.ts} +12 -12
- package/src/data/{levels.js → levels.ts} +28 -0
- package/src/data/{maps.js → maps.ts} +2 -1
- package/src/data/ores/{bronzeOre.js → bronzeOre.ts} +1 -1
- package/src/data/ores/{coal.js → coal.ts} +1 -1
- package/src/data/ores/{goldOre.js → goldOre.ts} +1 -1
- package/src/data/ores/{ironOre.js → ironOre.ts} +1 -1
- package/src/data/ores/{saltRock.js → saltRock.ts} +1 -1
- package/src/data/ores/{silverOre.js → silverOre.ts} +1 -1
- package/src/data/ores/{stone.js → stone.ts} +1 -1
- package/src/data/{recipes.js → recipes.ts} +43 -43
- package/src/data/{upgrades.js → upgrades.ts} +4 -4
- package/src/{enums.js → enums.ts} +28 -28
- package/src/factories/{CoalFactory.js → CoalFactory.ts} +2 -0
- package/src/factories/{OreFactory.js → OreFactory.ts} +3 -0
- package/src/factories/{ResourceFactory.test.js → ResourceFactory.test.ts} +4 -0
- package/src/factories/{ResourceFactory.js → ResourceFactory.ts} +4 -0
- package/src/factories/{StoneFactory.js → StoneFactory.ts} +1 -0
- package/src/{fetch-utils.js → fetch-utils.ts} +2 -0
- package/src/game-logic/{field-purchase.test.js → field-purchase.test.ts} +4 -2
- package/src/game-logic/reducers/{applyCrows.js → applyCrows.ts} +3 -0
- package/src/game-logic/reducers/{applyLoanInterest.js → applyLoanInterest.ts} +1 -1
- package/src/game-logic/reducers/{applyPrecipitation.js → applyPrecipitation.ts} +6 -6
- package/src/game-logic/reducers/{changeCowAutomaticHugState.js → changeCowAutomaticHugState.ts} +2 -2
- package/src/game-logic/reducers/{computeStateForNextDay.js → computeStateForNextDay.ts} +2 -2
- package/src/game-logic/reducers/{consumeIngredients.js → consumeIngredients.ts} +2 -2
- package/src/game-logic/reducers/{harvestPlot.js → harvestPlot.ts} +4 -4
- package/src/game-logic/reducers/{makeFermentationRecipe.js → makeFermentationRecipe.ts} +1 -0
- package/src/game-logic/reducers/{makeRecipe.test.js → makeRecipe.test.ts} +11 -8
- package/src/game-logic/reducers/{makeWine.test.js → makeWine.test.ts} +0 -2
- package/src/game-logic/reducers/{makeWine.js → makeWine.ts} +1 -0
- package/src/game-logic/reducers/{minePlot.js → minePlot.ts} +1 -0
- package/src/game-logic/reducers/{processCellarSpoilage.test.js → processCellarSpoilage.test.ts} +0 -5
- package/src/game-logic/reducers/{processCellarSpoilage.js → processCellarSpoilage.ts} +0 -1
- package/src/game-logic/reducers/{processCowFertilizerProduction.js → processCowFertilizerProduction.ts} +1 -1
- package/src/game-logic/reducers/{processLevelUp.js → processLevelUp.ts} +3 -0
- package/src/game-logic/reducers/{purchaseField.test.js → purchaseField.test.ts} +2 -0
- package/src/game-logic/reducers/{purchaseField.js → purchaseField.ts} +3 -2
- package/src/game-logic/reducers/{purchaseForest.test.js → purchaseForest.test.tsx} +6 -2
- package/src/game-logic/reducers/{purchaseForest.js → purchaseForest.ts} +3 -2
- package/src/game-logic/reducers/{rotateNotificationLogs.js → rotateNotificationLogs.ts} +1 -1
- package/src/game-logic/reducers/{sellCow.test.js → sellCow.test.ts} +3 -3
- package/src/game-logic/reducers/{sellItem.test.js → sellItem.test.ts} +0 -3
- package/src/game-logic/reducers/{sellKeg.js → sellKeg.ts} +0 -1
- package/src/game-logic/reducers/{spawnWeeds.js → spawnWeeds.ts} +1 -0
- package/src/game-logic/reducers/{updateAchievements.js → updateAchievements.ts} +10 -9
- package/src/game-logic/reducers/{updatePeer.test.js → updatePeer.test.ts} +0 -4
- package/src/game-logic/reducers/{updatePeer.js → updatePeer.ts} +1 -0
- package/src/game-logic/reducers/{updatePlotShoveledState.test.js → updatePlotShoveledState.test.ts} +0 -1
- package/src/handlers/{peer-events.js → peer-events.ts} +9 -3
- package/src/handlers/{ui-events.test.js → ui-events.test.ts} +2 -0
- package/src/handlers/{ui-events.js → ui-events.tsx} +107 -25
- package/src/{index.js → index.tsx} +2 -0
- package/src/scripts/{generate-crop-table.js → generate-crop-table.ts} +5 -4
- package/src/services/{cellar.test.js → cellar.test.ts} +1 -1
- package/src/services/{wine.js → wine.ts} +1 -0
- package/src/shell/{notifications.test.js → notifications.test.ts} +19 -13
- package/src/{templates.js → templates.ts} +8 -0
- package/src/test-utils/{index.js → index.ts} +3 -3
- package/src/test-utils/stubs/{getKegStub.js → getKegStub.ts} +1 -0
- package/src/utils/{farmProductsSold.js → farmProductsSold.tsx} +2 -0
- package/src/utils/{getCropLifecycleDuration.js → getCropLifecycleDuration.ts} +1 -0
- package/src/utils/{getCropsAvailableToFerment.js → getCropsAvailableToFerment.ts} +1 -0
- package/src/utils/{getInventoryQuantityMap.js → getInventoryQuantityMap.ts} +1 -0
- package/src/utils/{getLevelEntitlements.js → getLevelEntitlements.ts} +4 -0
- package/src/utils/{getMaxYieldOfFermentationRecipe.js → getMaxYieldOfFermentationRecipe.ts} +1 -0
- package/src/utils/{getWineVarietiesAvailableToMake.js → getWineVarietiesAvailableToMake.ts} +2 -0
- package/src/utils/{index.test.js → index.test.ts} +0 -2
- package/src/utils/{index.js → index.tsx} +31 -18
- package/src/utils/{isItemAFarmProduct.js → isItemAFarmProduct.ts} +1 -1
- package/src/utils/{memoize.js → memoize.ts} +2 -0
- package/src/utils/{totalIngredientsInRecipe.js → totalIngredientsInRecipe.ts} +2 -0
- /package/src/common/{constants.js → constants.ts} +0 -0
- /package/src/common/services/{randomNumber.test.js → randomNumber.test.ts} +0 -0
- /package/src/common/{utils.test.js → utils.test.ts} +0 -0
- /package/src/components/AccountingView/{AccountingView.test.js → AccountingView.test.tsx} +0 -0
- /package/src/components/AccountingView/{index.js → index.ts} +0 -0
- /package/src/components/Achievement/{Achievement.test.js → Achievement.test.tsx} +0 -0
- /package/src/components/Achievement/{Achievement.js → Achievement.tsx} +0 -0
- /package/src/components/Achievement/{index.js → index.ts} +0 -0
- /package/src/components/AchievementsView/{AchievementsView.test.js → AchievementsView.test.tsx} +0 -0
- /package/src/components/AchievementsView/{index.js → index.ts} +0 -0
- /package/src/components/AnimatedNumber/{AnimatedNumber.test.js → AnimatedNumber.test.tsx} +0 -0
- /package/src/components/AnimatedNumber/{index.js → index.ts} +0 -0
- /package/src/components/AppBar/{AppBar.test.js → AppBar.test.tsx} +0 -0
- /package/src/components/AppBar/{index.js → index.ts} +0 -0
- /package/src/components/BailOutErrorBoundary/{BailOutErrorBoundary.test.js → BailOutErrorBoundary.test.tsx} +0 -0
- /package/src/components/BailOutErrorBoundary/{index.js → index.ts} +0 -0
- /package/src/components/Cellar/{Cellar.js → Cellar.tsx} +0 -0
- /package/src/components/Cellar/{FermentationTabPanel.js → FermentationTabPanel.tsx} +0 -0
- /package/src/components/Cellar/TabPanel/{index.js → index.tsx} +0 -0
- /package/src/components/Cellar/{WinemakingTabPanel.js → WinemakingTabPanel.tsx} +0 -0
- /package/src/components/Cellar/{index.js → index.ts} +0 -0
- /package/src/components/ChatRoom/{ChatRoom.js → ChatRoom.tsx} +0 -0
- /package/src/components/ChatRoom/{index.js → index.ts} +0 -0
- /package/src/components/ContextPane/{index.js → index.ts} +0 -0
- /package/src/components/CowCard/Bloodline/{Bloodline.js → Bloodline.tsx} +0 -0
- /package/src/components/CowCard/Bloodline/{index.js → index.ts} +0 -0
- /package/src/components/CowCard/{CowCard.test.js → CowCard.test.tsx} +0 -0
- /package/src/components/CowCard/Subheader/{Subheader.test.js → Subheader.test.tsx} +0 -0
- /package/src/components/CowCard/Subheader/{index.js → index.ts} +0 -0
- /package/src/components/CowCard/{index.js → index.ts} +0 -0
- /package/src/components/CowPen/{CowPen.js → CowPen.tsx} +0 -0
- /package/src/components/CowPen/{index.js → index.ts} +0 -0
- /package/src/components/CowPenContextMenu/{CowPenContextMenu.test.js → CowPenContextMenu.test.tsx} +0 -0
- /package/src/components/CowPenContextMenu/{CowPenContextMenu.js → CowPenContextMenu.tsx} +0 -0
- /package/src/components/CowPenContextMenu/TabPanel/{index.js → index.tsx} +0 -0
- /package/src/components/CowPenContextMenu/{index.js → index.ts} +0 -0
- /package/src/components/Elements/{index.js → index.ts} +0 -0
- /package/src/components/Farmhand/{Farmhand.test.js → Farmhand.test.ts} +0 -0
- /package/src/components/Farmhand/{FarmhandReducers.js → FarmhandReducers.tsx} +0 -0
- /package/src/components/Farmhand/helpers/{getInventoryQuantities.test.js → getInventoryQuantities.test.ts} +0 -0
- /package/src/components/Farmhand/helpers/{getInventoryQuantities.js → getInventoryQuantities.ts} +0 -0
- /package/src/components/Farmhand/{index.js → index.ts} +0 -0
- /package/src/components/Field/{index.js → index.ts} +0 -0
- /package/src/components/Forest/{Forest.js → Forest.tsx} +0 -0
- /package/src/components/Forest/{index.js → index.ts} +0 -0
- /package/src/components/Home/{Home.test.js → Home.test.tsx} +0 -0
- /package/src/components/Home/{index.js → index.ts} +0 -0
- /package/src/components/IngredientsList/{IngredientsList.test.js → IngredientsList.test.tsx} +0 -0
- /package/src/components/IngredientsList/{IngredientsList.js → IngredientsList.tsx} +0 -0
- /package/src/components/IngredientsList/{index.js → index.ts} +0 -0
- /package/src/components/Inventory/{Inventory.test.js → Inventory.test.tsx} +0 -0
- /package/src/components/Inventory/{index.js → index.ts} +0 -0
- /package/src/components/Item/{Item.test.js → Item.test.tsx} +0 -0
- /package/src/components/Item/{index.js → index.ts} +0 -0
- /package/src/components/KeybindingsView/{KeybindingsView.test.js → KeybindingsView.test.tsx} +0 -0
- /package/src/components/KeybindingsView/{KeybindingsView.js → KeybindingsView.tsx} +0 -0
- /package/src/components/KeybindingsView/{index.js → index.ts} +0 -0
- /package/src/components/LogView/{LogView.test.js → LogView.test.tsx} +0 -0
- /package/src/components/LogView/{index.js → index.ts} +0 -0
- /package/src/components/Navigation/{DayAndProgressContainer.js → DayAndProgressContainer.tsx} +0 -0
- /package/src/components/Navigation/{Navigation.test.js → Navigation.test.tsx} +0 -0
- /package/src/components/Navigation/{index.js → index.ts} +0 -0
- /package/src/components/NotificationSystem/{NotificationSystem.test.js → NotificationSystem.test.tsx} +0 -0
- /package/src/components/NotificationSystem/{index.js → index.ts} +0 -0
- /package/src/components/OnlinePeersView/OnlinePeer/{OnlinePeer.test.js → OnlinePeer.test.tsx} +0 -0
- /package/src/components/OnlinePeersView/OnlinePeer/{OnlinePeer.js → OnlinePeer.tsx} +0 -0
- /package/src/components/OnlinePeersView/OnlinePeer/{index.js → index.ts} +0 -0
- /package/src/components/OnlinePeersView/{OnlinePeersView.test.js → OnlinePeersView.test.tsx} +0 -0
- /package/src/components/OnlinePeersView/{index.js → index.ts} +0 -0
- /package/src/components/Plot/{index.js → index.ts} +0 -0
- /package/src/components/PriceEventView/{PriceEventView.js → PriceEventView.tsx} +0 -0
- /package/src/components/PriceEventView/{index.js → index.ts} +0 -0
- /package/src/components/ProgressBar/{ProgressBar.test.js → ProgressBar.test.tsx} +0 -0
- /package/src/components/ProgressBar/{index.js → index.ts} +0 -0
- /package/src/components/QuantityInput/{QuantityInput.test.js → QuantityInput.test.tsx} +0 -0
- /package/src/components/QuantityInput/{index.js → index.ts} +0 -0
- /package/src/components/QuickSelect/{QuickSelect.test.js → QuickSelect.test.tsx} +0 -0
- /package/src/components/QuickSelect/{QuickSelect.js → QuickSelect.tsx} +0 -0
- /package/src/components/QuickSelect/{index.js → index.ts} +0 -0
- /package/src/components/Recipe/{Recipe.test.js → Recipe.test.tsx} +0 -0
- /package/src/components/Recipe/{index.js → index.ts} +0 -0
- /package/src/components/RecipeList/{RecipeList.js → RecipeList.tsx} +0 -0
- /package/src/components/SearchBar/{SearchBar.test.js → SearchBar.test.tsx} +0 -0
- /package/src/components/SearchBar/{SearchBar.js → SearchBar.tsx} +0 -0
- /package/src/components/SearchBar/{index.js → index.ts} +0 -0
- /package/src/components/SettingsView/{RandomSeedInput.test.js → RandomSeedInput.test.tsx} +0 -0
- /package/src/components/SettingsView/{SettingsView.test.js → SettingsView.test.tsx} +0 -0
- /package/src/components/SettingsView/{SettingsView.js → SettingsView.tsx} +0 -0
- /package/src/components/SettingsView/{index.js → index.ts} +0 -0
- /package/src/components/Shop/{Shop.test.js → Shop.test.tsx} +0 -0
- /package/src/components/Shop/TabPanel/{index.js → index.tsx} +0 -0
- /package/src/components/Shop/{index.js → index.ts} +0 -0
- /package/src/components/Stage/{index.js → index.ts} +0 -0
- /package/src/components/StatsView/{StatsView.test.js → StatsView.test.tsx} +0 -0
- /package/src/components/StatsView/{StatsView.js → StatsView.tsx} +0 -0
- /package/src/components/StatsView/{index.js → index.ts} +0 -0
- /package/src/components/TierPurchase/{TierPurchase.test.js → TierPurchase.test.tsx} +0 -0
- /package/src/components/TierPurchase/{index.js → index.ts} +0 -0
- /package/src/components/Toolbelt/{Toolbelt.test.js → Toolbelt.test.tsx} +0 -0
- /package/src/components/Toolbelt/{index.js → index.ts} +0 -0
- /package/src/components/UpdateNotifier/{UpdateNotifier.js → UpdateNotifier.tsx} +0 -0
- /package/src/components/UpdateNotifier/{index.js → index.ts} +0 -0
- /package/src/components/UpgradePurchase/{UpgradePurchase.test.js → UpgradePurchase.test.tsx} +0 -0
- /package/src/components/UpgradePurchase/{index.js → index.ts} +0 -0
- /package/src/components/Workshop/{KitchenTabPanel.js → KitchenTabPanel.tsx} +0 -0
- /package/src/components/Workshop/{RecyclingTabPanel.js → RecyclingTabPanel.tsx} +0 -0
- /package/src/components/Workshop/TabPanel/{index.js → index.tsx} +0 -0
- /package/src/components/Workshop/{Workshop.js → Workshop.tsx} +0 -0
- /package/src/components/Workshop/{index.js → index.ts} +0 -0
- /package/src/{config.js → config.ts} +0 -0
- /package/src/data/__mocks__/{items.js → items.ts} +0 -0
- /package/src/data/__mocks__/{maps.js → maps.ts} +0 -0
- /package/src/data/__mocks__/{recipes.js → recipes.ts} +0 -0
- /package/src/data/__mocks__/{shop-inventory.js → shop-inventory.ts} +0 -0
- /package/src/data/crops/{index.js → index.ts} +0 -0
- /package/src/data/{fruit-names.js → fruit-names.ts} +0 -0
- /package/src/data/{items-map.js → items-map.ts} +0 -0
- /package/src/data/ores/{index.js → index.ts} +0 -0
- /package/src/data/{shop-inventory-cow.js → shop-inventory-cow.ts} +0 -0
- /package/src/data/{shop-inventory.js → shop-inventory.ts} +0 -0
- /package/src/data/{tools.js → tools.ts} +0 -0
- /package/src/factories/{CoalFactory.test.js → CoalFactory.test.ts} +0 -0
- /package/src/factories/{OreFactory.test.js → OreFactory.test.ts} +0 -0
- /package/src/factories/{StoneFactory.test.js → StoneFactory.test.ts} +0 -0
- /package/src/factories/{index.js → index.ts} +0 -0
- /package/src/game-logic/cows/{cow-selection.test.js → cow-selection.test.ts} +0 -0
- /package/src/game-logic/{item-purchase.test.js → item-purchase.test.ts} +0 -0
- /package/src/game-logic/{item-sell.test.js → item-sell.test.ts} +0 -0
- /package/src/game-logic/reducers/{addCowToInventory.js → addCowToInventory.ts} +0 -0
- /package/src/game-logic/reducers/{addExperience.test.js → addExperience.test.ts} +0 -0
- /package/src/game-logic/reducers/{addExperience.js → addExperience.ts} +0 -0
- /package/src/game-logic/reducers/{addItemToInventory.test.js → addItemToInventory.test.ts} +0 -0
- /package/src/game-logic/reducers/{addItemToInventory.js → addItemToInventory.ts} +0 -0
- /package/src/game-logic/reducers/{addKegToCellarInventory.js → addKegToCellarInventory.ts} +0 -0
- /package/src/game-logic/reducers/{addPeer.js → addPeer.ts} +0 -0
- /package/src/game-logic/reducers/{addRevenue.js → addRevenue.ts} +0 -0
- /package/src/game-logic/reducers/{adjustLoan.test.js → adjustLoan.test.ts} +0 -0
- /package/src/game-logic/reducers/{adjustLoan.js → adjustLoan.ts} +0 -0
- /package/src/game-logic/reducers/{applyCrows.test.js → applyCrows.test.ts} +0 -0
- /package/src/game-logic/reducers/{applyLoanInterest.test.js → applyLoanInterest.test.ts} +0 -0
- /package/src/game-logic/reducers/{applyPrecipitation.test.js → applyPrecipitation.test.ts} +0 -0
- /package/src/game-logic/reducers/{changeCowAutomaticHugState.test.js → changeCowAutomaticHugState.test.ts} +0 -0
- /package/src/game-logic/reducers/{changeCowBreedingPenResident.test.js → changeCowBreedingPenResident.test.ts} +0 -0
- /package/src/game-logic/reducers/{changeCowBreedingPenResident.js → changeCowBreedingPenResident.ts} +0 -0
- /package/src/game-logic/reducers/{changeCowName.test.js → changeCowName.test.ts} +0 -0
- /package/src/game-logic/reducers/{changeCowName.js → changeCowName.ts} +0 -0
- /package/src/game-logic/reducers/{clearPlot.test.js → clearPlot.test.ts} +0 -0
- /package/src/game-logic/reducers/{clearPlot.js → clearPlot.ts} +0 -0
- /package/src/game-logic/reducers/{computeCowInventoryForNextDay.test.js → computeCowInventoryForNextDay.test.ts} +0 -0
- /package/src/game-logic/reducers/{computeCowInventoryForNextDay.js → computeCowInventoryForNextDay.ts} +0 -0
- /package/src/game-logic/reducers/{computeStateForNextDay.test.js → computeStateForNextDay.test.ts} +0 -0
- /package/src/game-logic/reducers/{consumeIngredients.test.js → consumeIngredients.test.ts} +0 -0
- /package/src/game-logic/reducers/{createPriceEvent.test.js → createPriceEvent.test.ts} +0 -0
- /package/src/game-logic/reducers/{createPriceEvent.js → createPriceEvent.ts} +0 -0
- /package/src/game-logic/reducers/{decrementItemFromInventory.test.js → decrementItemFromInventory.test.ts} +0 -0
- /package/src/game-logic/reducers/{decrementItemFromInventory.js → decrementItemFromInventory.ts} +0 -0
- /package/src/game-logic/reducers/{fertilizePlot.test.js → fertilizePlot.test.ts} +0 -0
- /package/src/game-logic/reducers/{fertilizePlot.js → fertilizePlot.ts} +0 -0
- /package/src/game-logic/reducers/{forRange.test.js → forRange.test.ts} +0 -0
- /package/src/game-logic/reducers/{forRange.js → forRange.ts} +0 -0
- /package/src/game-logic/reducers/{generatePriceEvents.test.js → generatePriceEvents.test.ts} +0 -0
- /package/src/game-logic/reducers/{generatePriceEvents.js → generatePriceEvents.ts} +0 -0
- /package/src/game-logic/reducers/{harvestPlot.test.js → harvestPlot.test.ts} +0 -0
- /package/src/game-logic/reducers/{helpers.js → helpers.tsx} +0 -0
- /package/src/game-logic/reducers/{hugCow.test.js → hugCow.test.ts} +0 -0
- /package/src/game-logic/reducers/{hugCow.js → hugCow.ts} +0 -0
- /package/src/game-logic/reducers/{incrementPlotContentAge.test.js → incrementPlotContentAge.test.ts} +0 -0
- /package/src/game-logic/reducers/{incrementPlotContentAge.js → incrementPlotContentAge.ts} +0 -0
- /package/src/game-logic/reducers/{index.js → index.ts} +0 -0
- /package/src/game-logic/reducers/{makeFermentationRecipe.test.js → makeFermentationRecipe.test.ts} +0 -0
- /package/src/game-logic/reducers/{makeRecipe.js → makeRecipe.ts} +0 -0
- /package/src/game-logic/reducers/{minePlot.test.js → minePlot.test.ts} +0 -0
- /package/src/game-logic/reducers/{modifyCow.js → modifyCow.ts} +0 -0
- /package/src/game-logic/reducers/{modifyFieldPlotAt.js → modifyFieldPlotAt.ts} +0 -0
- /package/src/game-logic/reducers/{offerCow.test.js → offerCow.test.ts} +0 -0
- /package/src/game-logic/reducers/{offerCow.js → offerCow.ts} +0 -0
- /package/src/game-logic/reducers/{plantInPlot.test.js → plantInPlot.test.ts} +0 -0
- /package/src/game-logic/reducers/{plantInPlot.js → plantInPlot.ts} +0 -0
- /package/src/game-logic/reducers/{prependPendingPeerMessage.test.js → prependPendingPeerMessage.test.ts} +0 -0
- /package/src/game-logic/reducers/{prependPendingPeerMessage.js → prependPendingPeerMessage.ts} +0 -0
- /package/src/game-logic/reducers/{processCellar.test.js → processCellar.test.ts} +0 -0
- /package/src/game-logic/reducers/{processCellar.js → processCellar.ts} +0 -0
- /package/src/game-logic/reducers/{processCowAttrition.test.js → processCowAttrition.test.ts} +0 -0
- /package/src/game-logic/reducers/{processCowAttrition.js → processCowAttrition.ts} +0 -0
- /package/src/game-logic/reducers/{processCowBreeding.test.js → processCowBreeding.test.ts} +0 -0
- /package/src/game-logic/reducers/{processCowBreeding.js → processCowBreeding.ts} +0 -0
- /package/src/game-logic/reducers/{processCowFertilizerProduction.test.js → processCowFertilizerProduction.test.ts} +0 -0
- /package/src/game-logic/reducers/{processFeedingCows.test.js → processFeedingCows.test.ts} +0 -0
- /package/src/game-logic/reducers/{processFeedingCows.js → processFeedingCows.ts} +0 -0
- /package/src/game-logic/reducers/{processField.js → processField.ts} +0 -0
- /package/src/game-logic/reducers/{processLevelUp.test.js → processLevelUp.test.ts} +0 -0
- /package/src/game-logic/reducers/{processMilkingCows.test.js → processMilkingCows.test.ts} +0 -0
- /package/src/game-logic/reducers/{processMilkingCows.js → processMilkingCows.ts} +0 -0
- /package/src/game-logic/reducers/{processNerfs.test.js → processNerfs.test.ts} +0 -0
- /package/src/game-logic/reducers/{processNerfs.js → processNerfs.ts} +0 -0
- /package/src/game-logic/reducers/{processSprinklers.test.js → processSprinklers.test.ts} +0 -0
- /package/src/game-logic/reducers/{processSprinklers.js → processSprinklers.ts} +0 -0
- /package/src/game-logic/reducers/{processWeather.test.js → processWeather.test.ts} +0 -0
- /package/src/game-logic/reducers/{processWeather.js → processWeather.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseCellar.test.js → purchaseCellar.test.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseCellar.js → purchaseCellar.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseCombine.test.js → purchaseCombine.test.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseCombine.js → purchaseCombine.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseComposter.test.js → purchaseComposter.test.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseComposter.js → purchaseComposter.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseCow.test.js → purchaseCow.test.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseCow.js → purchaseCow.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseCowPen.test.js → purchaseCowPen.test.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseCowPen.js → purchaseCowPen.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseItem.test.js → purchaseItem.test.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseItem.js → purchaseItem.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseSmelter.test.js → purchaseSmelter.test.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseSmelter.js → purchaseSmelter.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseStorageExpansion.test.js → purchaseStorageExpansion.test.ts} +0 -0
- /package/src/game-logic/reducers/{purchaseStorageExpansion.js → purchaseStorageExpansion.ts} +0 -0
- /package/src/game-logic/reducers/{removeCowFromInventory.js → removeCowFromInventory.ts} +0 -0
- /package/src/game-logic/reducers/{removeFieldPlotAt.js → removeFieldPlotAt.ts} +0 -0
- /package/src/game-logic/reducers/{removeKegFromCellar.js → removeKegFromCellar.ts} +0 -0
- /package/src/game-logic/reducers/{removePeer.js → removePeer.ts} +0 -0
- /package/src/game-logic/reducers/{rotateNotificationLogs.test.js → rotateNotificationLogs.test.ts} +0 -0
- /package/src/game-logic/reducers/{selectCow.test.js → selectCow.test.ts} +0 -0
- /package/src/game-logic/reducers/{selectCow.js → selectCow.ts} +0 -0
- /package/src/game-logic/reducers/{sellCow.js → sellCow.ts} +0 -0
- /package/src/game-logic/reducers/{sellItem.js → sellItem.ts} +0 -0
- /package/src/game-logic/reducers/{sellKeg.test.js → sellKeg.test.ts} +0 -0
- /package/src/game-logic/reducers/{setScarecrow.test.js → setScarecrow.test.ts} +0 -0
- /package/src/game-logic/reducers/{setScarecrow.js → setScarecrow.ts} +0 -0
- /package/src/game-logic/reducers/{setSprinkler.test.js → setSprinkler.test.ts} +0 -0
- /package/src/game-logic/reducers/{setSprinkler.js → setSprinkler.ts} +0 -0
- /package/src/game-logic/reducers/{showNotification.test.js → showNotification.test.ts} +0 -0
- /package/src/game-logic/reducers/{showNotification.js → showNotification.ts} +0 -0
- /package/src/game-logic/reducers/{spawnWeeds.test.js → spawnWeeds.test.ts} +0 -0
- /package/src/game-logic/reducers/{unlockTool.test.js → unlockTool.test.ts} +0 -0
- /package/src/game-logic/reducers/{unlockTool.js → unlockTool.ts} +0 -0
- /package/src/game-logic/reducers/{updateAchievements.test.js → updateAchievements.test.ts} +0 -0
- /package/src/game-logic/reducers/{updateFinancialRecords.test.js → updateFinancialRecords.test.ts} +0 -0
- /package/src/game-logic/reducers/{updateFinancialRecords.js → updateFinancialRecords.ts} +0 -0
- /package/src/game-logic/reducers/{updateInventoryRecordsForNextDay.test.js → updateInventoryRecordsForNextDay.test.ts} +0 -0
- /package/src/game-logic/reducers/{updateInventoryRecordsForNextDay.js → updateInventoryRecordsForNextDay.ts} +0 -0
- /package/src/game-logic/reducers/{updateLearnedRecipes.test.js → updateLearnedRecipes.test.ts} +0 -0
- /package/src/game-logic/reducers/{updateLearnedRecipes.js → updateLearnedRecipes.ts} +0 -0
- /package/src/game-logic/reducers/{updatePlotShoveledState.js → updatePlotShoveledState.ts} +0 -0
- /package/src/game-logic/reducers/{updatePriceEvents.test.js → updatePriceEvents.test.ts} +0 -0
- /package/src/game-logic/reducers/{updatePriceEvents.js → updatePriceEvents.tsx} +0 -0
- /package/src/game-logic/reducers/{upgradeTool.test.js → upgradeTool.test.ts} +0 -0
- /package/src/game-logic/reducers/{upgradeTool.js → upgradeTool.ts} +0 -0
- /package/src/game-logic/reducers/{waterAllPlots.test.js → waterAllPlots.test.ts} +0 -0
- /package/src/game-logic/reducers/{waterAllPlots.js → waterAllPlots.ts} +0 -0
- /package/src/game-logic/reducers/{waterField.js → waterField.ts} +0 -0
- /package/src/game-logic/reducers/{waterPlot.test.js → waterPlot.test.ts} +0 -0
- /package/src/game-logic/reducers/{waterPlot.js → waterPlot.ts} +0 -0
- /package/src/game-logic/reducers/{withdrawCow.test.js → withdrawCow.test.ts} +0 -0
- /package/src/game-logic/reducers/{withdrawCow.js → withdrawCow.ts} +0 -0
- /package/src/img/__mocks__/{index.js → index.ts} +0 -0
- /package/src/img/{index.js → index.ts} +0 -0
- /package/src/interfaces/{Factory.js → Factory.ts} +0 -0
- /package/src/{mui-theme.js → mui-theme.ts} +0 -0
- /package/src/{polyfills.js → polyfills.ts} +0 -0
- /package/src/services/{cellar.js → cellar.ts} +0 -0
- /package/src/services/{wine.test.js → wine.test.ts} +0 -0
- /package/src/{setupTests.js → setupTests.ts} +0 -0
- /package/src/shell/{bootup.test.js → bootup.test.ts} +0 -0
- /package/src/shell/{field.test.js → field.test.ts} +0 -0
- /package/src/shell/{game-saving.test.js → game-saving.test.ts} +0 -0
- /package/src/shell/{navigation.test.js → navigation.test.ts} +0 -0
- /package/src/shell/{pending-notifications.test.js → pending-notifications.test.ts} +0 -0
- /package/src/{strings.js → strings.ts} +0 -0
- /package/src/test-utils/stubs/{cowStub.js → cowStub.ts} +0 -0
- /package/src/test-utils/stubs/{farmhandStub.js → farmhandStub.tsx} +0 -0
- /package/src/test-utils/stubs/{itemStub.js → itemStub.ts} +0 -0
- /package/src/test-utils/stubs/{peerMetadataStub.js → peerMetadataStub.ts} +0 -0
- /package/src/test-utils/stubs/{saveDataStubFactory.js → saveDataStubFactory.ts} +0 -0
- /package/src/test-utils/{ui.js → ui.ts} +0 -0
- /package/src/utils/__snapshots__/{index.test.js.snap → index.test.ts.snap} +0 -0
- /package/src/utils/{findInField.test.js → findInField.test.ts} +0 -0
- /package/src/utils/{findInField.js → findInField.ts} +0 -0
- /package/src/utils/{getCropLifecycleDuration.test.js → getCropLifecycleDuration.test.ts} +0 -0
- /package/src/utils/{getCropsAvailableToFerment.test.js → getCropsAvailableToFerment.test.ts} +0 -0
- /package/src/utils/{getItemBaseValue.js → getItemBaseValue.ts} +0 -0
- /package/src/utils/{getKegSpoilageRate.test.js → getKegSpoilageRate.test.ts} +0 -0
- /package/src/utils/{getKegSpoilageRate.js → getKegSpoilageRate.ts} +0 -0
- /package/src/utils/{getKegValue.test.js → getKegValue.test.ts} +0 -0
- /package/src/utils/{getKegValue.js → getKegValue.ts} +0 -0
- /package/src/utils/{getLevelEntitlements.test.js → getLevelEntitlements.test.ts} +0 -0
- /package/src/utils/{getMaxYieldOfFermentationRecipe.test.js → getMaxYieldOfFermentationRecipe.test.ts} +0 -0
- /package/src/utils/{getSaltRequirementsForFermentationRecipe.js → getSaltRequirementsForFermentationRecipe.ts} +0 -0
- /package/src/utils/{getWineVarietiesAvailableToMake.test.js → getWineVarietiesAvailableToMake.test.ts} +0 -0
- /package/src/utils/{getYeastRequiredForWine.js → getYeastRequiredForWine.ts} +0 -0
- /package/src/utils/{isItemAGrownCrop.js → isItemAGrownCrop.ts} +0 -0
- /package/src/utils/{levelAchieved.js → levelAchieved.ts} +0 -0
- /package/src/utils/{moneyString.test.js → moneyString.test.ts} +0 -0
- /package/src/utils/{moneyString.js → moneyString.ts} +0 -0
- /package/src/utils/{noop.js → noop.ts} +0 -0
- /package/src/utils/{totalIngredientsInRecipe.test.js → totalIngredientsInRecipe.test.ts} +0 -0
|
@@ -58,7 +58,8 @@ const WineRecipeStub = (
|
|
|
58
58
|
handlers: { ...stubHandlers, ...handlers },
|
|
59
59
|
}}
|
|
60
60
|
>
|
|
61
|
-
|
|
61
|
+
{/* @ts-expect-error */}
|
|
62
|
+
<WineRecipe wineVariety={grapeChardonnay.variety as any} {...props} />
|
|
62
63
|
</FarmhandContext.Provider>
|
|
63
64
|
)
|
|
64
65
|
}
|
|
@@ -83,6 +84,7 @@ describe('WineRecipe', () => {
|
|
|
83
84
|
render(
|
|
84
85
|
<WineRecipeStub
|
|
85
86
|
props={{ wineVariety: grape.variety }}
|
|
87
|
+
// @ts-expect-error
|
|
86
88
|
state={{ inventory: [{ id: grape.id, quantity: 1 }] }}
|
|
87
89
|
/>
|
|
88
90
|
)
|
|
@@ -110,6 +112,7 @@ describe('WineRecipe', () => {
|
|
|
110
112
|
render(
|
|
111
113
|
<WineRecipeStub
|
|
112
114
|
props={{ wineVariety: grape.variety }}
|
|
115
|
+
// @ts-expect-error
|
|
113
116
|
state={{ inventory: [{ id: grape.id, quantity }] }}
|
|
114
117
|
/>
|
|
115
118
|
)
|
|
@@ -139,6 +142,7 @@ describe('WineRecipe', () => {
|
|
|
139
142
|
render(
|
|
140
143
|
<WineRecipeStub
|
|
141
144
|
props={{ wineVariety: grape.variety }}
|
|
145
|
+
// @ts-expect-error
|
|
142
146
|
state={{
|
|
143
147
|
inventory: [
|
|
144
148
|
{ id: grape.id, quantity: GRAPES_REQUIRED_FOR_WINE },
|
|
@@ -177,7 +181,9 @@ describe('WineRecipe', () => {
|
|
|
177
181
|
<WineRecipeStub
|
|
178
182
|
props={{ wineVariety: grape.variety }}
|
|
179
183
|
state={{
|
|
184
|
+
// @ts-expect-error
|
|
180
185
|
cellarInventory: new Array(quantity).fill(
|
|
186
|
+
// @ts-expect-error
|
|
181
187
|
getKegStub({ itemId: grape.wineId })
|
|
182
188
|
),
|
|
183
189
|
}}
|
|
@@ -208,6 +214,7 @@ describe('WineRecipe', () => {
|
|
|
208
214
|
render(
|
|
209
215
|
<WineRecipeStub
|
|
210
216
|
props={{ wineVariety: grape.variety }}
|
|
217
|
+
// @ts-expect-error
|
|
211
218
|
state={{
|
|
212
219
|
inventory: [
|
|
213
220
|
{ id: grape.id, quantity: grapeQuantity },
|
|
@@ -235,6 +242,7 @@ describe('WineRecipe', () => {
|
|
|
235
242
|
render(
|
|
236
243
|
<WineRecipeStub
|
|
237
244
|
props={{ wineVariety: grape.variety }}
|
|
245
|
+
// @ts-expect-error
|
|
238
246
|
state={{
|
|
239
247
|
inventory: [
|
|
240
248
|
{ id: grape.id, quantity: grapeQuantity },
|
|
@@ -261,6 +269,7 @@ describe('WineRecipe', () => {
|
|
|
261
269
|
render(
|
|
262
270
|
<WineRecipeStub
|
|
263
271
|
props={{ wineVariety: grape.variety }}
|
|
272
|
+
// @ts-expect-error
|
|
264
273
|
state={{
|
|
265
274
|
inventory: [
|
|
266
275
|
{ id: grape.id, quantity: grapeQuantity },
|
|
@@ -43,6 +43,7 @@ export const WineRecipe = ({ wineVariety }) => {
|
|
|
43
43
|
const [quantity, setQuantity] = useState(1)
|
|
44
44
|
const wineName = grapeVarietyNameMap[wineVariety]
|
|
45
45
|
const grape = grapeVarietyToGrapeItemMap[wineVariety]
|
|
46
|
+
// @ts-expect-error
|
|
46
47
|
const wine = itemsMap[grape.wineId]
|
|
47
48
|
const { space: cellarSize } = PURCHASEABLE_CELLARS.get(purchasedCellar) ?? {
|
|
48
49
|
space: 0,
|
|
@@ -99,7 +100,7 @@ export const WineRecipe = ({ wineVariety }) => {
|
|
|
99
100
|
subheader={
|
|
100
101
|
<>
|
|
101
102
|
<p>
|
|
102
|
-
Days to mature:
|
|
103
|
+
Days to mature:{' '}
|
|
103
104
|
{integerString(wineService.getDaysToMature(wineVariety))}
|
|
104
105
|
</p>
|
|
105
106
|
<p>
|
|
@@ -22,6 +22,7 @@ export const WineRecipeList = () => {
|
|
|
22
22
|
const [searchQuery, setSearchQuery] = useState('')
|
|
23
23
|
|
|
24
24
|
const filteredWineVarieties = wineVarietiesAvailableToMake.filter(
|
|
25
|
+
// @ts-expect-error
|
|
25
26
|
wineVariety => wineVariety.toLowerCase().includes(searchQuery.toLowerCase())
|
|
26
27
|
)
|
|
27
28
|
|
|
@@ -67,11 +67,11 @@ describe('<Workshop />', () => {
|
|
|
67
67
|
}
|
|
68
68
|
})
|
|
69
69
|
|
|
70
|
-
const renderWorkshop =
|
|
70
|
+
const renderWorkshop = gameStateParam => {
|
|
71
71
|
render(
|
|
72
72
|
<FarmhandContext.Provider
|
|
73
73
|
value={{
|
|
74
|
-
gameState,
|
|
74
|
+
gameState: gameStateParam,
|
|
75
75
|
// @ts-expect-error
|
|
76
76
|
handlers: {},
|
|
77
77
|
}}
|
|
@@ -18,6 +18,7 @@ export function getUpgradesAvailable({ learnedForgeRecipes, toolLevels }) {
|
|
|
18
18
|
const nextLevelUpgrade = toolUpgrades[type][upgrade.nextLevel]
|
|
19
19
|
let allIngredientsUnlocked = true
|
|
20
20
|
|
|
21
|
+
// @ts-expect-error
|
|
21
22
|
for (let ingredient of Object.keys(nextLevelUpgrade.ingredients)) {
|
|
22
23
|
allIngredientsUnlocked =
|
|
23
24
|
allIngredientsUnlocked &&
|
|
@@ -27,6 +28,7 @@ export function getUpgradesAvailable({ learnedForgeRecipes, toolLevels }) {
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
if (allIngredientsUnlocked) {
|
|
31
|
+
// @ts-expect-error
|
|
30
32
|
upgradesAvailable.push(nextLevelUpgrade)
|
|
31
33
|
}
|
|
32
34
|
}
|
|
@@ -59,9 +59,9 @@ export const PURCHASABLE_FOREST_SIZES = freeze(
|
|
|
59
59
|
])
|
|
60
60
|
)
|
|
61
61
|
|
|
62
|
-
export const LARGEST_PURCHASABLE_FIELD_SIZE = /** @type {farmhand.purchaseableFieldSize} */
|
|
62
|
+
export const LARGEST_PURCHASABLE_FIELD_SIZE = /** @type {farmhand.purchaseableFieldSize} */ PURCHASEABLE_FIELD_SIZES.get(
|
|
63
63
|
PURCHASEABLE_FIELD_SIZES.size
|
|
64
|
-
)
|
|
64
|
+
)
|
|
65
65
|
|
|
66
66
|
export const PURCHASEABLE_COMBINES = freeze(
|
|
67
67
|
new Map([[1, { type: 'Basic', price: 250_000 }]])
|
|
@@ -80,7 +80,8 @@ describe.each(iAmRichVariants)(
|
|
|
80
80
|
test(`is not achieved when revenue is less than ${goal}`, () => {
|
|
81
81
|
const achievement = achievementsMap[id]
|
|
82
82
|
const state = {
|
|
83
|
-
|
|
83
|
+
// @ts-expect-error
|
|
84
|
+
revenue: /** @type {number} */ goal - 1,
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
expect(achievement.condition(state)).toEqual(false)
|
|
@@ -28,8 +28,10 @@ const addMoney = (state, reward) => ({
|
|
|
28
28
|
money: moneyTotal(state.money, reward),
|
|
29
29
|
})
|
|
30
30
|
|
|
31
|
+
// @ts-expect-error
|
|
31
32
|
const sumOfCropsHarvested = memoize(cropsHarvested =>
|
|
32
33
|
Object.values(cropsHarvested).reduce(
|
|
34
|
+
// @ts-expect-error
|
|
33
35
|
(sum, cropHarvested) => sum + cropHarvested,
|
|
34
36
|
0
|
|
35
37
|
)
|
|
@@ -133,9 +135,11 @@ const achievements = [
|
|
|
133
135
|
id: 'play-during-october',
|
|
134
136
|
name: 'Halloween Harvest',
|
|
135
137
|
description: 'Play Farmhand in October and get the gift of the season.',
|
|
138
|
+
// @ts-expect-error
|
|
136
139
|
rewardDescription: `${reward} units of ${itemsMap.jackolantern.name}`,
|
|
137
140
|
condition: () => isOctober(),
|
|
138
141
|
reward: state =>
|
|
142
|
+
// @ts-expect-error
|
|
139
143
|
addItemToInventory(state, itemsMap.jackolantern, reward, true),
|
|
140
144
|
}))(),
|
|
141
145
|
|
|
@@ -143,11 +147,14 @@ const achievements = [
|
|
|
143
147
|
id: 'sell-10000-jack-o-lanterns',
|
|
144
148
|
name: 'Spooky Pumpkin Patch',
|
|
145
149
|
description: `Sell ${integerString(goal)} units of ${
|
|
150
|
+
// @ts-expect-error
|
|
146
151
|
itemsMap.jackolantern.name
|
|
147
152
|
}. That's enough to fill a whole pumpkin patch!`,
|
|
153
|
+
// @ts-expect-error
|
|
148
154
|
rewardDescription: `${reward} units of ${itemsMap.scarecrow.name}`,
|
|
149
155
|
condition: state => (state.itemsSold.jackolantern || 0) >= goal,
|
|
150
156
|
reward: state =>
|
|
157
|
+
// @ts-expect-error
|
|
151
158
|
addItemToInventory(state, itemsMap.scarecrow, reward, true),
|
|
152
159
|
}))(),
|
|
153
160
|
|
|
@@ -155,6 +162,7 @@ const achievements = [
|
|
|
155
162
|
id: 'daily-profit-1',
|
|
156
163
|
name: `Daily profit: ${dollarString(goal)}`,
|
|
157
164
|
description: `Earn ${dollarString(goal)} of profit in a single day.`,
|
|
165
|
+
// @ts-expect-error
|
|
158
166
|
rewardDescription: `${reward} units of ${itemsMap.fertilizer.name}`,
|
|
159
167
|
condition: state =>
|
|
160
168
|
getProfitRecord(
|
|
@@ -163,6 +171,7 @@ const achievements = [
|
|
|
163
171
|
state.todaysLosses
|
|
164
172
|
) >= goal,
|
|
165
173
|
reward: state =>
|
|
174
|
+
// @ts-expect-error
|
|
166
175
|
addItemToInventory(state, itemsMap.fertilizer, reward, true),
|
|
167
176
|
}))(),
|
|
168
177
|
|
|
@@ -18,7 +18,7 @@ export const crop = ({
|
|
|
18
18
|
...rest
|
|
19
19
|
}) =>
|
|
20
20
|
freeze(
|
|
21
|
-
/** @type {farmhand.item} */
|
|
21
|
+
/** @type {farmhand.item} */ {
|
|
22
22
|
id,
|
|
23
23
|
name,
|
|
24
24
|
cropTimeline,
|
|
@@ -32,7 +32,7 @@ export const crop = ({
|
|
|
32
32
|
isPlantableCrop: true,
|
|
33
33
|
}),
|
|
34
34
|
...rest,
|
|
35
|
-
}
|
|
35
|
+
}
|
|
36
36
|
)
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -48,7 +48,7 @@ export const fromSeed = (
|
|
|
48
48
|
) => {
|
|
49
49
|
const variants = Array.isArray(growsInto) ? growsInto : [growsInto]
|
|
50
50
|
|
|
51
|
-
return /** @type {farmhand.item} */
|
|
51
|
+
return /** @type {farmhand.item} */ {
|
|
52
52
|
id: variants[variantIdx] || '',
|
|
53
53
|
cropTimeline,
|
|
54
54
|
cropType,
|
|
@@ -58,7 +58,7 @@ export const fromSeed = (
|
|
|
58
58
|
...(canBeFermented && {
|
|
59
59
|
daysToFerment: getCropLifecycleDuration({ cropTimeline }) * tier,
|
|
60
60
|
}),
|
|
61
|
-
}
|
|
61
|
+
}
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
/**
|
|
@@ -71,5 +71,6 @@ export const cropVariety = ({
|
|
|
71
71
|
variety,
|
|
72
72
|
...cropVarietyProperties
|
|
73
73
|
}) => {
|
|
74
|
+
// @ts-expect-error
|
|
74
75
|
return { imageId, cropFamily, variety, ...crop({ ...cropVarietyProperties }) }
|
|
75
76
|
}
|
|
@@ -18,7 +18,9 @@ export const asparagusSeed = crop({
|
|
|
18
18
|
* @property farmhand.module:items.asparagus
|
|
19
19
|
* @type {farmhand.item}
|
|
20
20
|
*/
|
|
21
|
+
// @ts-expect-error
|
|
21
22
|
export const asparagus = crop({
|
|
23
|
+
// @ts-expect-error
|
|
22
24
|
...fromSeed(asparagusSeed, {
|
|
23
25
|
canBeFermented: true,
|
|
24
26
|
}),
|
|
@@ -17,7 +17,7 @@ const grape = grapeProps => {
|
|
|
17
17
|
const newGrape = {
|
|
18
18
|
...cropVariety({
|
|
19
19
|
...grapeProps,
|
|
20
|
-
cropFamily: /** @type {'GRAPE'} */
|
|
20
|
+
cropFamily: /** @type {'GRAPE'} */ cropFamily.GRAPE,
|
|
21
21
|
}),
|
|
22
22
|
}
|
|
23
23
|
|
|
@@ -90,12 +90,13 @@ export const wineVarietyValueMap = {
|
|
|
90
90
|
* @type {farmhand.grape}
|
|
91
91
|
*/
|
|
92
92
|
export const grapeChardonnay = grape({
|
|
93
|
+
// @ts-expect-error
|
|
93
94
|
...fromSeed(grapeSeed, {
|
|
94
95
|
variantIdx: grapeSeed.growsInto?.indexOf('grape-chardonnay'),
|
|
95
96
|
}),
|
|
96
97
|
name: 'Chardonnay Grape',
|
|
97
98
|
imageId: 'grape-green',
|
|
98
|
-
variety: /** @type {'CHARDONNAY'} */
|
|
99
|
+
variety: /** @type {'CHARDONNAY'} */ grapeVariety.CHARDONNAY,
|
|
99
100
|
wineId: 'wine-chardonnay',
|
|
100
101
|
})
|
|
101
102
|
|
|
@@ -104,12 +105,13 @@ export const grapeChardonnay = grape({
|
|
|
104
105
|
* @type {farmhand.grape}
|
|
105
106
|
*/
|
|
106
107
|
export const grapeSauvignonBlanc = grape({
|
|
108
|
+
// @ts-expect-error
|
|
107
109
|
...fromSeed(grapeSeed, {
|
|
108
110
|
variantIdx: grapeSeed.growsInto?.indexOf('grape-sauvignon-blanc'),
|
|
109
111
|
}),
|
|
110
112
|
name: 'Sauvignon Blanc Grape',
|
|
111
113
|
imageId: 'grape-green',
|
|
112
|
-
variety: /** @type {'SAUVIGNON_BLANC'} */
|
|
114
|
+
variety: /** @type {'SAUVIGNON_BLANC'} */ grapeVariety.SAUVIGNON_BLANC,
|
|
113
115
|
wineId: 'wine-sauvignon-blanc',
|
|
114
116
|
})
|
|
115
117
|
|
|
@@ -166,13 +168,13 @@ export const grapeSauvignonBlanc = grape({
|
|
|
166
168
|
* @type {farmhand.grape}
|
|
167
169
|
*/
|
|
168
170
|
export const grapeCabernetSauvignon = grape({
|
|
171
|
+
// @ts-expect-error
|
|
169
172
|
...fromSeed(grapeSeed, {
|
|
170
173
|
variantIdx: grapeSeed.growsInto?.indexOf('grape-cabernet-sauvignon'),
|
|
171
174
|
}),
|
|
172
175
|
name: 'Cabernet Sauvignon Grape',
|
|
173
176
|
imageId: 'grape-purple',
|
|
174
|
-
variety:
|
|
175
|
-
/** @type {'CABERNET_SAUVIGNON'} */ (grapeVariety.CABERNET_SAUVIGNON),
|
|
177
|
+
variety: /** @type {'CABERNET_SAUVIGNON'} */ grapeVariety.CABERNET_SAUVIGNON,
|
|
176
178
|
wineId: 'wine-cabernet-sauvignon',
|
|
177
179
|
})
|
|
178
180
|
|
|
@@ -193,12 +195,13 @@ export const grapeCabernetSauvignon = grape({
|
|
|
193
195
|
* @type {farmhand.grape}
|
|
194
196
|
*/
|
|
195
197
|
export const grapeTempranillo = grape({
|
|
198
|
+
// @ts-expect-error
|
|
196
199
|
...fromSeed(grapeSeed, {
|
|
197
200
|
variantIdx: grapeSeed.growsInto?.indexOf('grape-tempranillo'),
|
|
198
201
|
}),
|
|
199
202
|
name: 'Tempranillo Grape',
|
|
200
203
|
imageId: 'grape-purple',
|
|
201
|
-
variety: /** @type {'TEMPRANILLO'} */
|
|
204
|
+
variety: /** @type {'TEMPRANILLO'} */ grapeVariety.TEMPRANILLO,
|
|
202
205
|
wineId: 'wine-tempranillo',
|
|
203
206
|
})
|
|
204
207
|
|
|
@@ -207,12 +210,13 @@ export const grapeTempranillo = grape({
|
|
|
207
210
|
* @type {farmhand.grape}
|
|
208
211
|
*/
|
|
209
212
|
export const grapeNebbiolo = grape({
|
|
213
|
+
// @ts-expect-error
|
|
210
214
|
...fromSeed(grapeSeed, {
|
|
211
215
|
variantIdx: grapeSeed.growsInto?.indexOf('grape-nebbiolo'),
|
|
212
216
|
}),
|
|
213
217
|
name: 'Nebbiolo Grape',
|
|
214
218
|
imageId: 'grape-purple',
|
|
215
|
-
variety: /** @type {'NEBBIOLO'} */
|
|
219
|
+
variety: /** @type {'NEBBIOLO'} */ grapeVariety.NEBBIOLO,
|
|
216
220
|
wineId: 'wine-nebbiolo',
|
|
217
221
|
})
|
|
218
222
|
|
|
@@ -18,7 +18,9 @@ export const strawberrySeed = crop({
|
|
|
18
18
|
* @property farmhand.module:items.strawberry
|
|
19
19
|
* @type {farmhand.item}
|
|
20
20
|
*/
|
|
21
|
+
// @ts-expect-error
|
|
21
22
|
export const strawberry = crop({
|
|
23
|
+
// @ts-expect-error
|
|
22
24
|
...fromSeed(strawberrySeed),
|
|
23
25
|
name: 'Strawberry',
|
|
24
26
|
})
|
|
@@ -18,7 +18,9 @@ export const sunflowerSeed = crop({
|
|
|
18
18
|
* @property farmhand.module:items.sunflower
|
|
19
19
|
* @type {farmhand.item}
|
|
20
20
|
*/
|
|
21
|
+
// @ts-expect-error
|
|
21
22
|
export const sunflower = crop({
|
|
23
|
+
// @ts-expect-error
|
|
22
24
|
...fromSeed(sunflowerSeed, {
|
|
23
25
|
canBeFermented: true,
|
|
24
26
|
}),
|
|
@@ -18,7 +18,9 @@ export const sweetPotatoSeed = crop({
|
|
|
18
18
|
* @property farmhand.module:items.sweetPotato
|
|
19
19
|
* @type {farmhand.item}
|
|
20
20
|
*/
|
|
21
|
+
// @ts-expect-error
|
|
21
22
|
export const sweetPotato = crop({
|
|
23
|
+
// @ts-expect-error
|
|
22
24
|
...fromSeed(sweetPotatoSeed, {
|
|
23
25
|
canBeFermented: true,
|
|
24
26
|
}),
|
|
@@ -18,7 +18,9 @@ export const watermelonSeed = crop({
|
|
|
18
18
|
* @property farmhand.module:items.watermelon
|
|
19
19
|
* @type {farmhand.item}
|
|
20
20
|
*/
|
|
21
|
+
// @ts-expect-error
|
|
21
22
|
export const watermelon = crop({
|
|
23
|
+
// @ts-expect-error
|
|
22
24
|
...fromSeed(watermelonSeed),
|
|
23
25
|
name: 'Watermelon',
|
|
24
26
|
})
|
|
@@ -108,7 +108,7 @@ export const rainbowFertilizer = freeze({
|
|
|
108
108
|
enablesFieldMode: fieldMode.FERTILIZE,
|
|
109
109
|
id: 'rainbow-fertilizer',
|
|
110
110
|
name: 'Rainbow Fertilizer',
|
|
111
|
-
type: /** @type {farmhand.itemType} */
|
|
111
|
+
type: /** @type {farmhand.itemType} */ FERTILIZER,
|
|
112
112
|
// Rainbow Fertilizer is worth less than regular Fertilizer because it is not
|
|
113
113
|
// sold in the shop. Items that are sold in the shop have automatically
|
|
114
114
|
// reduced resale value, but since that would not apply to Rainbow
|
|
@@ -129,7 +129,7 @@ export const sprinkler = freeze({
|
|
|
129
129
|
id: 'sprinkler',
|
|
130
130
|
isReplantable: true,
|
|
131
131
|
name: 'Sprinkler',
|
|
132
|
-
type: /** @type {farmhand.itemType} */
|
|
132
|
+
type: /** @type {farmhand.itemType} */ SPRINKLER,
|
|
133
133
|
value: 120,
|
|
134
134
|
})
|
|
135
135
|
|
|
@@ -148,7 +148,7 @@ export const scarecrow = freeze({
|
|
|
148
148
|
id: 'scarecrow',
|
|
149
149
|
isReplantable: true,
|
|
150
150
|
name: 'Scarecrow',
|
|
151
|
-
type: /** @type {farmhand.itemType} */
|
|
151
|
+
type: /** @type {farmhand.itemType} */ SCARECROW,
|
|
152
152
|
value: 160,
|
|
153
153
|
})
|
|
154
154
|
|
|
@@ -167,7 +167,7 @@ export const cowFeed = freeze({
|
|
|
167
167
|
description:
|
|
168
168
|
'Each cow automatically consumes one unit of Cow Feed per day. Fed cows gain and maintain weight.',
|
|
169
169
|
name: 'Cow Feed',
|
|
170
|
-
type: /** @type {farmhand.itemType} */
|
|
170
|
+
type: /** @type {farmhand.itemType} */ COW_FEED,
|
|
171
171
|
value: 5,
|
|
172
172
|
})
|
|
173
173
|
|
|
@@ -179,7 +179,7 @@ export const huggingMachine = freeze({
|
|
|
179
179
|
id: HUGGING_MACHINE_ITEM_ID,
|
|
180
180
|
description: 'Automatically hugs one cow three times every day.',
|
|
181
181
|
name: 'Hugging Machine',
|
|
182
|
-
type: /** @type {farmhand.itemType} */
|
|
182
|
+
type: /** @type {farmhand.itemType} */ HUGGING_MACHINE,
|
|
183
183
|
value: 500,
|
|
184
184
|
})
|
|
185
185
|
|
|
@@ -190,7 +190,7 @@ export const huggingMachine = freeze({
|
|
|
190
190
|
export const milk1 = freeze({
|
|
191
191
|
id: 'milk-1',
|
|
192
192
|
name: 'Grade C Milk',
|
|
193
|
-
type: /** @type {farmhand.itemType} */
|
|
193
|
+
type: /** @type {farmhand.itemType} */ MILK,
|
|
194
194
|
value: 40,
|
|
195
195
|
})
|
|
196
196
|
|
|
@@ -201,7 +201,7 @@ export const milk1 = freeze({
|
|
|
201
201
|
export const milk2 = freeze({
|
|
202
202
|
id: 'milk-2',
|
|
203
203
|
name: 'Grade B Milk',
|
|
204
|
-
type: /** @type {farmhand.itemType} */
|
|
204
|
+
type: /** @type {farmhand.itemType} */ MILK,
|
|
205
205
|
value: 80,
|
|
206
206
|
})
|
|
207
207
|
|
|
@@ -212,7 +212,7 @@ export const milk2 = freeze({
|
|
|
212
212
|
export const milk3 = freeze({
|
|
213
213
|
id: 'milk-3',
|
|
214
214
|
name: 'Grade A Milk',
|
|
215
|
-
type: /** @type {farmhand.itemType} */
|
|
215
|
+
type: /** @type {farmhand.itemType} */ MILK,
|
|
216
216
|
value: 120,
|
|
217
217
|
})
|
|
218
218
|
|
|
@@ -223,7 +223,7 @@ export const milk3 = freeze({
|
|
|
223
223
|
export const rainbowMilk1 = freeze({
|
|
224
224
|
id: 'rainbow-milk-1',
|
|
225
225
|
name: 'Grade C Rainbow Milk',
|
|
226
|
-
type: /** @type {farmhand.itemType} */
|
|
226
|
+
type: /** @type {farmhand.itemType} */ MILK,
|
|
227
227
|
value: 60,
|
|
228
228
|
})
|
|
229
229
|
|
|
@@ -234,7 +234,7 @@ export const rainbowMilk1 = freeze({
|
|
|
234
234
|
export const rainbowMilk2 = freeze({
|
|
235
235
|
id: 'rainbow-milk-2',
|
|
236
236
|
name: 'Grade B Rainbow Milk',
|
|
237
|
-
type: /** @type {farmhand.itemType} */
|
|
237
|
+
type: /** @type {farmhand.itemType} */ MILK,
|
|
238
238
|
value: 120,
|
|
239
239
|
})
|
|
240
240
|
|
|
@@ -245,7 +245,7 @@ export const rainbowMilk2 = freeze({
|
|
|
245
245
|
export const rainbowMilk3 = freeze({
|
|
246
246
|
id: 'rainbow-milk-3',
|
|
247
247
|
name: 'Grade A Rainbow Milk',
|
|
248
|
-
type: /** @type {farmhand.itemType} */
|
|
248
|
+
type: /** @type {farmhand.itemType} */ MILK,
|
|
249
249
|
value: 180,
|
|
250
250
|
})
|
|
251
251
|
|
|
@@ -256,6 +256,6 @@ export const rainbowMilk3 = freeze({
|
|
|
256
256
|
export const chocolateMilk = freeze({
|
|
257
257
|
id: 'chocolate-milk',
|
|
258
258
|
name: 'Chocolate Milk',
|
|
259
|
-
type: /** @type {farmhand.itemType} */
|
|
259
|
+
type: /** @type {farmhand.itemType} */ MILK,
|
|
260
260
|
value: 80,
|
|
261
261
|
})
|