diff --git a/data/json/construction.json b/data/json/construction.json index bdee2ef5e5efb..e09ad790d486a 100644 --- a/data/json/construction.json +++ b/data/json/construction.json @@ -8065,6 +8065,19 @@ "pre_terrain": "t_dirt", "post_terrain": "t_rockyobstacle" }, + { + "type": "construction", + "id": "constr_stooking_spot", + "group": "make_stooking_spot", + "category": "OTHER", + "required_skills": [ [ "survival", 2 ] ], + "time": "0 m", + "pre_note": "Mark a spot to stack cut grain for drying outdoors. Once placed, put unrotten undried grain stalks on the stooking spot and examine it to get started.", + "pre_special": "check_empty", + "post_flags": [ "keep_items" ], + "dark_craftable": true, + "post_terrain": "f_stook_empty" + }, { "type": "construction", "id": "constr_brick_oven_prep", diff --git a/data/json/construction_group.json b/data/json/construction_group.json index 4f9921acb2d59..8bdd488da364a 100644 --- a/data/json/construction_group.json +++ b/data/json/construction_group.json @@ -1054,6 +1054,11 @@ "id": "make_crafting_spot", "name": "Make crafting spot" }, + { + "type": "construction_group", + "id": "make_stooking_spot", + "name": "Make stooking spot" + }, { "type": "construction_group", "id": "make_gravel_floor", diff --git a/data/json/flags.json b/data/json/flags.json index 54713e3a32c6b..bc2b72a58e543 100644 --- a/data/json/flags.json +++ b/data/json/flags.json @@ -2209,6 +2209,16 @@ "type": "json_flag", "restriction": "Item must be shaped like a bank note strap" }, + { + "id": "FRESH_GRAIN", + "type": "json_flag", + "//": "This item is fresh-cut grain, and can be dried in a stook." + }, + { + "id": "CUT_HARVEST", + "type": "json_flag", + "//": "This seed will grow into a plant which needs a grass-cutting tool such as a sickle to harvest." + }, { "id": "GASFILTER_SM", "type": "json_flag", diff --git a/data/json/furniture_and_terrain/furniture-domestic_plants.json b/data/json/furniture_and_terrain/furniture-domestic_plants.json index d678d5b045f21..09f954e9c849b 100644 --- a/data/json/furniture_and_terrain/furniture-domestic_plants.json +++ b/data/json/furniture_and_terrain/furniture-domestic_plants.json @@ -296,5 +296,34 @@ ] }, "plant_data": { "transform": "f_planter_mature", "base": "f_planter" } + }, + { + "type": "furniture", + "id": "f_stook_full", + "name": "grain stook", + "description": "Sheaves of cut grain have been stood upright in a self-supporting A-frame to dry, keeping the seeds off the ground and out of reach of vermin.", + "symbol": "#", + "color": "brown", + "move_cost_mod": 1, + "coverage": 40, + "deconstruct": { "items": [ ] }, + "required_str": 3, + "flags": [ "SEALED", "TRANSPARENT", "CONTAINER", "EASY_DECONSTRUCT", "DONT_REMOVE_ROTTEN", "FLAMMABLE_ASH" ], + "examine_action": "stook_full", + "bash": { "str_min": 3, "str_max": 60, "sound": "crunch.", "sound_fail": "whish." } + }, + { + "type": "furniture", + "id": "f_stook_empty", + "name": "stooking spot", + "description": "A space has been cleared out here for grain drying. Place fresh stalks of grain in this spot and examine to set up a stook.", + "symbol": "#", + "color": "brown", + "move_cost_mod": 0, + "deconstruct": { "items": [ ] }, + "max_volume": "10 L", + "required_str": -1, + "flags": [ "TRANSPARENT", "CONTAINER", "EASY_DECONSTRUCT", "NOCOLLIDE" ], + "examine_action": "stook_empty" } ] diff --git a/data/json/items/comestibles/junkfood.json b/data/json/items/comestibles/junkfood.json index cd59bad27df2c..8d895af4c0921 100644 --- a/data/json/items/comestibles/junkfood.json +++ b/data/json/items/comestibles/junkfood.json @@ -131,69 +131,6 @@ "//": "Favorite flavor varies.", "fun": 12 }, - { - "type": "COMESTIBLE", - "id": "kernels", - "name": { "str_sp": "popcorn kernels" }, - "weight": "32 g", - "color": "brown", - "container": "bag_plastic", - "comestible_type": "FOOD", - "symbol": "%", - "calories": 120, - "description": "Dried kernels from a particular type of corn. Practically inedible raw, they can be cooked to make a tasty snack.", - "price": 100, - "price_postapoc": 400, - "material": [ "junk" ], - "volume": "250 ml", - "charges": 8, - "flags": [ "EDIBLE_FROZEN" ], - "fun": -6 - }, - { - "type": "COMESTIBLE", - "id": "popcorn", - "name": { "str_sp": "popcorn" }, - "weight": "8 g", - "color": "white", - "spoils_in": "360 days", - "container": "bag_plastic", - "comestible_type": "FOOD", - "symbol": "%", - "quench": -1, - "calories": 30, - "description": "Plain, unseasoned popcorn. Not as tasty as other kinds, but healthier as a result.", - "price": 115, - "price_postapoc": 25, - "material": [ "veggy" ], - "volume": "1 L", - "charges": 4, - "flags": [ "EATEN_HOT", "FREEZERBURN" ], - "fun": 4, - "vitamins": [ [ "iron", 2 ] ] - }, - { - "type": "COMESTIBLE", - "id": "popcorn2", - "name": { "str_sp": "salted popcorn" }, - "copy-from": "popcorn", - "quench": -3, - "healthy": -1, - "description": "Popcorn with salt added for extra flavor.", - "material": [ "junk" ], - "fun": 8 - }, - { - "type": "COMESTIBLE", - "id": "popcorn3", - "name": { "str_sp": "buttered popcorn" }, - "copy-from": "popcorn", - "healthy": -1, - "calories": 50, - "description": "Popcorn with a light covering of butter for extra flavor.", - "material": [ "junk" ], - "fun": 10 - }, { "type": "COMESTIBLE", "id": "pretzels", diff --git a/data/json/items/comestibles/other.json b/data/json/items/comestibles/other.json index 7d88b3b887e8c..ebf1c5d99fffd 100644 --- a/data/json/items/comestibles/other.json +++ b/data/json/items/comestibles/other.json @@ -15,6 +15,18 @@ "price": 100, "volume": "250 ml" }, + { + "type": "COMESTIBLE", + "id": "dry_bottle_gourd", + "name": { "str": "dried bottle gourd" }, + "copy-from": "dry_lentils", + "looks_like": "pumpkin", + "comestible_type": "FOOD", + "symbol": "6", + "description": "A vegetable from the gourd family, bottle gourds were brought to the Americas by the first Native American settlers crossing the Bering strait. This one has been dried for processing into a watertight container.", + "volume": "2500 ml", + "flags": [ "INEDIBLE" ] + }, { "type": "COMESTIBLE", "id": "slime_scrap", @@ -385,22 +397,22 @@ "name": { "str_sp": "dried beans" }, "weight": "56 g", "color": "light_gray", - "spoils_in": "360 days", "container": "bag_plastic", "comestible_type": "FOOD", "symbol": "%", "quench": -4, "calories": 203, + "charges": 6, "description": "Dehydrated great northern beans. Tasty and nutritious when cooked, virtually inedible when dry.", "price": 300, "price_postapoc": 150, "material": [ "bean" ], "volume": "250 ml", "cooks_like": "beans_cooked", - "flags": [ "EDIBLE_FROZEN" ], - "charges": 6, "vitamins": [ [ "calcium", 56 ], [ "iron", 22 ] ], - "fun": -6 + "petfood": [ "CATTLEFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED" ], + "seed_data": { "plant_name": "beans", "fruit": "raw_beans", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -482,66 +494,82 @@ "type": "COMESTIBLE", "comestible_type": "FOOD", "id": "soybean", - "name": { "str_sp": "soybeans" }, - "volume": "250 ml", - "weight": "160 g", + "name": { "str_sp": "raw soybeans" }, + "volume": "25 ml", + "weight": "16 g", "symbol": ".", "color": "yellow", "healthy": -1, "spoils_in": "364 days", "calories": 56, - "description": "Light brown beans, they have many uses, mildly toxic and not recommended, but you could eat them raw.", + "description": "Beige colored beans. They have many uses, but in their raw form are fairly poisonous to humans.", + "price": 90, + "price_postapoc": 50, + "material": [ "veggy" ], + "fun": -5, + "vitamins": [ [ "iron", 25 ], [ "vitC", 1 ], [ "calcium", 3 ] ], + "smoking_result": "dry_soybean", + "milling": { "into": "paste_nut", "conversion_rate": 0.2 }, + "seed_data": { + "plant_name": "soybean", + "fruit": "soybean", + "seeds": false, + "byproducts": [ "withered", "raw_edamame" ], + "grow": "91 days" + }, + "petfood": [ "CATTLEFOOD" ], + "flags": [ "EDIBLE_FROZEN", "SMOKABLE", "NUTRIENT_OVERRIDE", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED" ] + }, + { + "type": "COMESTIBLE", + "comestible_type": "FOOD", + "id": "dry_soybean", + "name": { "str_sp": "dried soybeans" }, + "volume": "25 ml", + "weight": "16 g", + "symbol": ".", + "color": "yellow", + "healthy": -1, + "calories": 56, + "description": "Beige colored beans, dried until rock hard. They'll need to be cooked or processed before use.", "price": 90, "price_postapoc": 50, "material": [ "veggy" ], "fun": -5, + "milling": { "into": "flour_wheat_free", "conversion_rate": 1 }, "vitamins": [ [ "iron", 25 ], [ "vitC", 1 ], [ "calcium", 3 ] ], - "flags": [ "SMOKABLE", "NUTRIENT_OVERRIDE", "RAW" ], + "seed_data": { + "plant_name": "soybean", + "fruit": "soybean", + "seeds": false, + "byproducts": [ "withered", "raw_edamame" ], + "grow": "91 days" + }, + "petfood": [ "CATTLEFOOD" ], "smoking_result": "soy_nuts", - "milling": { "into": "paste_nut", "conversion_rate": 0.2 } + "flags": [ "EDIBLE_FROZEN", "SMOKABLE", "NUTRIENT_OVERRIDE", "SMOKED", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED" ] }, { "type": "COMESTIBLE", "comestible_type": "FOOD", "id": "raw_edamame", "name": { "str": "raw edamame" }, - "volume": "250 ml", - "weight": "160 g", + "volume": "35 ml", + "weight": "24 g", "symbol": ".", "color": "green", "spoils_in": "3 days", "calories": 56, - "description": "Light green raw edamame still in its pod, you should boil or freeze these, or you could eat them while they are still toxic.", + "description": "Raw soybeans still in their pod. They can be cooked as-is or shelled for further processing, but in their raw form, they're toxic to humans.", "price": 150, "price_postapoc": 50, "material": [ "veggy" ], - "use_action": [ "POISON" ], "fun": 1, "vitamins": [ [ "iron", 26 ], [ "vitC", 16 ], [ "calcium", 6 ] ], - "flags": [ "SMOKABLE", "NUTRIENT_OVERRIDE", "RAW" ], + "petfood": [ "CATTLEFOOD" ], + "flags": [ "SMOKABLE", "NUTRIENT_OVERRIDE", "RAW", "INEDIBLE", "CATTLE" ], "smoking_result": "edamame_roasted" }, - { - "type": "COMESTIBLE", - "id": "dry_lentils", - "name": { "str_sp": "dried lentils" }, - "weight": "132 g", - "color": "light_gray", - "container": "bag_plastic", - "comestible_type": "FOOD", - "symbol": ",", - "quench": -10, - "calories": 230, - "description": "A humble but nutrient-rich legume. Should be cooked prior to consumption.", - "price": 20, - "price_postapoc": 150, - "material": [ "veggy" ], - "volume": "250 ml", - "flags": [ "EDIBLE_FROZEN" ], - "charges": 2, - "vitamins": [ [ "calcium", 4 ], [ "iron", 47 ], [ "vitC", 7 ] ], - "fun": -10 - }, { "type": "COMESTIBLE", "id": "blood_rice_pudding", @@ -1120,17 +1148,5 @@ "symbol": "B", "color": "yellow", "calories": 0 - }, - { - "type": "COMESTIBLE", - "id": "dry_bottle_gourd", - "name": { "str": "dried bottle gourd" }, - "copy-from": "dry_lentils", - "looks_like": "pumpkin", - "comestible_type": "FOOD", - "symbol": "6", - "description": "A vegetable from the gourd family, bottle gourds were brought to the Americas by the first Native American settlers crossing the Bering strait. This one has been dried for processing into a watertight container.", - "volume": "2500 ml", - "flags": [ "INEDIBLE" ] } ] diff --git a/data/json/items/comestibles/raw_fruit.json b/data/json/items/comestibles/raw_fruit.json index 10e2e094011fe..7c0a9918ea5f1 100644 --- a/data/json/items/comestibles/raw_fruit.json +++ b/data/json/items/comestibles/raw_fruit.json @@ -612,18 +612,18 @@ "name": { "str": "watermelon" }, "weight": "4518 g", "color": "green", - "spoils_in": "7 days 12 hours", + "spoils_in": "21 days", "comestible_type": "FOOD", "symbol": "%", "quench": 826, "//": "yes, it really does have that much water in it - 4131.7g in this size specifically", "calories": 1355, - "description": "A deep green melon, bigger than your head. It is very juicy! You should find something to slice it up, as any other method of cracking open and eating it would be very messy.", + "description": "A deep green melon, bigger than your head. It is very juicy! You should be able to take it apart with a knife.", "price": 758, "price_postapoc": 600, "material": [ "fruit" ], "volume": "7150 ml", - "flags": [ "EATEN_COLD", "FREEZERBURN", "SMOKABLE" ], + "flags": [ "EATEN_COLD", "FREEZERBURN", "SMOKABLE", "INEDIBLE" ], "smoking_result": "dry_fruit", "vitamins": [ [ "vitC", 406 ], [ "calcium", 24 ], [ "iron", 60 ] ], "melee_damage": { "bash": 2 } @@ -658,15 +658,15 @@ "spoils_in": "7 days 12 hours", "comestible_type": "FOOD", "symbol": "%", - "quench": 20, + "quench": 100, "calories": 187, - "description": "A large and very sweet orange fruit. Technically a berry, like all melons are. You should find something to slice it up, as any other method of cracking open and eating it would be very messy.", + "description": "A large and very sweet orange fruit. Technically a berry, like all melons are. You should be able to take it apart with a knife.", "price": 217, "price_postapoc": 100, "material": [ "fruit" ], "volume": "1100 ml", - "flags": [ "EATEN_COLD", "FREEZERBURN", "SMOKABLE" ], - "fun": 1, + "flags": [ "EATEN_COLD", "SMOKABLE", "INEDIBLE" ], + "fun": 4, "smoking_result": "dry_fruit", "vitamins": [ [ "vitC", 225 ], [ "calcium", 3 ], [ "iron", 6 ] ], "melee_damage": { "bash": 1 } @@ -675,20 +675,20 @@ "type": "COMESTIBLE", "id": "melon_chunks", "name": { "str": "handful of cantaloupe melon chunks", "str_pl": "handfuls of cantaloupe melon chunks" }, - "weight": "160 g", - "color": "brown", + "weight": "138 g", + "color": "light_red", "spoils_in": "3 days", "comestible_type": "FOOD", "symbol": "%", - "quench": 8, - "calories": 54, + "quench": 25, + "calories": 47, "description": "A handful of cantaloupe melon chunks. A great snack by itself or in a fruit salad.", - "price": 139, - "price_postapoc": 60, + "price": 21, + "price_postapoc": 25, "material": [ "fruit" ], "volume": "250 ml", "fun": 4, - "flags": [ "SMOKABLE" ], + "flags": [ "SMOKABLE", "EATEN_COLD" ], "smoking_result": "dry_fruit", "vitamins": [ [ "vitC", 65 ], [ "calcium", 1 ], [ "iron", 1 ] ] }, diff --git a/data/json/items/comestibles/raw_grain.json b/data/json/items/comestibles/raw_grain.json new file mode 100644 index 0000000000000..0c8442e109a2e --- /dev/null +++ b/data/json/items/comestibles/raw_grain.json @@ -0,0 +1,569 @@ +[ + { + "type": "COMESTIBLE", + "id": "corn", + "name": { "str": "corn cob" }, + "weight": "690 g", + "color": "light_green", + "spoils_in": "5 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 132, + "description": "A corn cob full of delicious golden kernels. You can eat them on the cob or shell it for cooking.", + "price": 170, + "//": "Thinking this is a single ear here.", + "price_postapoc": 50, + "material": [ "veggy" ], + "volume": "750 ml", + "flags": [ "EATEN_HOT", "RAW" ], + "vitamins": [ [ "vitC", 12 ], [ "iron", 4 ] ], + "use_action": { "type": "consume_drug", "used_up_item": "empty_corn_cob", "moves": 500 } + }, + { + "type": "COMESTIBLE", + "id": "corn_kernels", + "name": { "str_sp": "corn kernels" }, + "weight": "210 g", + "color": "yellow", + "spoils_in": "5 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 132, + "description": "Delicious golden kernels of corn.", + "price": 200, + "price_postapoc": 60, + "material": [ "veggy" ], + "volume": "285 ml", + "smoking_result": "dry_corn", + "vitamins": [ [ "vitC", 12 ], [ "iron", 4 ] ], + "petfood": [ "CATTLEFOOD" ], + "flags": [ "EDIBLE_FROZEN", "EATEN_HOT", "SMOKABLE", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED" ], + "seed_data": { "plant_name": "corn", "fruit": "corn", "seeds": false, "byproducts": [ "withered" ], "grow": "80 days" } + }, + { + "type": "COMESTIBLE", + "id": "empty_corn_cob", + "name": { "str_sp": "empty corn cob" }, + "weight": "480 g", + "color": "yellow", + "spoils_in": "5 days", + "comestible_type": "FOOD", + "symbol": "%", + "description": "An empty corn cob. No longer contains any edible kernels, but it can be used to make stock or as fuel.", + "price": 1, + "price_postapoc": 1, + "material": [ "veggy", "wood" ], + "volume": "465 ml", + "fun": -8, + "flags": [ "RAW" ] + }, + { + "type": "COMESTIBLE", + "id": "popcorn_raw", + "name": { "str_sp": "raw popcorn" }, + "weight": "153 g", + "color": "light_green", + "spoils_in": "5 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 120, + "description": "A special variety of corn which could be used for making popcorn, after it's dried. Unlike normal corn, it's not sweet and is more dry.", + "price": 170, + "material": [ "veggy" ], + "volume": "750 ml", + "fun": -2, + "vitamins": [ [ "vitC", 12 ], [ "iron", 4 ] ], + "smoking_result": "kernels", + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "NUTRIENT_OVERRIDE", "EATEN_HOT", "SMOKABLE", "RAW", "PLANTABLE_SEED", "CATTLE" ], + "seed_data": { "plant_name": "popcorn", "fruit": "popcorn_raw", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } + }, + { + "type": "COMESTIBLE", + "id": "kernels", + "name": { "str_sp": "popcorn kernels" }, + "weight": "32 g", + "color": "brown", + "container": "bag_plastic", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 120, + "description": "Dried kernels from a particular type of corn. Inedible raw, they can be cooked to make a tasty snack.", + "price": 100, + "price_postapoc": 400, + "material": [ "junk" ], + "volume": "250 ml", + "charges": 8, + "fun": -6, + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "NUTRIENT_OVERRIDE", "EDIBLE_FROZEN", "PLANTABLE_SEED", "INEDIBLE", "CATTLE" ], + "seed_data": { "plant_name": "popcorn", "fruit": "popcorn_raw", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } + }, + { + "type": "COMESTIBLE", + "id": "popcorn", + "name": { "str_sp": "popcorn" }, + "weight": "8 g", + "color": "white", + "spoils_in": "360 days", + "container": "bag_plastic", + "comestible_type": "FOOD", + "symbol": "%", + "quench": -1, + "calories": 30, + "description": "Plain, unseasoned popcorn. Not as tasty as other kinds, but healthier as a result.", + "price": 115, + "price_postapoc": 25, + "material": [ "veggy" ], + "volume": "1 L", + "charges": 4, + "flags": [ "EATEN_HOT", "FREEZERBURN" ], + "fun": 4, + "vitamins": [ [ "iron", 2 ] ] + }, + { + "type": "COMESTIBLE", + "id": "popcorn2", + "name": { "str_sp": "salted popcorn" }, + "copy-from": "popcorn", + "quench": -3, + "healthy": -1, + "description": "Popcorn with salt added for extra flavor.", + "material": [ "junk" ], + "fun": 8 + }, + { + "type": "COMESTIBLE", + "id": "popcorn3", + "name": { "str_sp": "buttered popcorn" }, + "copy-from": "popcorn", + "healthy": -1, + "calories": 50, + "description": "Popcorn with a light covering of butter for extra flavor.", + "material": [ "junk" ], + "fun": 10 + }, + { + "type": "COMESTIBLE", + "id": "wheat_stalks", + "name": { "str_sp": "wheat stalks" }, + "comestible_type": "FOOD", + "weight": "302 g", + "color": "brown", + "symbol": ",", + "description": "A sheaf of freshly-cut wheat, now ready for drying in a stook or smoker.", + "spoils_in": "22 days", + "price": 25, + "calories": 707, + "//": "Wheatstraw has about 4410 kcal/kg, about 30 kcal will be lost when the wheat is threshed, and another 10 when it's winnowed. Humans can't digest wheatstraw, but many herbivores can.", + "price_postapoc": 20, + "material": [ "veggy" ], + "flags": [ "SMOKABLE", "FRESH_GRAIN", "INEDIBLE", "CATTLE" ], + "petfood": [ "CATTLEFOOD" ], + "smoking_result": "dry_wheat_stalks", + "volume": "1 L" + }, + { + "type": "COMESTIBLE", + "id": "dry_wheat_stalks", + "name": { "str_sp": "dried wheat stalks" }, + "comestible_type": "FOOD", + "material": [ "veggy" ], + "primary_material": "dry_plant", + "weight": "273 g", + "color": "brown", + "symbol": ",", + "quench": -10, + "calories": 707, + "description": "A sheaf of dried wheat stalks. These will require threshing before anything can be done with them.", + "flags": [ "INEDIBLE", "CATTLE", "SMOKED" ], + "petfood": [ "CATTLEFOOD" ], + "price": 25, + "price_postapoc": 20, + "volume": "900 ml" + }, + { + "type": "COMESTIBLE", + "id": "threshed_wheat", + "name": { "str_sp": "threshed wheat" }, + "comestible_type": "FOOD", + "material": [ "wheat" ], + "weight": "205 g", + "color": "brown", + "symbol": ",", + "quench": -10, + "calories": 677, + "flags": [ "INEDIBLE", "CATTLE" ], + "petfood": [ "CATTLEFOOD" ], + "description": "Wheat with the chaff still mixed in. It will have to be winnowed before it's usable.", + "price": 25, + "price_postapoc": 20, + "volume": "252 ml" + }, + { + "type": "COMESTIBLE", + "id": "chaff", + "name": { "str_sp": "chaff" }, + "comestible_type": "FOOD", + "category": "other", + "material": [ "veggy" ], + "primary_material": "dry_plant", + "weight": "2 g", + "color": "brown", + "symbol": ",", + "quench": -1, + "calories": 10, + "flags": [ "INEDIBLE", "CATTLE" ], + "description": "Loose bits of dried straw and seed casings from winnowed grain. There are a few fragments of seeds still mixed in, a big enough pile of this stuff could be made into bird food or cattle fodder.", + "price": 0, + "price_postapoc": 0, + "volume": "2 ml" + }, + { + "type": "COMESTIBLE", + "id": "wheat", + "name": { "str_sp": "wheat" }, + "weight": "203 g", + "color": "brown", + "comestible_type": "FOOD", + "symbol": ",", + "quench": -10, + "calories": 667, + "description": "A heap of dried wheatberries, ready for planting. They're hard as gravel, but could be boiled for food or ground into flour.", + "price": 120, + "price_postapoc": 100, + "material": [ "wheat" ], + "//": "These things are rock-hard and not digestible by humans, but birds and cattle can eat them just fine.", + "milling": { "into": "flour", "conversion_rate": 15 }, + "volume": "250 ml", + "vitamins": [ [ "calcium", 4 ], [ "iron", 40 ] ], + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED", "CUT_HARVEST" ], + "seed_data": { "plant_name": "wheat", "fruit": "wheat_stalks", "seeds": false, "grow": "120 days" } + }, + { + "type": "COMESTIBLE", + "id": "barley_stalks", + "name": { "str_sp": "barley stalks" }, + "copy-from": "wheat_stalks", + "description": "A sheaf of freshly-cut barley, now ready for drying in a stook or smoker.", + "calories": 775, + "smoking_result": "dry_barley_stalks" + }, + { + "type": "COMESTIBLE", + "id": "dry_barley_stalks", + "name": { "str_sp": "dried barley stalks" }, + "copy-from": "dry_wheat_stalks", + "calories": 775, + "description": "A sheaf of dried barley stalks. These will require threshing before anything can be done with them." + }, + { + "type": "COMESTIBLE", + "id": "threshed_barley", + "name": { "str_sp": "threshed barley" }, + "copy-from": "threshed_wheat", + "calories": 745, + "description": "Barley with the chaff still mixed in. It will have to be winnowed before it's usable." + }, + { + "type": "COMESTIBLE", + "id": "barley", + "name": { "str_sp": "barley" }, + "weight": "211 g", + "color": "brown", + "comestible_type": "FOOD", + "symbol": ",", + "quench": -10, + "calories": 743, + "description": "A pile of dried barleycorn, a staple of brewing everywhere. It can be planted, boiled, or ground into flour.", + "price": 20, + "price_postapoc": 250, + "material": [ "veggy" ], + "volume": "1 L", + "milling": { "into": "flour", "conversion_rate": 15 }, + "charges": 4, + "vitamins": [ [ "calcium", 6 ], [ "iron", 29 ] ], + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED", "CUT_HARVEST" ], + "seed_data": { "plant_name": "barley", "fruit": "barley_stalks", "seeds": false, "grow": "70 days" } + }, + { + "type": "COMESTIBLE", + "id": "oat_stalks", + "name": { "str_sp": "oat stalks" }, + "copy-from": "wheat_stalks", + "description": "A sheaf of freshly-cut oats, now ready for drying in a stook or smoker.", + "price": 12, + "calories": 355, + "price_postapoc": 10, + "smoking_result": "dry_oat_stalks" + }, + { + "type": "COMESTIBLE", + "id": "dry_oat_stalks", + "name": { "str_sp": "dried oat stalks" }, + "copy-from": "dry_wheat_stalks", + "quench": -5, + "calories": 355, + "description": "A sheaf of dried oat stalks. These will require threshing before anything can be done with them.", + "price": 12, + "price_postapoc": 10 + }, + { + "type": "COMESTIBLE", + "id": "threshed_oats", + "name": { "str_sp": "threshed oats" }, + "copy-from": "threshed_wheat", + "quench": -5, + "calories": 340, + "description": "Oats with the chaff still mixed in. They will have to be winnowed before they're usable.", + "price": 12, + "price_postapoc": 10 + }, + { + "type": "COMESTIBLE", + "id": "oats", + "name": { "str_sp": "oats" }, + "weight": "203 g", + "color": "brown", + "comestible_type": "FOOD", + "symbol": ",", + "quench": -5, + "calories": 335, + "description": "A pile of raw oats.", + "price": 120, + "price_postapoc": 100, + "material": [ "wheat" ], + "volume": "250 ml", + "milling": { "into": "flour_wheat_free", "conversion_rate": 3.75 }, + "vitamins": [ [ "calcium", 3 ], [ "iron", 20 ] ], + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "NUTRIENT_OVERRIDE", "PLANTABLE_SEED", "CUT_HARVEST" ], + "seed_data": { "plant_name": "oats", "fruit": "oat_stalks", "seeds": false, "grow": "65 days" } + }, + { + "type": "COMESTIBLE", + "id": "wild_rice_stalks", + "name": { "str_sp": "wild rice stalks" }, + "copy-from": "buckwheat_stalks", + "quench": -5, + "calories": 135, + "description": "A sheaf of wild rice stalks, ready for drying.", + "price": 12, + "price_postapoc": 10, + "smoking_result": "dry_wild_rice_stalks" + }, + { + "type": "COMESTIBLE", + "id": "dry_wild_rice_stalks", + "name": { "str_sp": "dried wild rice stalks" }, + "copy-from": "dry_buckwheat_stalks", + "quench": -5, + "calories": 135, + "description": "A bunch of dry wild rice stalks. Threshing these would knock the grains loose.", + "price": 12, + "price_postapoc": 10 + }, + { + "type": "COMESTIBLE", + "id": "wild_rice", + "name": { "str_sp": "wild rice" }, + "copy-from": "oats", + "calories": 120, + "description": "Raw wild rice, still in its fibrous shell. It'll need to be milled before it's edible for humans.", + "milling": { "into": "dry_wild_rice", "conversion_rate": 5 }, + "fun": -20, + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED", "CUT_HARVEST" ], + "seed_data": { "plant_name": "wild rice", "fruit": "wild_rice_stalks", "seeds": false, "grow": "91 days" } + }, + { + "type": "COMESTIBLE", + "id": "buckwheat", + "name": { "str_sp": "buckwheat" }, + "weight": "180 g", + "color": "brown", + "comestible_type": "FOOD", + "symbol": ",", + "quench": -8, + "calories": 616, + "description": "Dry seeds from a wild buckwheat plant. Inedible in their present state, they are commonly cooked or ground into flour.", + "price": 90, + "price_postapoc": 400, + "material": [ "veggy" ], + "volume": "500 ml", + "milling": { "into": "flour_wheat_free", "conversion_rate": 15 }, + "charges": 2, + "vitamins": [ [ "calcium", 3 ], [ "iron", 22 ] ], + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED", "CUT_HARVEST" ], + "seed_data": { "plant_name": "buckwheat", "fruit": "buckwheat_stalks", "seeds": false, "grow": "91 days" } + }, + { + "type": "COMESTIBLE", + "id": "canola_stalks", + "name": { "str_sp": "canola stalks" }, + "copy-from": "wheat_stalks", + "weight": "171 g", + "quench": -5, + "calories": 247, + "description": "A sheaf of tall grass with slender little seed pods, now ready for drying.", + "price": 12, + "price_postapoc": 10, + "smoking_result": "dry_canola_stalks", + "volume": "315 ml" + }, + { + "type": "COMESTIBLE", + "id": "dry_canola_stalks", + "name": { "str_sp": "dried canola stalks" }, + "copy-from": "dry_wheat_stalks", + "weight": "149 g", + "quench": -5, + "calories": 247, + "description": "A sheaf of dry grass, it must be threshed to separate out the seeds.", + "price": 12, + "price_postapoc": 10, + "volume": "315 ml" + }, + { + "type": "COMESTIBLE", + "id": "threshed_canola", + "name": { "str_sp": "threshed canola" }, + "copy-from": "threshed_wheat", + "weight": "134 g", + "quench": -5, + "calories": 235, + "description": "Round black seeds mixed in with dry chaff.", + "price": 12, + "price_postapoc": 10, + "volume": "252 ml" + }, + { + "type": "COMESTIBLE", + "id": "seed_canola", + "name": { "str_sp": "canola seeds" }, + "weight": "132 g", + "color": "light_gray", + "comestible_type": "FOOD", + "symbol": ",", + "category": "seeds", + "quench": -10, + "calories": 230, + "description": "A heap of round black seeds, typically milled and pressed for their oil.", + "price": 20, + "price_postapoc": 150, + "material": [ "veggy" ], + "volume": "250 ml", + "vitamins": [ [ "calcium", 4 ], [ "iron", 47 ], [ "vitC", 7 ] ], + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "NUTRIENT_OVERRIDE", "CATTLE", "PLANTABLE_SEED", "CUT_HARVEST" ], + "seed_data": { "plant_name": "canola", "fruit": "canola_stalks", "seeds": false, "grow": "91 days" }, + "milling": { "into": "paste_seed", "conversion_rate": 0.02 } + }, + { + "type": "COMESTIBLE", + "id": "dry_lentil_stalks", + "name": { "str_sp": "dried lentil stalks" }, + "copy-from": "dry_wheat_stalks", + "weight": "149 g", + "quench": -5, + "calories": 247, + "description": "A pile of short stalks with lentils rattling in their pods. These plants dried in the field and didn't need a tool to harvest, but they'll still need to be threshed and winnowed.", + "price": 12, + "price_postapoc": 10, + "volume": "315 ml" + }, + { + "type": "COMESTIBLE", + "id": "threshed_lentils", + "name": { "str_sp": "threshed lentils" }, + "copy-from": "threshed_wheat", + "weight": "134 g", + "quench": -5, + "calories": 235, + "description": "Lentils with chaff mixed in. These will have to be winnowed before they're usable.", + "price": 12, + "price_postapoc": 10, + "volume": "252 ml" + }, + { + "type": "COMESTIBLE", + "id": "dry_lentils", + "name": { "str_sp": "dried lentils" }, + "weight": "132 g", + "color": "light_gray", + "container": "bag_plastic", + "comestible_type": "FOOD", + "symbol": ",", + "quench": -10, + "calories": 230, + "description": "A humble but nutrient-rich legume. They should be cooked prior to consumption, unless you're planning to plant them.", + "price": 20, + "price_postapoc": 150, + "material": [ "veggy" ], + "volume": "250 ml", + "charges": 2, + "vitamins": [ [ "calcium", 4 ], [ "iron", 47 ], [ "vitC", 7 ] ], + "petfood": [ "CATTLEFOOD", "BIRDFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "NUTRIENT_OVERRIDE", "CATTLE", "PLANTABLE_SEED" ], + "seed_data": { "plant_name": "lentils", "fruit": "dry_lentil_stalks", "seeds": false, "grow": "91 days" } + }, + { + "type": "COMESTIBLE", + "id": "buckwheat_stalks", + "name": { "str_sp": "buckwheat stalks" }, + "comestible_type": "FOOD", + "weight": "287 g", + "color": "brown", + "symbol": ",", + "description": "These leafy stalks only get about waist-high and technically aren't a grass, but thanks to their long stems and nutritious seeds, they can still be farmed like any other cereal crop.", + "spoils_in": "22 days", + "price": 25, + "calories": 679, + "price_postapoc": 20, + "material": [ "veggy" ], + "flags": [ "SMOKABLE", "FRESH_GRAIN", "INEDIBLE", "CATTLE" ], + "petfood": [ "CATTLEFOOD" ], + "smoking_result": "dry_buckwheat_stalks", + "volume": "315 ml" + }, + { + "type": "COMESTIBLE", + "id": "dry_buckwheat_stalks", + "name": { "str_sp": "dried buckwheat stalks" }, + "comestible_type": "FOOD", + "material": [ "veggy" ], + "primary_material": "dry_plant", + "weight": "258 g", + "color": "brown", + "symbol": ",", + "quench": -10, + "calories": 679, + "description": "A heap of dried buckwheat. It'll need to be threshed before eating, unless you're a cow.", + "flags": [ "INEDIBLE", "CATTLE", "SMOKED" ], + "petfood": [ "CATTLEFOOD" ], + "price": 25, + "price_postapoc": 20, + "volume": "315 ml" + }, + { + "type": "COMESTIBLE", + "id": "threshed_buckwheat", + "name": { "str_sp": "threshed buckwheat" }, + "comestible_type": "FOOD", + "material": [ "wheat" ], + "weight": "190 g", + "color": "brown", + "symbol": ",", + "quench": -10, + "calories": 677, + "flags": [ "INEDIBLE", "CATTLE" ], + "petfood": [ "CATTLEFOOD" ], + "description": "A pile of buckwheat seeds with some chaff still mixed in. Once it's winnowed, it'll be ready for use.", + "price": 25, + "price_postapoc": 20, + "volume": "290 ml" + } +] diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 97b42262c479d..373691aa49828 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -1,25 +1,4 @@ [ - { - "type": "COMESTIBLE", - "id": "barley", - "name": { "str_sp": "barley" }, - "weight": "211 g", - "color": "brown", - "comestible_type": "FOOD", - "symbol": ",", - "quench": -10, - "calories": 743, - "description": "Grainy cereal used for malting. A staple of brewing everywhere. It can also be ground into flour.", - "price": 20, - "price_postapoc": 250, - "material": [ "veggy" ], - "volume": "1 L", - "milling": { "into": "flour", "conversion_rate": 15 }, - "flags": [ "EDIBLE_FROZEN", "RAW" ], - "charges": 4, - "vitamins": [ [ "calcium", 6 ], [ "iron", 29 ] ], - "fun": -15 - }, { "type": "COMESTIBLE", "id": "bee_balm", @@ -137,27 +116,6 @@ "smoking_result": "dry_veggy", "vitamins": [ [ "vitC", 95 ], [ "calcium", 5 ], [ "iron", 4 ] ] }, - { - "type": "COMESTIBLE", - "id": "buckwheat", - "name": { "str_sp": "buckwheat" }, - "weight": "180 g", - "color": "brown", - "comestible_type": "FOOD", - "symbol": ",", - "quench": -8, - "calories": 616, - "description": "Seeds from a wild buckwheat plant. Not particularly good to eat in their raw state, they are commonly cooked or ground into flour.", - "price": 90, - "price_postapoc": 400, - "material": [ "veggy" ], - "volume": "500 ml", - "milling": { "into": "flour_wheat_free", "conversion_rate": 15 }, - "flags": [ "EDIBLE_FROZEN", "RAW" ], - "charges": 2, - "vitamins": [ [ "calcium", 3 ], [ "iron", 22 ] ], - "fun": -10 - }, { "type": "COMESTIBLE", "id": "cabbage", @@ -308,62 +266,6 @@ "smoking_result": "dry_veggy", "vitamins": [ [ "vitC", 4 ], [ "calcium", 4 ], [ "iron", 1 ] ] }, - { - "type": "COMESTIBLE", - "id": "corn", - "name": { "str": "corn cob" }, - "weight": "690 g", - "color": "light_green", - "spoils_in": "5 days", - "comestible_type": "FOOD", - "symbol": "%", - "calories": 132, - "description": "A corn cob full of delicious golden kernels. You can eat them on the cob or shell it for cooking.", - "price": 170, - "//": "Thinking this is a single ear here.", - "price_postapoc": 50, - "material": [ "veggy" ], - "volume": "750 ml", - "flags": [ "EATEN_HOT", "RAW" ], - "vitamins": [ [ "vitC", 12 ], [ "iron", 4 ] ], - "use_action": { "type": "consume_drug", "used_up_item": "empty_corn_cob", "moves": 500 } - }, - { - "type": "COMESTIBLE", - "id": "corn_kernels", - "name": { "str_sp": "corn kernels" }, - "weight": "210 g", - "color": "yellow", - "spoils_in": "5 days", - "comestible_type": "FOOD", - "symbol": "%", - "calories": 132, - "description": "Delicious golden kernels of corn.", - "price": 200, - "price_postapoc": 60, - "material": [ "veggy" ], - "volume": "285 ml", - "flags": [ "EATEN_HOT", "SMOKABLE", "RAW" ], - "smoking_result": "dry_corn", - "vitamins": [ [ "vitC", 12 ], [ "iron", 4 ] ] - }, - { - "type": "COMESTIBLE", - "id": "empty_corn_cob", - "name": { "str_sp": "empty corn cob" }, - "weight": "480 g", - "color": "yellow", - "spoils_in": "5 days", - "comestible_type": "FOOD", - "symbol": "%", - "description": "An empty corn cob. No longer contains any edible kernels, but it can be used to make stock or as fuel.", - "price": 1, - "price_postapoc": 1, - "material": [ "veggy", "wood" ], - "volume": "465 ml", - "fun": -8, - "flags": [ "RAW" ] - }, { "type": "COMESTIBLE", "id": "cotton_boll", @@ -403,6 +305,19 @@ "vitamins": [ [ "vitC", 88 ], [ "calcium", 1 ], [ "iron", 3 ] ], "fun": -2 }, + { + "type": "COMESTIBLE", + "id": "chili_pepper_cut", + "copy-from": "chili_pepper", + "cooks_like": "chili_pepper", + "name": { "str": "cut chili pepper" }, + "weight": "52 g", + "volume": "249 ml", + "spoils_in": "3 days", + "description": "A chili pepper that's been cut into pieces. The seeds have been removed.", + "price": 10, + "price_postapoc": 10 + }, { "type": "COMESTIBLE", "id": "cucumber", @@ -423,6 +338,19 @@ "smoking_result": "dry_veggy", "vitamins": [ [ "vitC", 9 ], [ "calcium", 6 ], [ "iron", 6 ] ] }, + { + "type": "COMESTIBLE", + "id": "cucumber_cut", + "name": { "str": "cut cucumber" }, + "volume": "319 ml", + "weight": "184 g", + "copy-from": "cucumber", + "cooks_like": "cucumber", + "spoils_in": "2 days", + "description": "A chopped-up cucumber.", + "price": 30, + "price_postapoc": 10 + }, { "type": "COMESTIBLE", "id": "dahlia_root", @@ -655,25 +583,6 @@ "flags": [ "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy" }, - { - "type": "COMESTIBLE", - "id": "popcorn_raw", - "name": { "str_sp": "raw popcorn" }, - "weight": "153 g", - "color": "light_green", - "spoils_in": "5 days", - "comestible_type": "FOOD", - "symbol": "%", - "calories": 120, - "description": "A special variety of corn which could be used for making popcorn, after it's dried. Unlike normal corn, it's not sweet and is more dry.", - "price": 170, - "material": [ "veggy" ], - "volume": "750 ml", - "fun": -2, - "flags": [ "EATEN_HOT", "SMOKABLE", "RAW" ], - "vitamins": [ [ "vitC", 12 ], [ "iron", 4 ] ], - "smoking_result": "kernels" - }, { "type": "COMESTIBLE", "id": "potato", @@ -719,24 +628,39 @@ "type": "COMESTIBLE", "id": "pumpkin", "name": { "str": "pumpkin" }, - "weight": "123 g", + "weight": "2267 g", "color": "light_red", "spoils_in": "60 days", "comestible_type": "FOOD", "symbol": "%", - "quench": 5, - "calories": 27, - "description": "A large gourd, about the size of your head. Not very tasty raw, but great for cooking.", + "calories": 120, + "description": "A large gourd, about the size of a person's head. It'll require some disassembly before use.", "price": 250, "price_postapoc": 600, "material": [ "veggy" ], "volume": "3 L", - "charges": 12, "fun": -1, + "flags": [ "RAW", "INEDIBLE" ], + "vitamins": [ [ "vitC", 69 ], [ "calcium", 9 ], [ "iron", 19 ] ], + "melee_damage": { "bash": 2 } + }, + { + "type": "COMESTIBLE", + "id": "pumpkin_cut", + "name": { "str": "cut pumpkin" }, + "copy-from": "pumpkin", + "spoils_in": "6 days", + "description": "A quarter section of a pumpkin. The seeds and stringy inner pulp have been removed.", + "price": 25, + "calories": 30, + "quench": 5, + "volume": "500 ml", + "weight": "525 g", + "price_postapoc": 60, "flags": [ "SMOKABLE", "RAW" ], "smoking_result": "dry_veggy", - "vitamins": [ [ "vitC", 12 ], [ "calcium", 3 ], [ "iron", 5 ] ], - "melee_damage": { "bash": 2 } + "vitamins": [ [ "vitC", 17 ], [ "calcium", 2 ], [ "iron", 4 ] ], + "melee_damage": { "bash": 0 } }, { "type": "COMESTIBLE", @@ -938,6 +862,15 @@ "smoking_result": "dry_veggy", "vitamins": [ [ "vitC", 22 ], [ "calcium", 3 ], [ "iron", 6 ] ] }, + { + "type": "COMESTIBLE", + "id": "tomato_cut", + "copy-from": "tomato", + "name": { "str": "cut tomato", "str_pl": "cut tomatoes" }, + "cooks_like": "tomato", + "spoils_in": "2 days", + "description": "A cut-up tomato with the seeds removed." + }, { "type": "COMESTIBLE", "id": "veggy", @@ -1003,6 +936,17 @@ "smoking_result": "dry_veggy", "vitamins": [ [ "vitC", 39 ], [ "calcium", 3 ], [ "iron", 4 ] ] }, + { + "type": "COMESTIBLE", + "id": "zucchini_cut", + "name": { "str": "cut zucchini" }, + "weight": "209 g", + "volume": "394 ml", + "copy-from": "zucchini", + "cooks_like": "zucchini", + "spoils_in": "2 days 12 hours", + "description": "A chopped-up summer squash. The seeds have been removed." + }, { "type": "COMESTIBLE", "id": "raw_beans", @@ -1013,17 +957,17 @@ "volume": "250 ml", "weight": "194 g", "symbol": "%", - "healthy": -1, "calories": 56, - "description": "Raw, uncooked beans. They are mildly toxic in this form, but you could cook them to make them tasty.", + "description": "Raw, uncooked beans. They are mildly toxic to humans in this form, but you could cook them to make them tasty.", "price": 90, "price_postapoc": 25, "material": [ "veggy" ], - "fun": -1, "cooks_like": "beans_cooked", - "flags": [ "SMOKABLE", "NUTRIENT_OVERRIDE", "RAW" ], "smoking_result": "dry_beans", - "vitamins": [ [ "iron", 2 ], [ "vitC", 20 ] ] + "vitamins": [ [ "iron", 2 ], [ "vitC", 20 ] ], + "petfood": [ "CATTLEFOOD" ], + "flags": [ "EDIBLE_FROZEN", "SMOKABLE", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED" ], + "seed_data": { "plant_name": "beans", "fruit": "raw_beans", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -1042,6 +986,7 @@ "material": [ "veggy" ], "fun": -1, "cooks_like": "lentils_cooked", + "//": "These come out of the field dry, so this item can probably be obsoleted.", "flags": [ "SMOKABLE", "RAW" ], "smoking_result": "dry_lentils", "vitamins": [ [ "calcium", 2 ], [ "iron", 3 ], [ "vitC", 1 ] ] @@ -1126,6 +1071,17 @@ "fun": -5, "vitamins": [ [ "calcium", 2 ], [ "vitC", 12 ] ] }, + { + "type": "COMESTIBLE", + "id": "bell_pepper_cut", + "name": { "str": "cut bell pepper" }, + "copy-from": "bell_pepper", + "weight": "112 g", + "spoils_in": "1 days 16 hours", + "description": "A chopped up bell pepper with the seeds removed.", + "price": 10, + "fun": 0 + }, { "type": "COMESTIBLE", "id": "flour_wheat_free", @@ -1187,5 +1143,26 @@ "flags": [ "RAW" ], "vitamins": [ [ "calcium", 9 ], [ "iron", 2 ], [ "vitC", 10 ] ], "fun": -5 + }, + { + "type": "COMESTIBLE", + "id": "eggplant_cut", + "name": { "str_sp": "cut eggplant" }, + "comestible_type": "FOOD", + "weight": "193 g", + "volume": "249 ml", + "price": 10, + "price_postapoc": 10, + "color": "black", + "material": [ "veggy" ], + "calories": 40, + "spoils_in": "4 days", + "description": "A cut-up eggplant with many of the seeds picked out.", + "healthy": -1, + "symbol": "e", + "looks_like": "eggplant", + "flags": [ "RAW" ], + "vitamins": [ [ "calcium", 9 ], [ "iron", 2 ], [ "vitC", 10 ] ], + "fun": -5 } ] diff --git a/data/json/items/comestibles/seed.json b/data/json/items/comestibles/seed.json index d39f92dbaeadf..68c965b2b95a8 100644 --- a/data/json/items/comestibles/seed.json +++ b/data/json/items/comestibles/seed.json @@ -9,21 +9,17 @@ "weight": "1 g", "price": 120, "price_postapoc": 25, - "charges": 4, "stack_size": 100, "material": [ "veggy" ], - "primary_material": "dried_vegetable", "symbol": ".", "color": "brown", - "flags": [ "NUTRIENT_OVERRIDE", "PLANTABLE_SEED" ] + "//": "Note that in most cases this item typically represents many seeds, enough to fill an entire tile with plants." }, { "abstract": "seed_fruit", "type": "COMESTIBLE", "copy-from": "seed", - "name": { "str_sp": "fruit seeds" }, - "primary_material": "dried_vegetable", - "material": [ "fruit" ] + "name": { "str_sp": "fruit seeds" } }, { "abstract": "seed_mushroom_base", @@ -31,7 +27,6 @@ "copy-from": "seed", "name": { "str_sp": "mushroom spores" }, "description": "Some mushroom spores.", - "charges": 2, "color": "green" }, { @@ -44,7 +39,8 @@ "price": 160, "charges": 2, "stack_size": 8, - "seed_data": { "plant_name": "hops", "fruit": "hops", "byproducts": [ "straw_pile" ], "grow": "120 days" } + "seed_data": { "plant_name": "hops", "fruit": "hops", "byproducts": [ "straw_pile" ], "grow": "120 days" }, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ] }, { "id": "seed_blackberries", @@ -52,7 +48,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "blackberry seeds" }, "description": "Some blackberry seeds.", - "seed_data": { "plant_name": "blackberry", "fruit": "blackberries", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "blackberry", "fruit": "blackberries", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "id": "seed_blueberries", @@ -60,7 +57,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "blueberry seeds" }, "description": "Some blueberry seeds.", - "seed_data": { "plant_name": "blueberry", "fruit": "blueberries", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "blueberry", "fruit": "blueberries", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "id": "seed_cranberries", @@ -68,7 +66,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "cranberry seeds" }, "description": "Some cranberry seeds.", - "seed_data": { "plant_name": "cranberry", "fruit": "cranberries", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "cranberry", "fruit": "cranberries", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "id": "seed_huckleberries", @@ -76,7 +75,14 @@ "type": "COMESTIBLE", "name": { "str_sp": "huckleberry seeds" }, "description": "Some huckleberry seeds.", - "seed_data": { "plant_name": "huckleberry", "fruit": "huckleberries", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { + "plant_name": "huckleberry", + "fruit": "huckleberries", + "seeds": false, + "byproducts": [ "withered" ], + "grow": "91 days" + } }, { "id": "seed_mulberries", @@ -84,7 +90,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "mulberry seeds" }, "description": "Some mulberry seeds.", - "seed_data": { "plant_name": "mulberry", "fruit": "mulberries", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "mulberry", "fruit": "mulberries", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "id": "seed_elderberries", @@ -92,7 +99,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "elderberry seeds" }, "description": "Some elderberry seeds.", - "seed_data": { "plant_name": "elderberry", "fruit": "elderberries", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "elderberry", "fruit": "elderberries", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "id": "seed_raspberries", @@ -100,7 +108,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "raspberry seeds" }, "description": "Some raspberry seeds.", - "seed_data": { "plant_name": "raspberry", "fruit": "raspberries", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "raspberry", "fruit": "raspberries", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "id": "seed_strawberries", @@ -108,7 +117,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "strawberry seeds" }, "description": "Some strawberry seeds.", - "seed_data": { "plant_name": "strawberry", "fruit": "strawberries", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "strawberry", "fruit": "strawberries", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "id": "seed_grapes", @@ -116,7 +126,14 @@ "type": "COMESTIBLE", "name": { "str_sp": "grape seeds" }, "description": "Some grape seeds.", - "seed_data": { "plant_name": "grape", "fruit": "grapes", "byproducts": [ "grape_leaves", "withered" ], "grow": "91 days" }, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { + "plant_name": "grape", + "fruit": "grapes", + "seeds": false, + "byproducts": [ "grape_leaves", "withered" ], + "grow": "91 days" + }, "milling": { "into": "paste_seed", "conversion_rate": 0.02 } }, { @@ -125,7 +142,8 @@ "type": "COMESTIBLE", "name": { "str_sp": "rose seeds" }, "description": "Some rose seeds.", - "seed_data": { "plant_name": "rose", "fruit": "rose_hips", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "rose", "fruit": "rose_hips", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -133,19 +151,18 @@ "copy-from": "seed", "name": { "str_sp": "tobacco seeds" }, "description": "Some tobacco seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "tobacco", "fruit": "tobacco_raw", "grow": "91 days" } }, { "type": "COMESTIBLE", "id": "seed_barley", - "copy-from": "seed", - "price": 160, + "copy-from": "barley", + "category": "seeds", "name": { "str_sp": "barley seeds" }, - "description": "Some barley seeds.", - "weight": "5 g", - "charges": 2, - "stack_size": 40, - "seed_data": { "plant_name": "barley", "fruit": "barley", "byproducts": [ "straw_pile" ], "grow": "70 days" } + "extend": { "flags": [ "NUTRIENT_OVERRIDE" ] }, + "description": "This pile of dried barley is earmarked for planting.", + "seed_data": { "plant_name": "barley", "fruit": "barley_stalks", "seeds": false, "grow": "70 days" } }, { "type": "COMESTIBLE", @@ -157,6 +174,7 @@ "volume": "1 ml", "weight": "5 g", "stack_size": 40, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "sugar beet", "fruit": "sugar_beet", "grow": "90 days" } }, { @@ -166,6 +184,7 @@ "price": 50, "name": { "str_sp": "lettuce seeds" }, "description": "Some lettuce seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "lettuce", "fruit": "lettuce", "byproducts": [ "withered" ], "grow": "85 days" } }, { @@ -176,6 +195,7 @@ "name": { "str_sp": "cabbage seeds" }, "color": "light_gray", "description": "Some white cabbage seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "cabbage", "fruit": "cabbage", "byproducts": [ "withered" ], "grow": "85 days" } }, { @@ -185,7 +205,8 @@ "price": 50, "name": { "str_sp": "tomato seeds" }, "description": "Some tomato seeds.", - "seed_data": { "plant_name": "tomato", "fruit": "tomato", "byproducts": [ "withered" ], "grow": "65 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "tomato", "fruit": "tomato", "seeds": false, "byproducts": [ "withered" ], "grow": "65 days" } }, { "type": "COMESTIBLE", @@ -195,8 +216,9 @@ "name": { "str_sp": "cotton seeds" }, "description": "Some cotton seeds. Can be processed to produce an edible oil.", "weight": "5 g", - "charges": 8, + "charges": 2, "stack_size": 40, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "cotton", "fruit": "cotton_boll", "byproducts": [ "withered" ], "grow": "130 days" }, "milling": { "into": "paste_seed", "conversion_rate": 0.05 } }, @@ -207,6 +229,7 @@ "price": 50, "name": { "str_sp": "broccoli seeds" }, "description": "Some broccoli seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "broccoli", "fruit": "broccoli", "byproducts": [ "withered" ], "grow": "75 days" } }, { @@ -216,7 +239,8 @@ "price": 50, "name": { "str_sp": "zucchini seeds" }, "description": "Some zucchini seeds.", - "seed_data": { "plant_name": "zucchini", "fruit": "zucchini", "byproducts": [ "withered" ], "grow": "47 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "zucchini", "fruit": "zucchini", "seeds": false, "byproducts": [ "withered" ], "grow": "47 days" } }, { "type": "COMESTIBLE", @@ -225,6 +249,7 @@ "price": 50, "name": { "str_sp": "onion seeds" }, "description": "Some onion seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "onion", "fruit": "onion", "byproducts": [ "withered" ], "grow": "65 days" } }, { @@ -234,6 +259,7 @@ "price": 50, "name": { "str_sp": "garlic seeds" }, "description": "Some garlic seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "garlic", "fruit": "garlic", "byproducts": [ "withered" ], "grow": "65 days" } }, { @@ -243,6 +269,7 @@ "name": { "str_sp": "cattail seeds" }, "color": "green", "description": "Some cattail seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "cattail", "fruit": "cattail_stalk", "byproducts": [ "cattail_rhizome" ], "grow": "91 days" } }, { @@ -252,6 +279,7 @@ "name": { "str_sp": "dahlia seeds" }, "color": "green", "description": "Some dahlia seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "dahlia", "fruit": "dahlia_root", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -262,6 +290,7 @@ "color": "green", "description": "Some salsify seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "salsify", "fruit": "salsify_raw", "grow": "91 days" } }, { @@ -272,6 +301,7 @@ "color": "green", "description": "Some chicory seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "chicory", "fruit": "chicory_raw", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -281,6 +311,7 @@ "price": 50, "name": { "str_sp": "wild root seeds" }, "description": "Some seeds from a white flower.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "wild root", "fruit": "carrot_wild", "byproducts": [ "withered" ], "grow": "65 days" } }, { @@ -289,6 +320,7 @@ "copy-from": "seed", "name": { "str_sp": "decorative plant seeds" }, "color": "green", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "description": "Some small decorative plant seeds, likely grass or flower. Don't expect them to be useful for anything other than dry plant material.", "seed_data": { "plant_name": "decorative plant", "fruit": "withered", "grow": "91 days" } }, @@ -299,6 +331,7 @@ "name": { "str_sp": "cactus seeds" }, "color": "green", "description": "Some cactus seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "cactus", "fruit": "cactus_pad", "grow": "91 days" } }, { @@ -319,6 +352,7 @@ "material": [ "garlic" ], "volume": "150 ml", "fun": -3, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE" ], "seed_data": { "plant_name": "garlic", "fruit": "garlic", "byproducts": [ "withered" ], "grow": "65 days" } }, { @@ -328,16 +362,18 @@ "price": 50, "name": { "str_sp": "carrot seeds" }, "description": "Some carrot seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "carrot", "fruit": "carrot", "byproducts": [ "withered" ], "grow": "65 days" } }, { "type": "COMESTIBLE", "id": "seed_corn", - "copy-from": "seed", - "price": 50, + "copy-from": "dry_corn", + "category": "seeds", "name": { "str_sp": "corn seeds" }, - "description": "Some corn seeds.", - "seed_data": { "plant_name": "corn", "fruit": "corn", "byproducts": [ "withered" ], "grow": "80 days" } + "description": "A pile of dried corn, designated for planting. It could just as easily become food.", + "extend": { "flags": [ "NUTRIENT_OVERRIDE" ] }, + "seed_data": { "plant_name": "corn", "fruit": "corn", "seeds": false, "byproducts": [ "withered" ], "grow": "80 days" } }, { "type": "COMESTIBLE", @@ -347,7 +383,14 @@ "name": { "str_sp": "chili pepper seeds" }, "color": "white", "description": "Some chili pepper seeds.", - "seed_data": { "plant_name": "chili pepper", "fruit": "chili_pepper", "byproducts": [ "withered" ], "grow": "65 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { + "plant_name": "chili pepper", + "fruit": "chili_pepper", + "seeds": false, + "byproducts": [ "withered" ], + "grow": "65 days" + } }, { "type": "COMESTIBLE", @@ -356,18 +399,24 @@ "price": 50, "name": { "str_sp": "cucumber seeds" }, "description": "Some cucumber seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "cucumber", "fruit": "cucumber", "byproducts": [ "withered" ], "grow": "60 days" } }, { "type": "COMESTIBLE", "id": "seed_potato_raw", - "copy-from": "seed", - "price": 50, + "copy-from": "potato", + "category": "seeds", + "calories": 48, + "volume": "94 ml", + "weight": "53 g", + "price": 0, + "spoils_in": "1 day", + "price_postapoc": 0, "name": { "str": "seed potato", "str_pl": "seed potatoes" }, - "description": "A raw potato, cut into pieces, separating each bud for planting.", - "weight": "20 g", - "stack_size": 10, - "seed_data": { "plant_name": "potatoes", "fruit": "potato", "byproducts": [ "withered" ], "grow": "95 days" } + "description": "Raw potato cut into pieces, separating each bud for planting.", + "extend": { "flags": [ "INEDIBLE", "PLANTABLE_SEED", "NUTRIENT_OVERRIDE" ] }, + "seed_data": { "plant_name": "potatoes", "fruit": "potato", "seeds": false, "byproducts": [ "withered" ], "grow": "95 days" } }, { "type": "COMESTIBLE", @@ -382,7 +431,7 @@ "price": 100, "weight": "2 g", "charges": 2, - "flags": [ "RAW" ], + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "cannabis", "fruit": "cannabis", "grow": "91 days" }, "milling": { "into": "paste_seed", "conversion_rate": 0.02 } }, @@ -420,44 +469,42 @@ "volume": "100 ml", "stack_size": 10, "fun": 30, - "flags": [ "NO_AUTO_CONSUME" ], + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE" ], "seed_data": { "fruit": "null", "//": "dummy entry, results are hardcoded", "plant_name": "Marloss berry", "grow": "91 days" } }, { "type": "COMESTIBLE", "id": "seed_beans", - "copy-from": "seed", + "copy-from": "dry_beans", + "category": "seeds", + "charges": 1, + "container": "null", "name": { "str_sp": "bean seeds" }, - "weight": "1940 mg", - "symbol": "%", - "description": "Raw, uncooked beans, ready for planting.", - "charges": 2, - "price": 90, - "seed_data": { "plant_name": "beans", "fruit": "raw_beans", "byproducts": [ "withered" ], "grow": "91 days" } + "extend": { "flags": [ "NUTRIENT_OVERRIDE", "INEDIBLE" ] }, + "description": "Dry beans, ready for planting.", + "seed_data": { "plant_name": "beans", "fruit": "raw_beans", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", "id": "soybean_seed", - "copy-from": "seed", + "copy-from": "dry_soybean", + "category": "seeds", "name": { "str_sp": "soybean seeds" }, - "weight": "1600 mg", - "symbol": ".", - "color": "yellow", - "description": "Some soybean seeds.", + "extend": { "flags": [ "NUTRIENT_OVERRIDE", "INEDIBLE" ] }, + "description": "A pile of dry soybeans. These are intended for planting, but there's no reason they couldn't be made into food.", "price": 90, - "seed_data": { "plant_name": "soybean", "fruit": "soybean", "byproducts": [ "withered", "raw_edamame" ], "grow": "91 days" } + "seed_data": { "plant_name": "soybean", "fruit": "raw_edamame", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", "id": "seed_lentils", - "copy-from": "seed", - "name": { "str_sp": "raw lentils" }, - "weight": "1940 mg", - "symbol": "%", - "description": "Raw, uncooked lentils, ready for planting.", - "charges": 2, - "price": 90, - "seed_data": { "plant_name": "lentils", "fruit": "raw_lentils", "byproducts": [ "withered" ], "grow": "91 days" } + "copy-from": "dry_lentils", + "category": "seeds", + "name": { "str_sp": "lentil seeds" }, + "container": "null", + "description": "Dried lentils, ready for planting.", + "extend": { "flags": [ "NUTRIENT_OVERRIDE", "INEDIBLE" ] }, + "seed_data": { "plant_name": "lentils", "fruit": "dry_lentil_stalks", "seeds": false, "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -468,26 +515,26 @@ "color": "green", "description": "Some thyme seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "thyme", "fruit": "thyme", "grow": "91 days" } }, - { - "type": "COMESTIBLE", - "id": "seed_canola", - "copy-from": "seed", - "name": { "str_sp": "canola seeds" }, - "color": "green", - "description": "Some canola seeds. You could press them into oil.", - "charges": 2, - "seed_data": { "plant_name": "canola", "fruit": "seed_canola", "byproducts": [ "withered" ], "grow": "91 days" }, - "milling": { "into": "paste_seed", "conversion_rate": 0.02 } - }, { "type": "COMESTIBLE", "id": "seed_watermelon", "copy-from": "seed_fruit", "name": { "str_sp": "watermelon seeds" }, "description": "Some watermelon seeds.", - "seed_data": { "plant_name": "watermelon", "fruit": "watermelon", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "watermelon", "fruit": "watermelon", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } + }, + { + "type": "COMESTIBLE", + "id": "seed_melon", + "copy-from": "seed_fruit", + "name": { "str_sp": "cantaloupe melon seeds" }, + "description": "Some cantaloupe melon seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "cantaloupe", "fruit": "melon", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -500,8 +547,8 @@ "calories": 17, "description": "Some raw pumpkin seeds. Could be fried and eaten.", "price": 100, - "charges": 2, - "seed_data": { "plant_name": "pumpkin", "fruit": "pumpkin", "fruit_div": 3, "byproducts": [ "withered" ], "grow": "91 days" }, + "flags": [ "PLANTABLE_SEED" ], + "seed_data": { "plant_name": "pumpkin", "fruit": "pumpkin", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" }, "milling": { "into": "paste_seed", "conversion_rate": 0.02 } }, { @@ -516,6 +563,7 @@ "description": "Some raw sunflower seeds. Could be pressed into oil.", "price": 100, "charges": 2, + "flags": [ "PLANTABLE_SEED" ], "seed_data": { "plant_name": "sunflower", "fruit": "seed_sunflower", "byproducts": [ "withered" ], "grow": "91 days" }, "milling": { "into": "paste_seed", "conversion_rate": 0.02 } }, @@ -527,6 +575,7 @@ "color": "green", "description": "Some dogbane seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "dogbane", "fruit": "dogbane", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -537,6 +586,7 @@ "color": "green", "description": "Some bee balm seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "bee balm", "fruit": "bee_balm", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -547,17 +597,18 @@ "color": "green", "description": "Some mugwort seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "mugwort", "fruit": "mugwort", "grow": "91 days" } }, { "type": "COMESTIBLE", "id": "seed_buckwheat", - "copy-from": "seed", + "copy-from": "buckwheat", "name": { "str_sp": "buckwheat seeds" }, - "color": "green", - "description": "Some buckwheat seeds.", - "charges": 2, - "seed_data": { "plant_name": "buckwheat", "fruit": "buckwheat", "byproducts": [ "withered" ], "grow": "91 days" } + "description": "A pile of buckwheat, ready to be planted.", + "category": "seeds", + "extend": { "flags": [ "NUTRIENT_OVERRIDE" ] }, + "seed_data": { "plant_name": "buckwheat", "fruit": "buckwheat_stalks", "seeds": false, "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -567,6 +618,7 @@ "color": "green", "description": "Some seeds harvested from wild herbs.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "wild herb", "fruit": "wild_herbs", "grow": "91 days" } }, { @@ -577,6 +629,7 @@ "color": "green", "description": "Some wild vegetable stems.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "wild vegetable", "fruit": "veggy_wild", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -587,6 +640,7 @@ "color": "green", "description": "Some dandelion seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "dandelion", "fruit": "raw_dandelion", "grow": "91 days" } }, { @@ -597,6 +651,7 @@ "color": "green", "description": "Some burdock seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "burdock", "fruit": "raw_burdock", "grow": "91 days" } }, { @@ -606,6 +661,7 @@ "name": { "str_sp": "Japanese knotweed stems" }, "description": "Some Japanese knotweed stems, prepared for planting.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "Japanese knotweed", "fruit": "japanese_knotweed_stem", @@ -619,10 +675,10 @@ "copy-from": "seed", "name": { "str_sp": "wild rice seeds" }, "description": "Some wild rice seeds, prepared for planting.", - "primary_material": "dried_vegetable", "weight": "5 g", "stack_size": 10, - "seed_data": { "plant_name": "wild rice", "fruit": "wild_rice", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "wild rice", "fruit": "wild_rice_stalks", "seeds": false, "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -630,6 +686,7 @@ "copy-from": "seed", "name": { "str_sp": "Jerusalem artichoke seeds" }, "description": "Some Jerusalem artichoke seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "charges": 2, "seed_data": { "plant_name": "Jerusalem artichoke", "fruit": "jerusalem_artichoke", "byproducts": [ "withered" ], "grow": "91 days" } }, @@ -640,9 +697,11 @@ "name": { "str_sp": "starry false Solomon's seal seeds" }, "description": "Some starry false Solomon's seal seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "starry false Solomon's seal", "fruit": "m_stellatum_berries", + "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } @@ -654,6 +713,7 @@ "name": { "str_sp": "wild sarsaparilla seeds" }, "description": "Some wild sarsaparilla seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "wild sarsaparilla", "fruit": "wild_sarsaparilla_root", @@ -667,8 +727,8 @@ "copy-from": "seed", "name": { "str_sp": "mayapple seeds" }, "description": "Some mayapple seeds.", - "charges": 2, - "seed_data": { "plant_name": "mayapple", "fruit": "mayapple", "byproducts": [ "withered" ], "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "mayapple", "fruit": "mayapple", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -676,10 +736,11 @@ "copy-from": "seed", "name": { "str_sp": "wintergreen seeds" }, "description": "Some wintergreen seeds.", - "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "wintergreen", "fruit": "wintergreen_berry", + "seeds": false, "byproducts": [ "wintergreen_leaves", "withered" ], "grow": "91 days" } @@ -691,6 +752,7 @@ "name": { "str_sp": "groundnut seeds" }, "description": "Some groundnut seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "groundnut", "fruit": "groundnut", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -699,6 +761,7 @@ "copy-from": "seed", "name": { "str_sp": "wild garlic seeds" }, "description": "Some wild garlic seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "charges": 2, "seed_data": { "plant_name": "wild garlic", "fruit": "wild_garlic", "byproducts": [ "withered" ], "grow": "91 days" } }, @@ -710,6 +773,7 @@ "color": "green", "description": "Some bamboo seeds.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE", "CUT_HARVEST" ], "seed_data": { "plant_name": "bamboo", "fruit": "raw_bamboo", "grow": "91 days" } }, { @@ -720,6 +784,7 @@ "color": "green", "description": "Some rhubarb stems.", "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "rhubarb", "fruit": "rhubarb", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -727,7 +792,8 @@ "id": "seed_mushroom", "copy-from": "seed_mushroom_base", "name": { "str_sp": "mushroom spores" }, - "seed_data": { "plant_name": "mushroom", "fruit": "mushroom", "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "mushroom", "fruit": "mushroom", "seeds": false, "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -735,7 +801,8 @@ "copy-from": "seed_mushroom_base", "name": { "str_sp": "morel mushroom spores" }, "description": "Some morel mushroom spores.", - "seed_data": { "plant_name": "morel mushroom", "fruit": "mushroom_morel", "grow": "91 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "morel mushroom", "fruit": "mushroom_morel", "seeds": false, "grow": "91 days" } }, { "id": "datura_seed", @@ -750,6 +817,7 @@ "healthy": -2, "fun": -1, "use_action": [ "DATURA" ], + "flags": [ "PLANTABLE_SEED" ], "seed_data": { "plant_name": "datura", "fruit": "datura_seed", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -759,33 +827,28 @@ "price": 50, "name": { "str_sp": "celery seeds" }, "description": "Some celery seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "celery", "fruit": "celery", "byproducts": [ "withered" ], "grow": "130 days" } }, { "type": "COMESTIBLE", "id": "seed_oats", - "copy-from": "seed", - "price": 50, + "copy-from": "oats", "name": { "str_sp": "oat seeds" }, - "description": "Some oat seeds.", - "material": [ "wheat" ], - "primary_material": "dried_vegetable", - "weight": "5 g", - "stack_size": 40, - "seed_data": { "plant_name": "oats", "fruit": "oats", "byproducts": [ "withered" ], "grow": "45 days" } + "description": "A pile of dried whole oats, ready for planting.", + "extend": { "flags": [ "NUTRIENT_OVERRIDE" ] }, + "category": "seeds", + "seed_data": { "plant_name": "oats", "fruit": "oat_stalks", "seeds": false, "grow": "65 days" } }, { "id": "seed_wheat", - "copy-from": "seed", + "copy-from": "wheat", "type": "COMESTIBLE", + "category": "seeds", "name": { "str_sp": "wheat seeds" }, - "description": "Some wheat seeds.", - "weight": "5 g", - "price": 50, - "stack_size": 40, - "material": [ "wheat" ], - "primary_material": "dried_vegetable", - "seed_data": { "plant_name": "wheat", "fruit": "wheat", "byproducts": [ "straw_pile" ], "grow": "120 days" } + "extend": { "flags": [ "NUTRIENT_OVERRIDE" ] }, + "description": "A pile of dry wheatberries, designated for planting.", + "seed_data": { "plant_name": "wheat", "fruit": "wheat_stalks", "seeds": false, "grow": "120 days" } }, { "type": "COMESTIBLE", @@ -835,7 +898,6 @@ { "type": "COMESTIBLE", "id": "coffee_bean", - "category": "seeds", "container": "bag_plastic", "price": 50, "material": [ "veggy" ], @@ -850,7 +912,8 @@ "calories": 549, "volume": "250 ml", "vitamins": [ [ "calcium", 4 ], [ "iron", 8 ] ], - "flags": [ "EDIBLE_FROZEN", "RAW", "NO_AUTO_CONSUME" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "NO_AUTO_CONSUME", "INEDIBLE", "NUTRIENT_OVERRIDE" ], + "//": "You can technically eat 20 or 30 coffee beans before getting sick, but any more than that and you'll have a very bad time. This is a negligible amount of calories so we either need to greatly reduce portion size here or find a way to simulate the agony someone would be in after eating an entire cup of the things.", "stack_size": 40, "weight": "106 g" }, @@ -862,7 +925,7 @@ "container": "bag_plastic", "name": { "str_sp": "roasted coffee beans" }, "description": "Some roasted coffee beans, can be ground into powder.", - "flags": [ "EDIBLE_FROZEN", "NO_AUTO_CONSUME" ] + "extend": { "flags": [ "RAW" ] } }, { "type": "COMESTIBLE", @@ -871,6 +934,7 @@ "looks_like": "seed_raw_dandelion", "name": { "str_sp": "chamomile seeds" }, "description": "Some chamomile seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "chamomile", "fruit": "chamomile", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -880,15 +944,18 @@ "looks_like": "seed_raw_dandelion", "name": { "str_sp": "spurge seeds" }, "description": "Some spurge seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "spurge", "fruit": "spurge", "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", "id": "seed_popcorn", - "copy-from": "seed", - "name": { "str_sp": "popcorn seeds" }, - "description": "Some popcorn seeds.", - "seed_data": { "plant_name": "popcorn", "fruit": "popcorn_raw", "byproducts": [ "withered" ], "grow": "91 days" } + "copy-from": "kernels", + "name": { "str_sp": "seed popcorn" }, + "container": "null", + "extend": { "flags": [ "NUTRIENT_OVERRIDE" ] }, + "description": "A bunch of dry unpopped corn. It's intended for planting, but could be put to other uses.", + "seed_data": { "plant_name": "popcorn", "fruit": "popcorn_raw", "seeds": false, "byproducts": [ "withered" ], "grow": "91 days" } }, { "type": "COMESTIBLE", @@ -896,6 +963,7 @@ "copy-from": "seed", "name": { "str_sp": "horseradish seeds" }, "description": "Some horseradish seeds.", + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "horseradish", "fruit": "horseradish_root", "byproducts": [ "horseradish_greens" ], "grow": "91 days" } }, { @@ -910,6 +978,7 @@ "description": "Some mustard seeds. Could be ground into mustard powder.", "price": 100, "charges": 2, + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], "seed_data": { "plant_name": "mustard", "fruit": "seed_mustard", "byproducts": [ "withered" ], "grow": "91 days" } }, { @@ -919,7 +988,8 @@ "price": 50, "name": { "str_sp": "bell pepper seeds" }, "description": "Some bell pepper seeds.", - "seed_data": { "plant_name": "bell pepper", "fruit": "bell_pepper", "byproducts": [ "withered" ], "grow": "70 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { "plant_name": "bell pepper", "fruit": "bell_pepper", "seeds": false, "byproducts": [ "withered" ], "grow": "70 days" } }, { "type": "COMESTIBLE", @@ -928,7 +998,14 @@ "price": 50, "name": { "str_sp": "bottle gourd seeds" }, "description": "Some bottle gourd seeds.", - "seed_data": { "plant_name": "bottle gourd", "fruit": "raw_bottle_gourd", "byproducts": [ "withered" ], "grow": "60 days" } + "flags": [ "PLANTABLE_SEED", "NUTRIENT_OVERRIDE", "INEDIBLE" ], + "seed_data": { + "plant_name": "bottle gourd", + "fruit": "raw_bottle_gourd", + "seeds": false, + "byproducts": [ "withered" ], + "grow": "60 days" + } }, { "type": "COMESTIBLE", @@ -937,6 +1014,6 @@ "price": 70, "name": { "str_sp": "eggplant seeds" }, "description": "Some eggplant seeds.", - "seed_data": { "plant_name": "eggplant", "fruit": "eggplant", "byproducts": [ "withered" ], "grow": "60 days" } + "seed_data": { "plant_name": "eggplant", "fruit": "eggplant", "seeds": false, "byproducts": [ "withered" ], "grow": "60 days" } } ] diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index 77fefaeb8d4e4..f8f4ff36b69cd 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -252,11 +252,10 @@ "name": { "str_sp": "cooked buckwheat" }, "copy-from": "buckwheat", "spoils_in": "20 days", - "description": "A serving of cooked buckwheat groats. Healthy and nutritious but bland.", + "description": "A serving of cooked buckwheat porridge. Healthy and nutritious but bland.", "price": 120, "price_postapoc": 50, - "flags": [ "EATEN_HOT" ], - "fun": 0 + "flags": [ "EATEN_HOT" ] }, { "type": "COMESTIBLE", @@ -706,19 +705,21 @@ "type": "COMESTIBLE", "id": "cooked_pumpkin", "name": { "str": "mashed pumpkin" }, - "copy-from": "pumpkin", + "copy-from": "pumpkin_cut", "color": "light_red", "spoils_in": "1 day 12 hours", "container": "can_food", "quench": 3, + "calories": 15, "description": "A simple dish made by cooking pumpkin pulp and then mashing.", "price": 50, - "price_postapoc": 50, + "price_postapoc": 30, "sealed": true, "material": [ "veggy" ], "volume": "250 ml", - "delete": { "flags": [ "RAW" ] }, - "charges": 1 + "weight": "275 g", + "vitamins": [ [ "vitC", 8 ], [ "calcium", 1 ], [ "iron", 2 ] ], + "delete": { "flags": [ "RAW" ] } }, { "type": "COMESTIBLE", @@ -1084,9 +1085,10 @@ "material": [ "veggy" ], "milling": { "into": "cornmeal", "conversion_rate": 3 }, "volume": "255 ml", - "flags": [ "EDIBLE_FROZEN", "RAW" ], "vitamins": [ [ "vitC", 12 ], [ "iron", 4 ] ], - "fun": -10 + "petfood": [ "CATTLEFOOD" ], + "flags": [ "EDIBLE_FROZEN", "RAW", "INEDIBLE", "CATTLE", "PLANTABLE_SEED" ], + "seed_data": { "plant_name": "corn", "fruit": "corn", "byproducts": [ "withered" ], "grow": "80 days" } }, { "type": "COMESTIBLE", diff --git a/data/json/items/comestibles/wheat.json b/data/json/items/comestibles/wheat.json index 281457bb4ab33..576b81ad22976 100644 --- a/data/json/items/comestibles/wheat.json +++ b/data/json/items/comestibles/wheat.json @@ -1,24 +1,4 @@ [ - { - "type": "COMESTIBLE", - "id": "wheat", - "name": { "str_sp": "wheat" }, - "weight": "203 g", - "color": "brown", - "comestible_type": "FOOD", - "symbol": ",", - "quench": -10, - "calories": 667, - "description": "Raw wheat, not very tasty.", - "price": 120, - "price_postapoc": 100, - "material": [ "wheat" ], - "milling": { "into": "flour", "conversion_rate": 15 }, - "volume": "250 ml", - "flags": [ "EDIBLE_FROZEN", "RAW" ], - "vitamins": [ [ "calcium", 4 ], [ "iron", 40 ] ], - "fun": -10 - }, { "type": "COMESTIBLE", "id": "grain_boiled", @@ -208,26 +188,6 @@ "vitamins": [ [ "calcium", 1 ], [ "iron", 10 ] ], "fun": -8 }, - { - "type": "COMESTIBLE", - "id": "oats", - "name": { "str_sp": "oats" }, - "weight": "86 g", - "color": "brown", - "comestible_type": "FOOD", - "symbol": ",", - "quench": -10, - "calories": 335, - "description": "Raw oats.", - "price": 120, - "price_postapoc": 100, - "material": [ "wheat" ], - "volume": "250 ml", - "milling": { "into": "flour", "conversion_rate": 3.75 }, - "flags": [ "EDIBLE_FROZEN", "RAW" ], - "vitamins": [ [ "calcium", 3 ], [ "iron", 20 ] ], - "fun": -10 - }, { "type": "COMESTIBLE", "id": "oatmeal_cooked", @@ -657,15 +617,5 @@ "price_postapoc": 500, "fun": 15, "use_action": [ "WEED_CAKE" ] - }, - { - "type": "COMESTIBLE", - "id": "wild_rice", - "name": { "str_sp": "wild rice" }, - "copy-from": "wheat", - "calories": 120, - "description": "Raw wild rice, still in its fibrous shell and not very tasty.", - "milling": { "into": "dry_wild_rice", "conversion_rate": 5 }, - "fun": -20 } ] diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 25daa1af2709a..6a777db97c41a 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -2114,15 +2114,27 @@ "melee_damage": { "bash": 4 } }, { - "type": "GENERIC", + "type": "TOOL", "id": "fan", "symbol": ",", - "color": "light_gray", "name": { "str": "desk fan" }, "description": "A small fan, used to propel air around a room.", + "color": "light_gray", "price": 1000, "price_postapoc": 10, "material": [ "aluminum", "plastic" ], + "flags": [ "WATER_BREAK" ], + "ammo": [ "battery" ], + "charges_per_use": 4, + "pocket_data": [ + { + "pocket_type": "MAGAZINE_WELL", + "rigid": true, + "flag_restriction": [ "BATTERY_MEDIUM" ], + "default_magazine": "medium_battery_cell" + } + ], + "charged_qualities": [ [ "BLOW_AIR", 1 ] ], "weight": "2857 g", "volume": "1 L" }, @@ -2856,16 +2868,18 @@ "description": "A beautiful black onyx." }, { - "type": "GENERIC", + "type": "COMESTIBLE", + "comestible_type": "FOOD", "id": "straw_pile", - "symbol": ",", - "color": "light_gray", "name": { "str": "pile of straw", "str_pl": "piles of straw" }, "category": "spare_parts", + "symbol": ",", + "color": "light_gray", + "calories": 15, "description": "A pile of dry grass. Can be used to craft a straw bed if there is nothing else to sleep on.", - "material": [ "paper" ], - "flags": [ "TRADER_AVOID", "TINDER" ], - "weight": "20 g", + "material": [ "veggy" ], + "flags": [ "TRADER_AVOID", "INEDIBLE", "CATTLE", "TINDER" ], + "weight": "34 g", "volume": "250 ml", "to_hit": -2 }, diff --git a/data/json/items/generic/bathroom_house.json b/data/json/items/generic/bathroom_house.json index 943456200eaa8..096b97533f6f2 100644 --- a/data/json/items/generic/bathroom_house.json +++ b/data/json/items/generic/bathroom_house.json @@ -282,8 +282,8 @@ { "id": "hair_dryer", "name": { "str": "hair dryer" }, - "type": "GENERIC", - "description": "This tool dries your hair by pushing air through a coil of hot wires. Without a functioning power grid, it is a motorized paper weight.", + "type": "TOOL", + "description": "This tool dries your hair by pushing air through a coil of hot wires. The heat can be toggled on and off.", "symbol": "(", "color": "black", "price": 2100, @@ -291,6 +291,18 @@ "volume": "500 ml", "weight": "680 g", "material": [ "plastic", "steel" ], + "flags": [ "WATER_BREAK" ], + "ammo": [ "battery" ], + "charges_per_use": 35, + "pocket_data": [ + { + "pocket_type": "MAGAZINE_WELL", + "rigid": true, + "flag_restriction": [ "BATTERY_MEDIUM" ], + "default_magazine": "medium_battery_cell" + } + ], + "charged_qualities": [ [ "BLOW_AIR", 1 ], [ "BLOW_HOT_AIR", 1 ] ], "to_hit": -1, "melee_damage": { "bash": 3 } }, diff --git a/data/json/recipes/food/baking.json b/data/json/recipes/food/baking.json index 0caa706e3b7d1..3229e3b1f4dd5 100644 --- a/data/json/recipes/food/baking.json +++ b/data/json/recipes/food/baking.json @@ -58,7 +58,7 @@ [ [ "flour_any", 4, "LIST" ] ], [ [ "yeast", 2 ] ], [ [ "apple_cider", 2 ], [ "apple", 2 ], [ "irradiated_apple", 2 ] ], - [ [ "pumpkin", 2 ], [ "irradiated_pumpkin", 2 ] ], + [ [ "pumpkin_cut", 2 ] ], [ [ "sugar", 4 ], [ "artificial_sweetener", 4 ] ], [ [ "eggs_any_shape", 2, "LIST" ] ], [ [ "any_butter_or_oil", 2, "LIST" ] ], diff --git a/data/json/recipes/food/bread.json b/data/json/recipes/food/bread.json index bf218e0390b9c..6ecd47541daa6 100644 --- a/data/json/recipes/food/bread.json +++ b/data/json/recipes/food/bread.json @@ -19,7 +19,7 @@ [ [ "flour_any", 40, "LIST" ] ], [ [ "yeast", 2 ] ], [ [ "milk_standard_raw", 2, "LIST" ], [ "lf_milk_standard", 2, "LIST" ] ], - [ [ "pumpkin", 2 ], [ "irradiated_pumpkin", 2 ] ], + [ [ "pumpkin_cut", 2 ] ], [ [ "sugar", 4 ], [ "artificial_sweetener", 4 ] ], [ [ "eggs_any_shape", 2, "LIST" ] ], [ [ "any_butter_or_oil", 2, "LIST" ] ], diff --git a/data/json/recipes/food/brewing.json b/data/json/recipes/food/brewing.json index 748b38bd54e5a..5627cd83740fb 100644 --- a/data/json/recipes/food/brewing.json +++ b/data/json/recipes/food/brewing.json @@ -261,7 +261,7 @@ "qualities": [ { "id": "BOIL", "level": 2 } ], "tools": [ [ [ "surface_heat", 54, "LIST" ] ] ], "//": "24u for pumpkin and 30u to heat water & activate the yeast", - "components": [ [ [ "water_clean", 15 ] ], [ [ "pumpkin", 12 ] ], [ [ "sugar", 50 ] ], [ [ "yeast", 2 ] ] ] + "components": [ [ [ "water_clean", 15 ] ], [ [ "pumpkin_cut", 12 ] ], [ [ "sugar", 50 ] ], [ [ "yeast", 2 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/food/canned.json b/data/json/recipes/food/canned.json index 4c7cbb8e0582a..2b9894335c04a 100644 --- a/data/json/recipes/food/canned.json +++ b/data/json/recipes/food/canned.json @@ -758,9 +758,9 @@ "components": [ [ [ "jar_3l_glass_sealed", 1 ] ], [ [ "water_clean", 6 ] ], - [ [ "irradiated_tomato", 4 ], [ "can_tomato", 4 ], [ "tomato", 4 ] ], + [ [ "irradiated_tomato", 4 ], [ "can_tomato", 4 ], [ "tomato_cut", 4 ], [ "tomato", 4 ] ], [ [ "irradiated_broccoli", 4 ], [ "broccoli", 4 ] ], - [ [ "irradiated_zucchini", 4 ], [ "zucchini", 4 ] ], + [ [ "irradiated_zucchini", 4 ], [ "zucchini", 4 ], [ "zucchini_cut", 4 ] ], [ [ "canning_acid_large", 1, "LIST" ] ] ] }, @@ -787,7 +787,7 @@ "components": [ [ [ "jar_3l_glass_sealed", 1 ] ], [ [ "water_clean", 12 ] ], - [ [ "can_tomato", 24 ], [ "tomato", 24 ], [ "irradiated_tomato", 24 ] ], + [ [ "can_tomato", 24 ], [ "tomato", 24 ], [ "tomato_cut", 24 ], [ "irradiated_tomato", 24 ] ], [ [ "canning_acid_large", 1, "LIST" ] ] ] }, @@ -813,7 +813,7 @@ "//2": "pressure canning is measured in 0.5 liter quantities, so 1u of canning_high_heat.", "components": [ [ [ "jar_glass_sealed", 1 ] ], - [ [ "can_tomato", 4 ], [ "tomato", 4 ], [ "irradiated_tomato", 4 ] ], + [ [ "can_tomato", 4 ], [ "tomato", 4 ], [ "tomato_cut", 4 ], [ "irradiated_tomato", 4 ] ], [ [ "water_clean", 2 ] ], [ [ "canning_acid_small", 1, "LIST" ] ] ] @@ -841,7 +841,7 @@ "components": [ [ [ "water_clean", 1 ] ], [ [ "jar_glass_sealed", 1 ] ], - [ [ "tomato", 4 ], [ "irradiated_tomato", 4 ] ], + [ [ "tomato", 4 ], [ "irradiated_tomato", 4 ], [ "tomato_cut", 4 ] ], [ [ "canning_acid_small", 1, "LIST" ] ] ] }, @@ -868,7 +868,7 @@ "components": [ [ [ "water_clean", 6 ] ], [ [ "jar_3l_glass_sealed", 1 ] ], - [ [ "tomato", 24 ], [ "irradiated_tomato", 24 ] ], + [ [ "tomato", 24 ], [ "irradiated_tomato", 24 ], [ "tomato_cut", 24 ] ], [ [ "canning_acid_large", 1, "LIST" ] ] ] }, @@ -949,11 +949,14 @@ [ "veggy_wild", 2 ], [ "mushroom", 2 ], [ "tomato", 2 ], + [ "tomato_cut", 2 ], [ "irradiated_tomato", 2 ], [ "broccoli", 2 ], [ "irradiated_broccoli", 2 ], + [ "zucchini_cut", 2 ], [ "zucchini", 2 ], [ "irradiated_zucchini", 2 ], + [ "cucumber_cut", 2 ], [ "cucumber", 2 ], [ "irradiated_cucumber", 2 ], [ "veggy_potatolike", 2, "LIST" ], @@ -995,11 +998,14 @@ [ "veggy_wild", 12 ], [ "mushroom", 12 ], [ "tomato", 12 ], + [ "tomato_cut", 12 ], [ "irradiated_tomato", 12 ], [ "broccoli", 12 ], [ "irradiated_broccoli", 12 ], + [ "zucchini_cut", 12 ], [ "zucchini", 12 ], [ "irradiated_zucchini", 12 ], + [ "cucumber_cut", 12 ], [ "cucumber", 12 ], [ "irradiated_cucumber", 12 ], [ "veggy_potatolike", 12, "LIST" ], @@ -1986,7 +1992,7 @@ "contained": true, "batch_time_factors": [ 83, 5 ], "charges": 2, - "components": [ [ [ "water_clean", 1 ] ], [ [ "tomato", 2 ], [ "irradiated_tomato", 2 ] ] ], + "components": [ [ [ "water_clean", 1 ] ], [ [ "tomato", 2 ], [ "tomato_cut", 2 ], [ "irradiated_tomato", 2 ] ] ], "using": [ [ "canning_metal", 1, "LIST" ], [ "tincan_small", 1 ] ], "//1": "tincan canning is measured in 0.25 liter quantities, so 1u of canning_metal.", "byproducts": [ [ "water_clean", 1 ] ] @@ -2006,7 +2012,7 @@ "container": "can_medium", "batch_time_factors": [ 83, 5 ], "charges": 4, - "components": [ [ [ "water_clean", 1 ] ], [ [ "tomato", 4 ], [ "irradiated_tomato", 4 ] ] ], + "components": [ [ [ "water_clean", 1 ] ], [ [ "tomato", 4 ], [ "tomato_cut", 4 ], [ "irradiated_tomato", 4 ] ] ], "using": [ [ "canning_metal", 2, "LIST" ], [ "tincan_medium", 1 ] ], "//1": "tincan canning is measured in 0.25 liter quantities, so 2u of canning_metal.", "byproducts": [ [ "water_clean", 1 ] ] @@ -2026,7 +2032,7 @@ "container": "can_food_big", "batch_time_factors": [ 83, 5 ], "charges": 24, - "components": [ [ [ "water_clean", 1 ] ], [ [ "tomato", 24 ], [ "irradiated_tomato", 24 ] ] ], + "components": [ [ [ "water_clean", 1 ] ], [ [ "tomato", 24 ], [ "tomato_cut", 24 ], [ "irradiated_tomato", 24 ] ] ], "using": [ [ "canning_metal", 12, "LIST" ], [ "tincan_large", 1 ] ], "//1": "tincan canning is measured in 0.25 liter quantities, so 12u of canning_metal.", "byproducts": [ [ "water_clean", 6 ] ] @@ -2239,7 +2245,7 @@ "proficiencies": [ { "proficiency": "prof_food_prep" }, { "proficiency": "prof_preservation" }, { "proficiency": "prof_food_canning" } ], "contained": true, "batch_time_factors": [ 83, 5 ], - "components": [ [ [ "can_tomato", 4 ], [ "tomato", 4 ], [ "irradiated_tomato", 4 ] ], [ [ "water_clean", 5 ] ] ], + "components": [ [ [ "can_tomato", 4 ], [ "tomato", 4 ], [ "tomato_cut", 4 ], [ "irradiated_tomato", 4 ] ], [ [ "water_clean", 5 ] ] ], "using": [ [ "canning_metal", 2, "LIST" ], [ "tincan_medium", 1 ] ], "//1": "tincan canning is measured in 0.25 liter quantities, so 2u of canning_metal.", "byproducts": [ [ "water_clean", 1 ] ] @@ -2259,7 +2265,7 @@ "container": "can_food", "charges": 4, "batch_time_factors": [ 83, 5 ], - "components": [ [ [ "can_tomato", 2 ], [ "tomato", 2 ], [ "irradiated_tomato", 2 ] ], [ [ "water_clean", 3 ] ] ], + "components": [ [ [ "can_tomato", 2 ], [ "tomato", 2 ], [ "tomato_cut", 2 ], [ "irradiated_tomato", 2 ] ], [ [ "water_clean", 3 ] ] ], "using": [ [ "canning_metal", 1, "LIST" ], [ "tincan_small", 1 ] ], "//1": "tincan canning is measured in 0.25 liter quantities, so 1u of canning_metal.", "byproducts": [ [ "water_clean", 1 ] ] @@ -2279,7 +2285,10 @@ "container": "can_food_big", "charges": 48, "batch_time_factors": [ 83, 5 ], - "components": [ [ [ "can_tomato", 24 ], [ "tomato", 24 ], [ "irradiated_tomato", 24 ] ], [ [ "water_clean", 30 ] ] ], + "components": [ + [ [ "can_tomato", 24 ], [ "tomato", 24 ], [ "tomato_cut", 24 ], [ "irradiated_tomato", 24 ] ], + [ [ "water_clean", 30 ] ] + ], "using": [ [ "canning_metal", 12, "LIST" ], [ "tincan_large", 1 ] ], "//1": "tincan canning is measured in 0.25 liter quantities, so 12u of canning_metal.", "byproducts": [ [ "water_clean", 6 ] ] diff --git a/data/json/recipes/food/casseroles.json b/data/json/recipes/food/casseroles.json index 4e5e6a885c267..18905cd2f97cb 100644 --- a/data/json/recipes/food/casseroles.json +++ b/data/json/recipes/food/casseroles.json @@ -19,7 +19,7 @@ [ [ "salt", 7 ], [ "seasoning_salt", 7 ], [ "soysauce", 4 ] ], [ [ "seasoning_italian", 7 ], [ "wild_herbs", 7 ], [ "pepper", 7 ], [ "cinnamon", 7 ], [ "mustard_powder", 7 ] ], [ [ "any_butter_or_oil", 4, "LIST" ] ], - [ [ "bell_pepper", 1 ] ], + [ [ "bell_pepper", 1 ], [ "bell_pepper_cut", 1 ] ], [ [ "onion", 1 ] ], [ [ "cheese", 6 ], [ "can_cheese", 6 ], [ "cheese_hard", 6 ] ], [ [ "garlic_clove", 1 ] ], diff --git a/data/json/recipes/food/dairy_products.json b/data/json/recipes/food/dairy_products.json index d60de4a0bbaf3..8e5c8074aab98 100644 --- a/data/json/recipes/food/dairy_products.json +++ b/data/json/recipes/food/dairy_products.json @@ -124,7 +124,14 @@ [ [ "cottage_cheese", 1 ] ], [ [ "sweet_fruit", 1, "LIST" ] ], [ [ "onion", 1 ] ], - [ [ "bell_pepper", 1 ], [ "tomato", 1 ], [ "cucumber", 1 ] ] + [ + [ "bell_pepper", 1 ], + [ "bell_pepper_cut", 1 ], + [ "tomato", 1 ], + [ "tomato_cut", 1 ], + [ "cucumber", 1 ], + [ "cucumber_cut", 1 ] + ] ] }, { diff --git a/data/json/recipes/food/dry.json b/data/json/recipes/food/dry.json index 40c0a7e2eee7b..da28184eff5d6 100644 --- a/data/json/recipes/food/dry.json +++ b/data/json/recipes/food/dry.json @@ -365,6 +365,161 @@ "//": "210g of stuff - kernels are rather heavy, 8u to cook", "components": [ [ [ "corn_kernels", 1 ] ] ] }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_wheat_stalks", + "charges": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "18 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ] ], + "components": [ [ [ "wheat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_wheat_stalks", + "charges": 1, + "category": "CC_FOOD", + "id_suffix": "frozen_ingredients", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "20 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ], [ [ "surface_heat", 2, "LIST" ] ] ], + "components": [ [ [ "wheat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_barley_stalks", + "charges": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "18 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ] ], + "components": [ [ [ "barley_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_barley_stalks", + "charges": 1, + "category": "CC_FOOD", + "id_suffix": "frozen_ingredients", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "20 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ], [ [ "surface_heat", 2, "LIST" ] ] ], + "components": [ [ [ "barley_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_oat_stalks", + "charges": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "18 m", + "autolearn": true, + "batch_time_factors": [ 67, 2 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ] ], + "components": [ [ [ "oat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_oat_stalks", + "charges": 1, + "category": "CC_FOOD", + "id_suffix": "frozen_ingredients", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "20 m", + "autolearn": true, + "batch_time_factors": [ 67, 2 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ], [ [ "surface_heat", 2, "LIST" ] ] ], + "components": [ [ [ "oat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_wild_rice_stalks", + "charges": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "18 m", + "autolearn": true, + "batch_time_factors": [ 67, 2 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ] ], + "components": [ [ [ "wild_rice_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_wild_rice_stalks", + "charges": 1, + "category": "CC_FOOD", + "id_suffix": "frozen_ingredients", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "20 m", + "autolearn": true, + "batch_time_factors": [ 67, 2 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ], [ [ "surface_heat", 2, "LIST" ] ] ], + "components": [ [ [ "wild_rice_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_buckwheat_stalks", + "charges": 1, + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "18 m", + "autolearn": true, + "batch_time_factors": [ 67, 2 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ] ], + "components": [ [ [ "buckwheat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "NO_EXERCISE", + "result": "dry_buckwheat_stalks", + "charges": 1, + "category": "CC_FOOD", + "id_suffix": "frozen_ingredients", + "subcategory": "CSC_FOOD_DRY", + "skill_used": "cooking", + "difficulty": 2, + "time": "20 m", + "autolearn": true, + "batch_time_factors": [ 67, 2 ], + "tools": [ [ [ "dehydrating_heat", 12, "LIST" ] ], [ [ "surface_heat", 2, "LIST" ] ] ], + "components": [ [ [ "buckwheat_stalks", 1 ] ] ] + }, { "result": "dry_veggy_tainted", "charges": 1, @@ -516,7 +671,7 @@ { "type": "recipe", "activity_level": "NO_EXERCISE", - "result": "dry_lentils", + "result": "dry_soybean", "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRY", @@ -527,12 +682,12 @@ "batch_time_factors": [ 67, 5 ], "tools": [ [ [ "dehydrating_heat", 19, "LIST" ] ] ], "//": "194g of stuff", - "components": [ [ [ "raw_lentils", 1 ] ] ] + "components": [ [ [ "soybean", 1 ] ] ] }, { "type": "recipe", "activity_level": "NO_EXERCISE", - "result": "dry_lentils", + "result": "dry_soybean", "charges": 1, "category": "CC_FOOD", "id_suffix": "frozen_ingredients", @@ -543,8 +698,8 @@ "autolearn": true, "batch_time_factors": [ 67, 5 ], "tools": [ [ [ "dehydrating_heat", 19, "LIST" ] ], [ [ "surface_heat", 8, "LIST" ] ] ], - "//": "194g of stuff, 8u to cook the lentils", - "components": [ [ [ "raw_lentils", 1 ] ] ] + "//": "194g of stuff, 8u to cook the soybeans", + "components": [ [ [ "soybean", 1 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/food/offal_dishes.json b/data/json/recipes/food/offal_dishes.json index 613882cc240e3..4bdf6d6eb2b1e 100644 --- a/data/json/recipes/food/offal_dishes.json +++ b/data/json/recipes/food/offal_dishes.json @@ -328,7 +328,7 @@ [ [ "salt", 1 ] ], [ [ "water_clean", 1 ] ], [ [ "mustard", 1 ] ], - [ [ "sauce_pesto", 1 ], [ "sauce_red", 1 ], [ "tomato", 1 ], [ "irradiated_tomato", 1 ] ] + [ [ "sauce_pesto", 1 ], [ "sauce_red", 1 ], [ "tomato", 1 ], [ "tomato_cut", 1 ], [ "irradiated_tomato", 1 ] ] ] }, { @@ -377,7 +377,7 @@ [ [ "pepper", 6 ] ], [ [ "worthy_wine", 3, "LIST" ] ], [ [ "garlic_clove", 1 ], [ "garlic_powder", 6 ] ], - [ [ "sauce_pesto", 1 ], [ "sauce_red", 1 ], [ "tomato", 1 ], [ "irradiated_tomato", 1 ] ] + [ [ "sauce_pesto", 1 ], [ "sauce_red", 1 ], [ "tomato", 1 ], [ "tomato_cut", 1 ], [ "irradiated_tomato", 1 ] ] ] }, { @@ -406,7 +406,7 @@ [ [ "sugar_standard", 3, "LIST" ], [ "artificial_sweetener", 42 ] ], [ [ "worthy_wine", 3, "LIST" ] ], [ [ "batter", 4, "LIST" ] ], - [ [ "sauce_pesto", 1 ], [ "sauce_red", 1 ], [ "tomato", 1 ], [ "irradiated_tomato", 1 ] ] + [ [ "sauce_pesto", 1 ], [ "sauce_red", 1 ], [ "tomato", 1 ], [ "tomato_cut", 1 ], [ "irradiated_tomato", 1 ] ] ] }, { diff --git a/data/json/recipes/food/other.json b/data/json/recipes/food/other.json index 6a147bd47c08f..0916fa3325ee9 100644 --- a/data/json/recipes/food/other.json +++ b/data/json/recipes/food/other.json @@ -357,7 +357,6 @@ "tools": [ [ [ "clay_quern", -1 ], [ "rock_quern", -1 ] ] ], "components": [ [ - [ "soybean_seed", 50 ], [ "seed_cotton_boll", 50 ], [ "seed_pumpkin", 50 ], [ "seed_sunflower", 50 ], @@ -381,11 +380,11 @@ "qualities": [ { "id": "COOK", "level": 2 }, { "id": "CUT", "level": 1 } ], "tools": [ [ [ "surface_heat", 20, "LIST" ] ] ], "components": [ - [ [ "bell_pepper", 1 ] ], + [ [ "bell_pepper", 1 ], [ "bell_pepper_cut", 1 ] ], [ [ "onion", 1 ] ], [ [ "salt", 1 ] ], [ [ "pepper", 1 ] ], - [ [ "tomato", 2 ] ], + [ [ "tomato", 2 ], [ "tomato_cut", 2 ] ], [ [ "any_butter_or_oil", 1, "LIST" ] ], [ [ "eggs_bird", 4, "LIST" ] ], [ [ "water", 2 ] ] diff --git a/data/json/recipes/food/pasta.json b/data/json/recipes/food/pasta.json index df30005224ca3..bdfb7fdbfb261 100644 --- a/data/json/recipes/food/pasta.json +++ b/data/json/recipes/food/pasta.json @@ -59,6 +59,7 @@ [ "seasoning_italian", 4 ], [ "sauce_red", 2 ], [ "tomato", 1 ], + [ "tomato_cut", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "wild_herbs", 10 ] @@ -88,6 +89,7 @@ [ "seasoning_italian", 4 ], [ "sauce_red", 2 ], [ "tomato", 1 ], + [ "tomato_cut", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "wild_herbs", 10 ] diff --git a/data/json/recipes/food/raw_grain.json b/data/json/recipes/food/raw_grain.json new file mode 100644 index 0000000000000..5b4b75c89b561 --- /dev/null +++ b/data/json/recipes/food/raw_grain.json @@ -0,0 +1,381 @@ +[ + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_wheat", + "id_suffix": "flail", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "10 m", + "batch_time_factors": [ 90, 1 ], + "//": "A person with a flail can do 420 pounds per day because threshing scales very well.", + "autolearn": true, + "tools": [ [ [ "2h_flail_wood", -1 ] ] ], + "byproducts": [ [ "straw_pile", 2 ] ], + "components": [ [ [ "dry_wheat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_wheat", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "15 m", + "batch_time_factors": [ 90, 1 ], + "//": "Not having a flail slows this down considerably.", + "autolearn": true, + "tools": [ [ [ "stick", -1 ], [ "2x4", -1 ], [ "club_wooden", -1 ], [ "cudgel", -1 ] ] ], + "byproducts": [ [ "straw_pile", 2 ] ], + "components": [ [ [ "dry_wheat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "wheat", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "20 m", + "batch_time_factors": [ 20, 1 ], + "//": "The fastest way to do this without tools is just to toss the wheat into the air and let the chaff float away. This could also represent picking the seeds out by hand, etc.", + "autolearn": true, + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_wheat", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "wheat", + "id_suffix": "fan", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "5 m", + "batch_time_factors": [ 20, 1 ], + "//": "Anything that blows air can do this really quickly.", + "autolearn": true, + "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_wheat", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_oats", + "id_suffix": "flail", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "10 m", + "batch_time_factors": [ 90, 1 ], + "//": "Oats have half the calories of wheat, but it's the same number of stalks, so we get two piles and the full crafting time.", + "autolearn": true, + "tools": [ [ [ "2h_flail_wood", -1 ] ] ], + "byproducts": [ [ "straw_pile", 2 ] ], + "components": [ [ [ "dry_oat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_oats", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "15 m", + "batch_time_factors": [ 90, 1 ], + "autolearn": true, + "tools": [ [ [ "stick", -1 ], [ "2x4", -1 ], [ "club_wooden", -1 ], [ "cudgel", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_oat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "oats", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "20 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_oats", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "oats", + "id_suffix": "fan", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "5 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_oats", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_barley", + "id_suffix": "flail", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "10 m", + "batch_time_factors": [ 90, 1 ], + "autolearn": true, + "tools": [ [ [ "2h_flail_wood", -1 ] ] ], + "byproducts": [ [ "straw_pile", 2 ] ], + "components": [ [ [ "dry_barley_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_barley", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "15 m", + "batch_time_factors": [ 90, 1 ], + "autolearn": true, + "tools": [ [ [ "stick", -1 ], [ "2x4", -1 ], [ "club_wooden", -1 ], [ "cudgel", -1 ] ] ], + "byproducts": [ [ "straw_pile", 2 ] ], + "components": [ [ [ "dry_barley_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "barley", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "10 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_barley", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "barley", + "id_suffix": "fan", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "5 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_barley", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_lentils", + "id_suffix": "flail", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "5 m", + "batch_time_factors": [ 90, 1 ], + "//": "Lentils are half the volume of wheat, so we half the time and byproducts.", + "autolearn": true, + "tools": [ [ [ "2h_flail_wood", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_lentil_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_lentils", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "8 m", + "batch_time_factors": [ 90, 1 ], + "autolearn": true, + "tools": [ [ [ "stick", -1 ], [ "2x4", -1 ], [ "club_wooden", -1 ], [ "cudgel", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_lentil_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "dry_lentils", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "10 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_lentils", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "dry_lentils", + "id_suffix": "fan", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "3 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_lentils", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "wild_rice", + "id_suffix": "flail", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "5 m", + "batch_time_factors": [ 90, 1 ], + "autolearn": true, + "tools": [ [ [ "2h_flail_wood", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_wild_rice_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "wild_rice", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "8 m", + "batch_time_factors": [ 90, 1 ], + "autolearn": true, + "tools": [ [ [ "stick", -1 ], [ "2x4", -1 ], [ "club_wooden", -1 ], [ "cudgel", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_wild_rice_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_buckwheat", + "id_suffix": "flail", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "10 m", + "batch_time_factors": [ 90, 1 ], + "autolearn": true, + "tools": [ [ [ "2h_flail_wood", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_buckwheat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_buckwheat", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "15 m", + "batch_time_factors": [ 90, 1 ], + "//": "Not having a flail slows this down considerably.", + "autolearn": true, + "tools": [ [ [ "stick", -1 ], [ "2x4", -1 ], [ "club_wooden", -1 ], [ "cudgel", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_buckwheat_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "buckwheat", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "20 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_buckwheat", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "buckwheat", + "id_suffix": "fan", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "5 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_buckwheat", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_canola", + "id_suffix": "flail", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "10 m", + "batch_time_factors": [ 90, 1 ], + "autolearn": true, + "tools": [ [ [ "2h_flail_wood", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_canola_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "BRISK_EXERCISE", + "result": "threshed_canola", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "15 m", + "batch_time_factors": [ 90, 1 ], + "//": "Not having a flail slows this down considerably.", + "autolearn": true, + "tools": [ [ [ "stick", -1 ], [ "2x4", -1 ], [ "club_wooden", -1 ], [ "cudgel", -1 ] ] ], + "byproducts": [ [ "straw_pile", 1 ] ], + "components": [ [ [ "dry_canola_stalks", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "seed_canola", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "20 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_canola", 1 ] ] ] + }, + { + "type": "recipe", + "activity_level": "LIGHT_EXERCISE", + "result": "seed_canola", + "id_suffix": "fan", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_VEGGI", + "skill_used": "survival", + "time": "5 m", + "batch_time_factors": [ 20, 1 ], + "autolearn": true, + "qualities": [ { "id": "BLOW_AIR", "level": 1 } ], + "byproducts": [ [ "chaff", 1 ] ], + "components": [ [ [ "threshed_canola", 1 ] ] ] + } +] diff --git a/data/json/recipes/food/seed.json b/data/json/recipes/food/seed.json index a7cb11aeba4d8..bbbf11c4d7f03 100644 --- a/data/json/recipes/food/seed.json +++ b/data/json/recipes/food/seed.json @@ -9,9 +9,18 @@ "skill_used": "survival", "difficulty": 2, "time": "30 s", - "charges": 4, - "autolearn": true, - "flags": [ "ALLOW_ROTTEN" ] + "autolearn": true + }, + { + "abstract": "seed_extraction_designation", + "type": "recipe", + "//": "For things which are themselves seeds, such as grain. The character does no real work and is simply designating them for one use or another. All recipes are reversible and 1:1, all components must have unlimited shelf life.", + "activity_level": "NO_EXERCISE", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_SEEDS", + "skill_used": "survival", + "time": "1 s", + "autolearn": true }, { "abstract": "seed_extraction_cutting", @@ -26,27 +35,51 @@ "type": "recipe", "copy-from": "seed_extraction_cutting", "components": [ [ [ "pumpkin", 1 ] ] ], - "charges": 12 + "byproducts": [ [ "pumpkin_cut", 4 ] ], + "charges": 6 }, { "result": "seed_watermelon", "type": "recipe", "copy-from": "seed_extraction_cutting", "components": [ [ [ "watermelon", 1 ] ] ], - "charges": 12 + "byproducts": [ [ "watermelon_wedge", 16 ] ], + "charges": 5 + }, + { + "result": "seed_melon", + "type": "recipe", + "copy-from": "seed_extraction_cutting", + "components": [ [ [ "melon", 1 ] ] ], + "byproducts": [ [ "melon_chunks", 3 ] ], + "charges": 5 }, { "result": "seed_cucumber", "type": "recipe", "copy-from": "seed_extraction_cutting", + "byproducts": [ [ "cucumber_cut", 1 ] ], "components": [ [ [ "cucumber", 1 ] ] ] }, + { + "result": "seed_eggplant", + "type": "recipe", + "copy-from": "seed_extraction_cutting", + "byproducts": [ [ "eggplant_cut", 1 ] ], + "components": [ [ [ "eggplant", 1 ] ] ] + }, { "result": "seed_oats", "type": "recipe", - "copy-from": "seed_extraction_base", - "components": [ [ [ "oats", 1 ] ] ], - "charges": 8 + "copy-from": "seed_extraction_designation", + "components": [ [ [ "oats", 1 ] ] ] + }, + { + "result": "oats", + "type": "recipe", + "id_suffix": "seed_designation", + "copy-from": "seed_extraction_designation", + "components": [ [ [ "seed_oats", 1 ] ] ] }, { "result": "seed_cattail", @@ -57,27 +90,41 @@ { "result": "seed_corn", "type": "recipe", - "copy-from": "seed_extraction_cutting", - "components": [ [ [ "corn", 1 ] ] ], - "charges": 12 + "copy-from": "seed_extraction_designation", + "components": [ [ [ "dry_corn", 1 ] ] ] + }, + { + "result": "dry_corn", + "type": "recipe", + "id_suffix": "seed_designation", + "copy-from": "seed_extraction_designation", + "components": [ [ [ "seed_corn", 1 ] ] ] }, { "result": "seed_zucchini", "type": "recipe", "copy-from": "seed_extraction_cutting", + "byproducts": [ [ "zucchini_cut", 1 ] ], "components": [ [ [ "zucchini", 1 ] ] ] }, { "result": "seed_barley", "type": "recipe", - "copy-from": "seed_extraction_base", - "components": [ [ [ "barley", 1 ] ] ], - "charges": 8 + "copy-from": "seed_extraction_designation", + "components": [ [ [ "barley", 1 ] ] ] + }, + { + "result": "barley", + "type": "recipe", + "id_suffix": "seed_designation", + "copy-from": "seed_extraction_designation", + "components": [ [ [ "seed_barley", 1 ] ] ] }, { "result": "seed_tomato", "type": "recipe", "copy-from": "seed_extraction_cutting", + "byproducts": [ [ "tomato_cut", 1 ] ], "components": [ [ [ "tomato", 1 ] ] ] }, { @@ -150,8 +197,7 @@ "result": "seed_grapes", "type": "recipe", "copy-from": "seed_extraction_cutting", - "components": [ [ [ "grapes", 1 ] ] ], - "charges": 12 + "components": [ [ [ "grapes", 1 ] ] ] }, { "result": "seed_rose", @@ -168,9 +214,15 @@ { "result": "seed_wheat", "type": "recipe", - "copy-from": "seed_extraction_base", - "components": [ [ [ "wheat", 1 ] ] ], - "charges": 8 + "copy-from": "seed_extraction_designation", + "components": [ [ [ "wheat", 1 ] ] ] + }, + { + "result": "wheat", + "type": "recipe", + "id_suffix": "seed_designation", + "copy-from": "seed_extraction_designation", + "components": [ [ [ "seed_wheat", 1 ] ] ] }, { "result": "seed_bee_balm", @@ -181,9 +233,15 @@ { "result": "seed_buckwheat", "type": "recipe", + "copy-from": "seed_extraction_designation", + "components": [ [ [ "buckwheat", 1 ] ] ] + }, + { + "result": "buckwheat", + "type": "recipe", + "id_suffix": "seed_designation", "copy-from": "seed_extraction_base", - "components": [ [ [ "buckwheat", 1 ] ] ], - "charges": 8 + "components": [ [ [ "seed_buckwheat", 1 ] ] ] }, { "result": "seed_dogbane", @@ -239,9 +297,16 @@ { "result": "seed_wild_rice", "type": "recipe", - "copy-from": "seed_extraction_base", + "copy-from": "seed_extraction_designation", "components": [ [ [ "wild_rice", 1 ] ] ] }, + { + "result": "wild_rice", + "type": "recipe", + "id_suffix": "seed_designation", + "copy-from": "seed_extraction_designation", + "components": [ [ [ "seed_wild_rice", 1 ] ] ] + }, { "result": "seed_jerusalem_artichoke", "type": "recipe", @@ -324,16 +389,27 @@ { "result": "seed_beans", "type": "recipe", - "copy-from": "seed_extraction_base", - "components": [ [ [ "raw_beans", 1 ] ] ], - "charges": 12 + "copy-from": "seed_extraction_designation", + "components": [ [ [ "dry_beans", 1 ] ] ] + }, + { + "result": "dry_beans", + "type": "recipe", + "copy-from": "seed_extraction_designation", + "components": [ [ [ "seed_beans", 1 ] ] ] }, { "result": "seed_lentils", "type": "recipe", - "copy-from": "seed_extraction_base", - "components": [ [ [ "raw_lentils", 1 ] ] ], - "charges": 12 + "copy-from": "seed_extraction_designation", + "components": [ [ [ "dry_lentils", 1 ] ] ] + }, + { + "result": "dry_lentils", + "id_suffix": "seed_designation", + "type": "recipe", + "copy-from": "seed_extraction_designation", + "components": [ [ [ "seed_lentils", 1 ] ] ] }, { "result": "seed_chamomile", diff --git a/data/json/recipes/food/vegetable_dishes.json b/data/json/recipes/food/vegetable_dishes.json index 02894981c45fe..da1020a72d633 100644 --- a/data/json/recipes/food/vegetable_dishes.json +++ b/data/json/recipes/food/vegetable_dishes.json @@ -436,10 +436,9 @@ [ "raw_beans", 1 ], [ "can_beans", 1 ], [ "dry_beans", 1 ], - [ "raw_lentils", 1 ], [ "dry_lentils", 1 ], [ "soybean", 1 ], - [ "raw_edamame", 1 ] + [ "dry_soybean", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ], [ @@ -472,10 +471,9 @@ [ "raw_beans", 1 ], [ "can_beans", 1 ], [ "dry_beans", 1 ], - [ "raw_lentils", 1 ], [ "dry_lentils", 1 ], [ "soybean", 1 ], - [ "raw_edamame", 1 ] + [ "dry_soybean", 1 ] ], [ [ "onion", 2 ], @@ -488,8 +486,11 @@ [ "groundnut_prepared", 1 ], [ "potato", 1 ], [ "irradiated_potato", 1 ], + [ "zucchini", 1 ], + [ "zucchini_cut", 1 ], [ "bell_pepper", 1 ], - [ "pumpkin", 1 ] + [ "bell_pepper_cut", 1 ], + [ "pumpkin_cut", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ], [ diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index af776943425b7..0034ec49154f8 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -167,7 +167,7 @@ "tools": [ [ [ "surface_heat", 2, "LIST" ] ] ], "//": "2u energy to roast 100g vegetable per standard, bell pepper is 110g", "proficiencies": [ { "proficiency": "prof_food_prep" } ], - "components": [ [ [ "bell_pepper", 1 ] ] ] + "components": [ [ [ "bell_pepper", 1 ], [ "bell_pepper_cut", 1 ] ] ] }, { "type": "recipe", @@ -1187,6 +1187,7 @@ [ [ "sushi_rice", 1 ] ], [ [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "irradiated_cucumber", 1 ], [ "carrot", 6 ], [ "irradiated_carrot", 6 ], @@ -1382,6 +1383,7 @@ [ [ "fish", 1 ] ], [ [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "irradiated_cucumber", 1 ], [ "carrot", 3 ], [ "irradiated_carrot", 3 ], @@ -2161,13 +2163,13 @@ "subcategory": "CSC_FOOD_VEGGI", "skill_used": "cooking", "difficulty": 1, - "charges": 1, + "charges": 2, "time": "15 m", "autolearn": true, - "qualities": [ { "id": "CUT", "level": 2 }, { "id": "COOK", "level": 2 } ], + "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 5, "LIST" ] ] ], - "proficiencies": [ { "proficiency": "prof_food_prep" }, { "proficiency": "prof_knife_skills" } ], - "components": [ [ [ "pumpkin", 1 ], [ "irradiated_pumpkin", 1 ] ] ] + "proficiencies": [ { "proficiency": "prof_food_prep" } ], + "components": [ [ [ "pumpkin_cut", 1 ] ] ] }, { "type": "recipe", @@ -3438,9 +3440,9 @@ "autolearn": true, "components": [ [ [ "water_clean", 2 ] ], - [ [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "tomato", 1 ] ], + [ [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "tomato", 1 ], [ "tomato_cut", 1 ] ], [ [ "irradiated_broccoli", 1 ], [ "broccoli", 1 ] ], - [ [ "irradiated_zucchini", 1 ], [ "zucchini", 1 ] ] + [ [ "irradiated_zucchini", 1 ], [ "zucchini", 1 ], [ "zucchini_cut", 1 ] ] ] }, { @@ -3592,7 +3594,7 @@ [ [ "dry_wild_rice", 1 ], [ "wild_rice_cooked", 1 ] ], [ [ "dry_beans", 1 ], [ "can_beans", 1 ] ], [ [ "corn_kernels", 1 ], [ "can_corn", 1 ] ], - [ [ "pumpkin", 1 ] ], + [ [ "pumpkin_cut", 1 ] ], [ [ "any_butter_or_oil", 1, "LIST" ] ], [ [ "broth", 1 ] ] ] @@ -4260,7 +4262,7 @@ "batch_time_factors": [ 82, 4 ], "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 4, "LIST" ] ] ], - "components": [ [ [ "dry_lentils", 1 ], [ "raw_lentils", 1 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "dry_lentils", 1 ] ], [ [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -5655,11 +5657,15 @@ [ "dry_beans", 1 ], [ "raw_beans", 1 ], [ "dry_lentils", 1 ], - [ "raw_lentils", 1 ], [ "dry_rice", 1 ], - [ "dry_wild_rice", 1 ] + [ "soybean", 1 ], + [ "dry_soybean", 1 ], + [ "dry_wild_rice", 1 ], + [ "wheat", 1 ], + [ "barley", 1 ], + [ "buckwheat", 1 ] ], - [ [ "tomato", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ] ], + [ [ "tomato", 1 ], [ "tomato_cut", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ] ], [ [ "meat_cooked", 1, "LIST" ], [ "dry_meat", 1 ], [ "can_chicken", 1 ] ], [ [ "curry_powder", 4 ], [ "chilly-p", 4 ] ] ] @@ -5699,11 +5705,14 @@ [ "raw_beans", 1 ], [ "tofu", 1 ], [ "dry_tofu", 1 ], - [ "raw_edamame", 1 ], [ "dry_lentils", 1 ], - [ "raw_lentils", 1 ], [ "dry_rice", 1 ], - [ "dry_wild_rice", 1 ] + [ "dry_wild_rice", 1 ], + [ "soybean", 1 ], + [ "dry_soybean", 1 ], + [ "wheat", 1 ], + [ "barley", 1 ], + [ "buckwheat", 1 ] ], [ [ "tomato", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ] ], [ [ "curry_powder", 4 ], [ "chilly-p", 4 ] ] @@ -6659,7 +6668,7 @@ [ "sauerkraut", 1 ], [ "tomato", 1 ], [ "can_tomato", 1 ], - [ "irradiated_pumpkin", 1 ], + [ "pumpkin_cut", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ], [ "broccoli", 1 ], @@ -6680,6 +6689,7 @@ [ "irradiated_lettuce", 1 ], [ "carrot", 1 ], [ "carrot_wild", 1 ], + [ "zucchini_cut", 1 ], [ "zucchini", 1 ], [ "lettuce", 1 ], [ "pine_nuts", 1 ], @@ -6688,6 +6698,7 @@ [ "dahlia_baked", 1 ], [ "irradiated_cucumber", 1 ], [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "veggy_pickled", 1 ], [ "cooked_cattail_stalk", 1 ], [ "cooked_burdock_stalk", 1 ], @@ -6738,7 +6749,7 @@ [ "sauerkraut", 1 ], [ "tomato", 1 ], [ "can_tomato", 1 ], - [ "irradiated_pumpkin", 1 ], + [ "pumpkin_cut", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ], [ "broccoli", 1 ], @@ -6759,6 +6770,7 @@ [ "irradiated_carrot", 1 ], [ "carrot", 1 ], [ "carrot_wild", 1 ], + [ "zucchini_cut", 1 ], [ "zucchini", 1 ], [ "lettuce", 1 ], [ "pine_nuts", 1 ], @@ -6767,6 +6779,7 @@ [ "dahlia_baked", 1 ], [ "irradiated_cucumber", 1 ], [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "veggy_pickled", 1 ], [ "cooked_cattail_stalk", 1 ], [ "cooked_burdock_stalk", 1 ], @@ -7227,7 +7240,7 @@ [ [ "bread_sandwich", 2, "LIST" ] ], [ [ "bacon", 1 ] ], [ [ "lettuce", 1 ], [ "irradiated_lettuce", 1 ], [ "young_leaves", 2 ] ], - [ [ "can_tomato", 1 ], [ "irradiated_tomato", 1 ], [ "tomato", 1 ] ] + [ [ "can_tomato", 1 ], [ "irradiated_tomato", 1 ], [ "tomato", 1 ], [ "tomato_cut", 1 ] ] ] }, { @@ -7602,7 +7615,7 @@ [ [ "vinegar", 1 ] ], [ [ "saline", 1 ], [ "salt", 2 ] ], [ [ "jar_glass_sealed", 1 ] ], - [ [ "cucumber", 1 ] ] + [ [ "cucumber", 1 ], [ "cucumber_cut", 1 ] ] ] }, { @@ -7805,8 +7818,10 @@ ], [ [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "irradiated_cucumber", 1 ], [ "tomato", 1 ], + [ "tomato_cut", 1 ], [ "can_tomato", 1 ], [ "irradiated_tomato", 1 ], [ "carrot", 2 ], @@ -8040,7 +8055,7 @@ [ "sauerkraut", 1 ], [ "tomato", 1 ], [ "can_tomato", 1 ], - [ "irradiated_pumpkin", 1 ], + [ "pumpkin_cut", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ], [ "broccoli", 1 ], @@ -8060,6 +8075,7 @@ [ "irradiated_lettuce", 1 ], [ "carrot", 1 ], [ "zucchini", 1 ], + [ "zucchini_cut", 1 ], [ "lettuce", 1 ], [ "pine_nuts", 1 ], [ "morel_fried", 1 ], @@ -8067,6 +8083,7 @@ [ "dahlia_baked", 1 ], [ "irradiated_cucumber", 1 ], [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "veggy_pickled", 1 ], [ "cooked_cattail_stalk", 1 ], [ "cooked_burdock_stalk", 1 ], @@ -8106,7 +8123,7 @@ [ "sauerkraut", 1 ], [ "tomato", 1 ], [ "can_tomato", 1 ], - [ "irradiated_pumpkin", 1 ], + [ "pumpkin_cut", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ], [ "broccoli", 1 ], @@ -8126,6 +8143,7 @@ [ "irradiated_lettuce", 1 ], [ "carrot", 1 ], [ "zucchini", 1 ], + [ "zucchini_cut", 1 ], [ "lettuce", 1 ], [ "pine_nuts", 1 ], [ "morel_fried", 1 ], @@ -8133,6 +8151,7 @@ [ "dahlia_baked", 1 ], [ "irradiated_cucumber", 1 ], [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "veggy_pickled", 1 ], [ "cooked_cattail_stalk", 1 ], [ "cooked_burdock_stalk", 1 ], @@ -8171,7 +8190,7 @@ [ "sauerkraut", 1 ], [ "tomato", 1 ], [ "can_tomato", 1 ], - [ "irradiated_pumpkin", 1 ], + [ "pumpkin_cut", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ], [ "broccoli", 1 ], @@ -8193,6 +8212,7 @@ [ "carrot", 1 ], [ "carrot_wild", 1 ], [ "zucchini", 1 ], + [ "zucchini_cut", 1 ], [ "lettuce", 1 ], [ "pine_nuts", 1 ], [ "morel_fried", 1 ], @@ -8200,6 +8220,7 @@ [ "dahlia_baked", 1 ], [ "irradiated_cucumber", 1 ], [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "veggy_pickled", 1 ], [ "cooked_cattail_stalk", 1 ], [ "cooked_burdock_stalk", 1 ], @@ -8238,7 +8259,7 @@ [ "sauerkraut", 1 ], [ "tomato", 1 ], [ "can_tomato", 1 ], - [ "irradiated_pumpkin", 1 ], + [ "pumpkin_cut", 1 ], [ "onion", 1 ], [ "irradiated_onion", 1 ], [ "broccoli", 1 ], @@ -8260,6 +8281,7 @@ [ "carrot", 1 ], [ "irradiated_carrot", 1 ], [ "zucchini", 1 ], + [ "zucchini_cut", 1 ], [ "lettuce", 1 ], [ "pine_nuts", 1 ], [ "morel_fried", 1 ], @@ -8267,6 +8289,7 @@ [ "dahlia_baked", 1 ], [ "irradiated_cucumber", 1 ], [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "veggy_pickled", 1 ], [ "cooked_cattail_stalk", 1 ], [ "cooked_burdock_stalk", 1 ], @@ -8293,7 +8316,7 @@ "qualities": [ { "id": "CUT", "level": 2 } ], "components": [ [ [ "bread_sandwich", 2, "LIST" ] ], - [ [ "cucumber", 1 ], [ "irradiated_cucumber", 1 ] ], + [ [ "cucumber", 1 ], [ "cucumber_cut", 1 ], [ "irradiated_cucumber", 1 ] ], [ [ "mayonnaise", 1 ], [ "mustard", 1 ], [ "horseradish", 1 ], [ "seasoning_salt", 1 ] ] ] }, @@ -8309,7 +8332,7 @@ "qualities": [ { "id": "CUT", "level": 2 } ], "components": [ [ [ "bread_sandwich_wheat_free", 2, "LIST" ] ], - [ [ "cucumber", 1 ], [ "irradiated_cucumber", 1 ] ], + [ [ "cucumber", 1 ], [ "cucumber_cut", 1 ], [ "irradiated_cucumber", 1 ] ], [ [ "mayonnaise", 1 ], [ "mustard", 1 ], [ "horseradish", 1 ], [ "seasoning_salt", 1 ] ] ] }, @@ -9138,12 +9161,24 @@ "autolearn": true, "components": [ [ - [ "oats", 5 ], - [ "buckwheat", 5 ], - [ "wheat", 5 ], + [ "oats", 1 ], + [ "buckwheat", 1 ], + [ "wheat", 1 ], [ "veggy_potatolike", 5, "LIST" ], - [ "barley", 5 ], - [ "raw_beans", 5 ], + [ "barley", 1 ], + [ "can_corn", 1 ], + [ "raw_beans", 1 ], + [ "dry_beans", 1 ], + [ "dry_lentils", 1 ], + [ "dry_corn", 1 ], + [ "corn", 1 ], + [ "seed_canola", 1 ], + [ "corn_kernels", 1 ], + [ "soybean", 1 ], + [ "dry_soybean", 1 ], + [ "raw_edamame", 1 ], + [ "straw_pile", 20 ], + [ "chaff", 50 ], [ "veggy_green", 5, "LIST" ], [ "press_cake", 1 ] ] @@ -9169,64 +9204,53 @@ [ "wheat", 1 ], [ "barley", 1 ], [ "raw_beans", 1 ], - [ "seed_blackberries", 60 ], - [ "seed_blueberries", 60 ], - [ "seed_cranberries", 60 ], - [ "seed_huckleberries", 60 ], - [ "seed_mulberries", 60 ], - [ "seed_elderberries", 60 ], - [ "seed_grapes", 60 ], - [ "seed_rose", 60 ], - [ "seed_tobacco", 60 ], - [ "seed_beans", 30 ], - [ "soybean_seed", 30 ], - [ "seed_lentils", 30 ], - [ "seed_cattail", 60 ], - [ "seed_dahlia", 60 ], - [ "seed_flower", 60 ], - [ "seed_cactus", 60 ], + [ "seed_blackberries", 3 ], + [ "seed_blueberries", 3 ], + [ "seed_cranberries", 3 ], + [ "seed_huckleberries", 3 ], + [ "seed_mulberries", 3 ], + [ "seed_elderberries", 3 ], + [ "seed_grapes", 3 ], + [ "seed_rose", 3 ], + [ "seed_cattail", 3 ], + [ "seed_dahlia", 3 ], + [ "seed_flower", 3 ], + [ "seed_cactus", 3 ], [ "seed_hops", 3 ], - [ "seed_raspberries", 60 ], - [ "seed_strawberries", 60 ], - [ "seed_barley", 12 ], - [ "seed_sugar_beet", 12 ], - [ "seed_lettuce", 60 ], - [ "seed_cabbage", 60 ], - [ "seed_tomato", 60 ], - [ "seed_cotton_boll", 12 ], - [ "seed_broccoli", 60 ], - [ "seed_zucchini", 60 ], - [ "seed_onion", 60 ], - [ "seed_garlic", 60 ], - [ "seed_carrot", 60 ], - [ "seed_corn", 60 ], - [ "seed_chili_pepper", 60 ], - [ "seed_cucumber", 60 ], - [ "seed_potato_raw", 3 ], - [ "seed_weed", 30 ], - [ "seed_thyme", 60 ], - [ "seed_canola", 60 ], - [ "seed_watermelon", 60 ], - [ "seed_pumpkin", 30 ], - [ "seed_sunflower", 30 ], - [ "seed_dogbane", 60 ], - [ "seed_bee_balm", 60 ], - [ "seed_mugwort", 60 ], - [ "seed_buckwheat", 60 ], - [ "seed_wild_herbs", 60 ], - [ "seed_veggy_wild", 60 ], - [ "seed_raw_dandelion", 60 ], - [ "seed_raw_burdock", 60 ], - [ "seed_raw_bamboo", 60 ], - [ "seed_rhubarb", 60 ], - [ "seed_mushroom", 60 ], - [ "seed_mushroom_morel", 60 ], - [ "seed_celery", 60 ], - [ "seed_oats", 12 ], - [ "seed_wheat", 12 ], + [ "seed_raspberries", 3 ], + [ "seed_strawberries", 3 ], + [ "seed_sugar_beet", 3 ], + [ "seed_lettuce", 3 ], + [ "seed_cabbage", 3 ], + [ "seed_tomato", 3 ], + [ "seed_cotton_boll", 3 ], + [ "seed_broccoli", 3 ], + [ "seed_zucchini", 3 ], + [ "seed_onion", 3 ], + [ "seed_garlic", 3 ], + [ "seed_carrot", 3 ], + [ "seed_chili_pepper", 3 ], + [ "seed_cucumber", 3 ], + [ "seed_weed", 3 ], + [ "seed_thyme", 3 ], + [ "seed_canola", 1 ], + [ "seed_watermelon", 3 ], + [ "seed_pumpkin", 3 ], + [ "seed_sunflower", 3 ], + [ "seed_dogbane", 3 ], + [ "seed_bee_balm", 3 ], + [ "seed_mugwort", 3 ], + [ "seed_buckwheat", 3 ], + [ "seed_wild_herbs", 3 ], + [ "seed_veggy_wild", 3 ], + [ "seed_raw_dandelion", 3 ], + [ "seed_raw_burdock", 3 ], + [ "seed_raw_bamboo", 3 ], + [ "seed_rhubarb", 3 ], + [ "seed_celery", 3 ], + [ "chaff", 25 ], [ "soybean", 1 ], - [ "raw_edamame", 1 ], - [ "raw_lentils", 1 ], + [ "dry_soybean", 1 ], [ "bread", 1 ], [ "cornbread", 1 ], [ "wastebread", 1 ], @@ -9669,7 +9693,6 @@ [ "dry_beans", 1 ], [ "raw_beans", 1 ], [ "dry_lentils", 1 ], - [ "raw_lentils", 1 ], [ "dry_rice", 1 ], [ "dry_wild_rice", 1 ], [ "can_beans", 1 ], diff --git a/data/json/requirements/cooking_components.json b/data/json/requirements/cooking_components.json index 2d13d90a75c0d..b7f20e73c283c 100644 --- a/data/json/requirements/cooking_components.json +++ b/data/json/requirements/cooking_components.json @@ -597,7 +597,11 @@ [ "bamboo_cooked", 1 ], [ "acorns_processed_any", 1, "LIST" ], [ "dry_lentils", 1 ], - [ "raw_lentils", 1 ] + [ "wheat", 1 ], + [ "buckwheat", 1 ], + [ "barley", 1 ], + [ "oats", 1 ], + [ "oatmeal", 1 ] ], [ [ "meat_red", 1, "LIST" ], [ "dry_meat", 1 ], [ "can_chicken", 1 ] ] ] @@ -639,7 +643,6 @@ [ "dry_beans", 1 ], [ "raw_beans", 1 ], [ "dry_lentils", 1 ], - [ "raw_lentils", 1 ], [ "dry_rice", 1 ], [ "dry_wild_rice", 1 ], [ "can_beans", 1 ], @@ -648,7 +651,12 @@ [ "dry_mushroom", 1 ], [ "mushroom_cooked", 1 ], [ "morel_cooked", 1 ], - [ "acorns_processed_any", 1, "LIST" ] + [ "acorns_processed_any", 1, "LIST" ], + [ "wheat", 1 ], + [ "buckwheat", 1 ], + [ "barley", 1 ], + [ "oats", 1 ], + [ "oatmeal", 1 ] ], [ [ "fish", 2 ], @@ -700,7 +708,6 @@ [ "dry_beans", 1 ], [ "raw_beans", 1 ], [ "dry_lentils", 1 ], - [ "raw_lentils", 1 ], [ "dry_rice", 1 ], [ "dry_wild_rice", 1 ], [ "can_beans", 1 ], @@ -709,7 +716,12 @@ [ "dry_mushroom", 1 ], [ "mushroom_cooked", 1 ], [ "morel_cooked", 1 ], - [ "acorns_processed_any", 1, "LIST" ] + [ "acorns_processed_any", 1, "LIST" ], + [ "wheat", 1 ], + [ "buckwheat", 1 ], + [ "barley", 1 ], + [ "oats", 1 ], + [ "oatmeal", 1 ] ], [ [ "lobster", 2 ], [ "dry_lobster", 2 ], [ "lobster_smoked", 2 ], [ "lobster_canned", 2 ] ] ] @@ -757,7 +769,6 @@ [ "raw_beans", 2 ], [ "beans_cooked", 2 ], [ "dry_lentils", 2 ], - [ "raw_lentils", 2 ], [ "dry_rice", 2 ], [ "dry_wild_rice", 2 ], [ "dandelion_cooked", 2 ], @@ -767,7 +778,12 @@ [ "dry_mushroom", 2 ], [ "mushroom_cooked", 2 ], [ "morel_cooked", 2 ], - [ "acorns_processed_any", 2, "LIST" ] + [ "acorns_processed_any", 2, "LIST" ], + [ "wheat", 1 ], + [ "buckwheat", 1 ], + [ "barley", 1 ], + [ "oats", 1 ], + [ "oatmeal", 1 ] ] ] }, @@ -789,7 +805,6 @@ [ "raw_beans", 1 ], [ "beans_cooked", 1 ], [ "dry_lentils", 1 ], - [ "raw_lentils", 1 ], [ "dry_rice", 1 ], [ "dry_wild_rice", 1 ], [ "dandelion_cooked", 1 ], @@ -799,7 +814,12 @@ [ "dry_mushroom", 1 ], [ "mushroom_cooked", 1 ], [ "morel_cooked", 1 ], - [ "acorns_processed_any", 1, "LIST" ] + [ "acorns_processed_any", 1, "LIST" ], + [ "wheat", 1 ], + [ "buckwheat", 1 ], + [ "barley", 1 ], + [ "oats", 1 ], + [ "oatmeal", 1 ] ] ] }, @@ -950,10 +970,10 @@ [ "papaya", 1 ], [ "peach", 1 ], [ "pear", 1 ], + [ "pumpkin_cut", 1 ], [ "pineapple_chunks", 1 ], [ "plums", 1 ], [ "pomegranate", 1 ], - [ "pumpkin", 1 ], [ "raspberries", 1 ], [ "rose_hips", 1 ], [ "wintergreen_berry", 4 ], @@ -989,7 +1009,6 @@ [ "irradiated_orange", 1 ], [ "irradiated_papaya", 1 ], [ "irradiated_peach", 1 ], - [ "irradiated_pumpkin", 1 ], [ "irradiated_pear", 1 ], [ "irradiated_plums", 1 ], [ "irradiated_pomegranate", 1 ], @@ -1084,6 +1103,7 @@ [ "irradiated_celery", 1 ], [ "corn_kernels", 1 ], [ "cucumber", 1 ], + [ "cucumber_cut", 1 ], [ "irradiated_cucumber", 1 ], [ "lettuce", 1 ], [ "irradiated_lettuce", 1 ], @@ -1092,8 +1112,7 @@ [ "plant_sac", 1 ], [ "potato", 1 ], [ "irradiated_potato", 1 ], - [ "pumpkin", 1 ], - [ "irradiated_pumpkin", 1 ], + [ "pumpkin_cut", 1 ], [ "raw_dandelion", 1 ], [ "raw_burdock", 1 ], [ "raw_bamboo", 1 ], @@ -1101,10 +1120,14 @@ [ "irradiated_rhubarb", 1 ], [ "sugar_beet", 1 ], [ "tomato", 1 ], + [ "tomato_cut", 1 ], [ "irradiated_tomato", 1 ], + [ "bell_pepper", 1 ], + [ "bell_pepper_cut", 1 ], [ "veggy", 1 ], [ "veggy_wild", 1 ], [ "zucchini", 1 ], + [ "zucchini_cut", 1 ], [ "irradiated_zucchini", 1 ], [ "carrot_wild", 1 ], [ "wild_garlic", 2 ], @@ -1202,9 +1225,9 @@ [ "acorns_processed_any", 1, "LIST" ], [ "tofu", 1 ], [ "dry_tofu", 1 ], - [ "raw_edamame", 1 ], - [ "dry_lentils", 1 ], - [ "raw_lentils", 1 ] + [ "soybean", 1 ], + [ "dry_soybean", 1 ], + [ "dry_lentils", 1 ] ], [ [ "veggy_any", 1, "LIST" ] ] ] diff --git a/data/json/tool_qualities.json b/data/json/tool_qualities.json index d4989d1ffe660..0823fe5d0122a 100644 --- a/data/json/tool_qualities.json +++ b/data/json/tool_qualities.json @@ -420,5 +420,15 @@ "type": "tool_quality", "id": "MOP", "name": { "str": "mopping" } + }, + { + "type": "tool_quality", + "id": "BLOW_AIR", + "name": { "str": "air blowing" } + }, + { + "type": "tool_quality", + "id": "BLOW_HOT_AIR", + "name": { "str": "hot air blowing" } } ] diff --git a/data/json/uncraft/comestibles/fruit.json b/data/json/uncraft/comestibles/fruit.json index 7665be777e632..771ffcc2a8430 100644 --- a/data/json/uncraft/comestibles/fruit.json +++ b/data/json/uncraft/comestibles/fruit.json @@ -5,7 +5,7 @@ "activity_level": "LIGHT_EXERCISE", "time": "1 m", "qualities": [ { "id": "CUT", "level": 1 } ], - "components": [ [ [ "watermelon_wedge", 16 ] ] ] + "components": [ [ [ "watermelon_wedge", 16 ] ], [ [ "seed_watermelon", 5 ] ] ] }, { "result": "melon", @@ -13,7 +13,7 @@ "activity_level": "LIGHT_EXERCISE", "time": "1 m", "qualities": [ { "id": "CUT", "level": 1 } ], - "components": [ [ [ "melon_chunks", 3 ] ] ] + "components": [ [ [ "melon_chunks", 4 ] ], [ [ "seed_melon", 3 ] ] ] }, { "result": "pineapple", @@ -35,18 +35,115 @@ "result": "irradiated_watermelon", "type": "uncraft", "activity_level": "LIGHT_EXERCISE", - "copy-from": "watermelon" + "time": "1 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "watermelon_wedge", 16 ] ] ] }, { "result": "irradiated_melon", "type": "uncraft", "activity_level": "LIGHT_EXERCISE", - "copy-from": "melon" + "time": "1 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "melon_chunks", 4 ] ] ] }, { "result": "irradiated_pineapple", "type": "uncraft", "activity_level": "LIGHT_EXERCISE", "copy-from": "pineapple" + }, + { + "result": "rose_hips", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_rose", 1 ] ] ] + }, + { + "result": "grapes", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_grapes", 1 ] ] ] + }, + { + "result": "mayapple", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_mayapple", 1 ] ] ] + }, + { + "result": "mulberries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_mulberries", 1 ] ] ] + }, + { + "result": "raspberries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_raspberries", 1 ] ] ] + }, + { + "result": "cranberries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_cranberries", 1 ] ] ] + }, + { + "result": "blueberries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_blueberries", 1 ] ] ] + }, + { + "result": "elderberries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_elderberries", 1 ] ] ] + }, + { + "result": "strawberries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_strawberries", 1 ] ] ] + }, + { + "result": "blackberries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_blackberries", 1 ] ] ] + }, + { + "result": "huckleberries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_huckleberries", 1 ] ] ] + }, + { + "result": "wintergreen_berry", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_wintergreen", 1 ] ] ] + }, + { + "result": "m_stellatum_berries", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "seed_maianthemum_stellatum", 1 ] ] ] } ] diff --git a/data/json/uncraft/comestibles/vegetable.json b/data/json/uncraft/comestibles/vegetable.json new file mode 100644 index 0000000000000..5d55647299c11 --- /dev/null +++ b/data/json/uncraft/comestibles/vegetable.json @@ -0,0 +1,89 @@ +[ + { + "result": "pumpkin", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "2 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "pumpkin_cut", 4 ] ], [ [ "seed_pumpkin", 6 ] ] ] + }, + { + "result": "irradiated_pumpkin", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "2 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "pumpkin_cut", 4 ] ] ] + }, + { + "result": "tomato", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_tomato", 1 ] ], [ [ "tomato_cut", 1 ] ] ] + }, + { + "result": "mayapple", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_mayapple", 1 ] ] ] + }, + { + "result": "zucchini", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_zucchini", 2 ] ], [ [ "zucchini_cut", 1 ] ] ] + }, + { + "result": "cucumber", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_cucumber", 2 ] ], [ [ "cucumber_cut", 1 ] ] ] + }, + { + "result": "chili_pepper", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_chili_pepper", 2 ] ], [ [ "chili_pepper_cut", 1 ] ] ] + }, + { + "result": "bell_pepper", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_bell_pepper", 2 ] ], [ [ "bell_pepper_cut", 1 ] ] ] + }, + { + "result": "raw_bottle_gourd", + "type": "uncraft", + "activity_level": "LIGHT_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_bottle_gourd", 3 ] ] ] + }, + { + "result": "soybean", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "components": [ [ [ "raw_edamame", 1 ] ] ] + }, + { + "result": "eggplant", + "type": "uncraft", + "activity_level": "NO_EXERCISE", + "time": "30 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "seed_eggplant", 1 ], [ "eggplant_cut", 1 ] ] ] + } +] diff --git a/src/activity_handlers.h b/src/activity_handlers.h index 5c91f0a81e401..05fa9be9f8542 100644 --- a/src/activity_handlers.h +++ b/src/activity_handlers.h @@ -71,6 +71,7 @@ enum class do_activity_reason : int { NEEDS_TREE_CHOPPING, // There is a tree there that needs to be chopped NEEDS_BIG_BUTCHERING, // There is at least one corpse there to butcher, and it's a big one NEEDS_BUTCHERING, // THere is at least one corpse there to butcher, and there's no need for additional tools + NEEDS_CUT_HARVESTING, // There is a plant there which needs a grass-cutting tool to harvest ALREADY_WORKING, // somebody is already working there NEEDS_VEH_DECONST, // There is a vehicle part there that we can deconstruct, given the right tools. NEEDS_VEH_REPAIR, // There is a vehicle part there that can be repaired, given the right tools. diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 9ab7c0383068e..6cbb5228516ee 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -95,6 +95,7 @@ static const addiction_id addiction_alcohol( "alcohol" ); static const efftype_id effect_incorporeal( "incorporeal" ); +static const flag_id json_flag_CUT_HARVEST( "CUT_HARVEST" ); static const flag_id json_flag_MOP( "MOP" ); static const flag_id json_flag_NO_AUTO_CONSUME( "NO_AUTO_CONSUME" ); @@ -108,6 +109,7 @@ static const quality_id qual_AXE( "AXE" ); static const quality_id qual_BUTCHER( "BUTCHER" ); static const quality_id qual_DIG( "DIG" ); static const quality_id qual_FISHING_ROD( "FISHING_ROD" ); +static const quality_id qual_GRASS_CUT( "GRASS_CUT" ); static const quality_id qual_SAW_M( "SAW_M" ); static const quality_id qual_SAW_W( "SAW_W" ); static const quality_id qual_WELD( "WELD" ); @@ -1278,8 +1280,21 @@ static activity_reason_info can_do_activity_there( const activity_id &act, Chara zones = mgr.get_zones( zone_type_FARM_PLOT, here.getglobal( src_loc ), _fac_id( you ) ); for( const zone_data &zone : zones ) { if( here.has_flag_furn( ter_furn_flag::TFLAG_GROWTH_HARVEST, src_loc ) ) { - // simple work, pulling up plants, nothing else required. - return activity_reason_info::ok( do_activity_reason::NEEDS_HARVESTING ); + map_stack items = here.i_at( src_loc ); + const map_stack::iterator seed = std::find_if( items.begin(), items.end(), []( const item & it ) { + return it.is_seed(); + } ); + if( seed->has_flag( json_flag_CUT_HARVEST ) ) { + // The plant in this location needs a grass cutting tool. + if( you.has_quality( quality_id( qual_GRASS_CUT ), 1 ) ) { + return activity_reason_info::ok( do_activity_reason::NEEDS_CUT_HARVESTING ); + } else { + return activity_reason_info::fail( do_activity_reason::NEEDS_CUT_HARVESTING ); + } + } else { + // We can harvest this plant without any tools. + return activity_reason_info::ok( do_activity_reason::NEEDS_HARVESTING ); + } } else if( here.has_flag( ter_furn_flag::TFLAG_PLOWABLE, src_loc ) && !here.has_furn( src_loc ) ) { if( you.has_quality( qual_DIG, 1 ) ) { // we have a shovel/hoe already, great @@ -2673,6 +2688,7 @@ static requirement_check_result generic_multi_activity_check_requirement( } return requirement_check_result::SKIP_LOCATION; } else if( reason == do_activity_reason::NO_COMPONENTS || + reason == do_activity_reason::NEEDS_CUT_HARVESTING || reason == do_activity_reason::NEEDS_PLANTING || reason == do_activity_reason::NEEDS_TILLING || reason == do_activity_reason::NEEDS_CHOPPING || @@ -2736,6 +2752,7 @@ static requirement_check_result generic_multi_activity_check_requirement( } else if( reason == do_activity_reason::NEEDS_TILLING || reason == do_activity_reason::NEEDS_PLANTING || reason == do_activity_reason::NEEDS_CHOPPING || + reason == do_activity_reason::NEEDS_CUT_HARVESTING || reason == do_activity_reason::NEEDS_BUTCHERING || reason == do_activity_reason::NEEDS_BIG_BUTCHERING || reason == do_activity_reason::NEEDS_TREE_CHOPPING || @@ -2752,6 +2769,8 @@ static requirement_check_result generic_multi_activity_check_requirement( requirement_comp_vector.push_back( std::vector { item_comp( itype_id( dynamic_cast ( zone->get_options() ).get_seed() ), 1 ) } ); + } else if( reason == do_activity_reason::NEEDS_CUT_HARVESTING ) { + quality_comp_vector.push_back( std::vector { quality_requirement( qual_GRASS_CUT, 1, 1 ) } ); } else if( reason == do_activity_reason::NEEDS_BUTCHERING || reason == do_activity_reason::NEEDS_BIG_BUTCHERING ) { quality_comp_vector.push_back( std::vector { quality_requirement( qual_BUTCHER, 1, 1 ) } ); @@ -2777,6 +2796,7 @@ static requirement_check_result generic_multi_activity_check_requirement( bool tool_pickup = reason == do_activity_reason::NEEDS_TILLING || reason == do_activity_reason::NEEDS_PLANTING || reason == do_activity_reason::NEEDS_CHOPPING || + reason == do_activity_reason::NEEDS_CUT_HARVESTING || reason == do_activity_reason::NEEDS_BUTCHERING || reason == do_activity_reason::NEEDS_BIG_BUTCHERING || reason == do_activity_reason::NEEDS_TREE_CHOPPING || @@ -2853,7 +2873,8 @@ static bool generic_multi_activity_do( map &here = get_map(); // something needs to be done, now we are there. // it was here earlier, in the space of one turn, maybe it got harvested by someone else. - if( reason == do_activity_reason::NEEDS_HARVESTING && + if( ( ( reason == do_activity_reason::NEEDS_HARVESTING ) || + ( reason == do_activity_reason::NEEDS_CUT_HARVESTING ) ) && here.has_flag_furn( ter_furn_flag::TFLAG_GROWTH_HARVEST, src_loc ) ) { // TODO: fix point types iexamine::harvest_plant( you, src_loc.raw(), true ); diff --git a/src/consumption.cpp b/src/consumption.cpp index b7435551e28b3..e0415208ca357 100644 --- a/src/consumption.cpp +++ b/src/consumption.cpp @@ -729,6 +729,10 @@ ret_val Character::can_eat( const item &food ) const ( food.has_flag( flag_BIRD ) && !has_trait( trait_THRESH_BIRD ) ) ) { return ret_val::make_failure( _( "That doesn't look edible to you." ) ); } + if( !food.has_flag( flag_CATTLE ) && !food.has_flag( flag_FELINE ) && + !food.has_flag( flag_LUPINE ) && !food.has_flag( flag_BIRD ) ) { + return ret_val::make_failure( _( "That doesn't look edible." ) ); + } } if( food.is_craft() ) { diff --git a/src/flag.cpp b/src/flag.cpp index 3526908fc14ca..bacb47b9a73a3 100644 --- a/src/flag.cpp +++ b/src/flag.cpp @@ -77,6 +77,7 @@ const flag_id flag_CORPSE( "CORPSE" ); const flag_id flag_CORROSIVE( "CORROSIVE" ); const flag_id flag_CRUTCHES( "CRUTCHES" ); const flag_id flag_CUSTOM_EXPLOSION( "CUSTOM_EXPLOSION" ); +const flag_id flag_CUT_HARVEST( "CUT_HARVEST" ); const flag_id flag_CUT_IMMUNE( "CUT_IMMUNE" ); const flag_id flag_DANGEROUS( "DANGEROUS" ); const flag_id flag_DEAF( "DEAF" ); @@ -137,6 +138,7 @@ const flag_id flag_FORAGE_POISON( "FORAGE_POISON" ); const flag_id flag_FRAGILE( "FRAGILE" ); const flag_id flag_FRAGILE_MELEE( "FRAGILE_MELEE" ); const flag_id flag_FREEZERBURN( "FREEZERBURN" ); +const flag_id flag_FRESH_GRAIN( "FRESH_GRAIN" ); const flag_id flag_FROM_FROZEN_LIQUID( "FROM_FROZEN_LIQUID" ); const flag_id flag_FROZEN( "FROZEN" ); const flag_id flag_FUNGAL_VECTOR( "FUNGAL_VECTOR" ); @@ -280,6 +282,7 @@ const flag_id flag_ROLLER_INLINE( "ROLLER_INLINE" ); const flag_id flag_ROLLER_ONE( "ROLLER_ONE" ); const flag_id flag_ROLLER_QUAD( "ROLLER_QUAD" ); const flag_id flag_SAFECRACK( "SAFECRACK" ); +const flag_id flag_SEED_HARVEST( "SEED_HARVEST" ); const flag_id flag_SEMITANGIBLE( "SEMITANGIBLE" ); const flag_id flag_SHREDDED( "SHREDDED" ); const flag_id flag_SHRUB( "SHRUB" ); diff --git a/src/flag.h b/src/flag.h index 36c2d8daf20df..1aa4ef7283c8f 100644 --- a/src/flag.h +++ b/src/flag.h @@ -87,6 +87,7 @@ extern const flag_id flag_CORROSIVE; extern const flag_id flag_CORPSE; extern const flag_id flag_CRUTCHES; extern const flag_id flag_CUSTOM_EXPLOSION; +extern const flag_id flag_CUT_HARVEST; extern const flag_id flag_CUT_IMMUNE; extern const flag_id flag_DANGEROUS; extern const flag_id flag_DEAF; @@ -146,6 +147,7 @@ extern const flag_id flag_FORAGE_HALLU; extern const flag_id flag_FORAGE_POISON; extern const flag_id flag_FRAGILE; extern const flag_id flag_FRAGILE_MELEE; +extern const flag_id flag_FRESH_GRAIN; extern const flag_id flag_FREEZERBURN; extern const flag_id flag_FROZEN; extern const flag_id flag_FUNGAL_VECTOR; @@ -153,6 +155,7 @@ extern const flag_id flag_GAS_DISCOUNT; extern const flag_id flag_GAS_PROOF; extern const flag_id flag_GIBBED; extern const flag_id flag_GNV_EFFECT; +extern const flag_id flag_HARVEST_SEEDS; extern const flag_id flag_HEAT_IMMUNE; extern const flag_id flag_HIDDEN_HALLU; extern const flag_id json_flag_HIDDEN_ITEM; @@ -301,6 +304,7 @@ extern const flag_id flag_SMOKABLE; extern const flag_id flag_SMOKED; extern const flag_id flag_SOLARPACK; extern const flag_id flag_SOLARPACK_ON; +extern const flag_id flag_SEED_HARVEST; extern const flag_id flag_SPAWN_ACTIVE; extern const flag_id flag_SPEAR; extern const flag_id flag_SPEEDLOADER; diff --git a/src/iexamine.cpp b/src/iexamine.cpp index 5bd3c351645b2..d45622138d3e7 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -105,6 +105,7 @@ static const activity_id ACT_ATM( "ACT_ATM" ); static const activity_id ACT_BUILD( "ACT_BUILD" ); +static const activity_id ACT_HARVEST( "ACT_HARVEST" ); static const activity_id ACT_OPERATION( "ACT_OPERATION" ); static const activity_id ACT_PLANT_SEED( "ACT_PLANT_SEED" ); @@ -206,6 +207,7 @@ static const proficiency_id proficiency_prof_trapsetting( "prof_trapsetting" ); static const quality_id qual_ANESTHESIA( "ANESTHESIA" ); static const quality_id qual_DIG( "DIG" ); static const quality_id qual_DRILL( "DRILL" ); +static const quality_id qual_GRASS_CUT( "GRASS_CUT" ); static const quality_id qual_HAMMER( "HAMMER" ); static const quality_id qual_LOCKPICK( "LOCKPICK" ); static const quality_id qual_PRY( "PRY" ); @@ -2631,23 +2633,31 @@ void iexamine::harvest_plant( Character &you, const tripoint &examp, bool from_a add_msg( m_info, _( "The seed blossoms into a flower-looking fungus." ) ); } } else { // Generic seed, use the seed item data - const itype &type = *seed->type; - here.i_clear( examp ); + const inventory &crafting_inv = you.crafting_inventory(); + if( seed->has_flag( flag_CUT_HARVEST ) && !crafting_inv.has_quality( qual_GRASS_CUT ) ) { + you.add_msg_if_player( m_info, _( "You will need a grass-cutting tool to harvest this plant." ) ); + return; + } else { + const itype &type = *seed->type; + player_activity act( ACT_HARVEST, to_moves( 60_seconds ) ); + you.assign_activity( act ); + here.i_clear( examp ); - int skillLevel = round( you.get_skill_level( skill_survival ) ); - ///\EFFECT_SURVIVAL increases number of plants harvested from a seed - int plant_count = rng( skillLevel / 2, skillLevel ); - plant_count *= here.furn( examp )->plant->harvest_multiplier; - plant_count = std::min( std::max( plant_count, 1 ), 12 ); - const int seedCount = std::max( 1, rng( plant_count / 4, plant_count / 2 ) ); - for( item &i : get_harvest_items( type, plant_count, seedCount, true ) ) { - if( from_activity ) { - i.set_var( "activity_var", you.name ); + int skillLevel = round( you.get_skill_level( skill_survival ) ); + ///\EFFECT_SURVIVAL increases number of plants harvested from a seed + int plant_count = rng( skillLevel / 2, skillLevel ); + plant_count *= here.furn( examp )->plant->harvest_multiplier; + plant_count = std::min( std::max( plant_count, 1 ), 12 ); + int seedCount = std::max( 1, rng( plant_count / 4, plant_count / 2 ) ); + for( item &i : get_harvest_items( type, plant_count, seedCount, true ) ) { + if( from_activity ) { + i.set_var( "activity_var", you.name ); + } + here.add_item_or_charges( you.pos(), i ); } - here.add_item_or_charges( you.pos(), i ); + here.furn_set( examp, furn_str_id( here.furn( examp )->plant->transform ) ); + you.add_msg_if_player( m_neutral, _( "You harvest the plant." ) ); } - here.furn_set( examp, furn_str_id( here.furn( examp )->plant->transform ) ); - you.moves -= to_moves( 10_seconds ); } } @@ -3068,6 +3078,97 @@ void iexamine::arcfurnace_full( Character &, const tripoint &examp ) } //arc furnace end + +void iexamine::stook_empty( Character &, const tripoint &examp ) +{ + map &here = get_map(); + furn_id cur_stook_type = here.furn( examp ); + furn_id next_stook_type = f_null; + if( cur_stook_type == f_stook_empty ) { + next_stook_type = f_stook_full; + } else { + debugmsg( "Examined furniture has action stook_empty, but is of type %s", + here.furn( examp ).id().c_str() ); + return; + } + + bool grain_present = false; + map_stack items = here.i_at( examp ); + for( const item &i : items ) { + if( i.has_flag( flag_FRESH_GRAIN ) && !i.rotten() ) { + grain_present = true; + } else { + add_msg( m_bad, _( "This pile contains %s, which can't be dried here!" ), i.tname( 1, + false ) ); + return; + } + } + + if( !grain_present ) { + add_msg( _( "Place some fresh grain here and try again." ) ); + return; + } else if( !here.is_outside( examp ) ) { + add_msg( _( "The stook will need to be set up outside to dry." ) ); + return; + } else { + add_msg( _( "This pile contains grain that is ready to be left out for drying." ) ); + if( !query_yn( _( "Stand the grain up to dry?" ) ) ) { + return; + } + } + + here.furn_set( examp, next_stook_type ); + add_msg( _( "You set up the stook and leave it to dry." ) ); +} + +void iexamine::stook_full( Character &, const tripoint &examp ) +{ + map &here = get_map(); + furn_id cur_stook_type = here.furn( examp ); + furn_id next_stook_type = f_null; + if( cur_stook_type == f_stook_full ) { + next_stook_type = f_null; + } else { + debugmsg( "Examined furniture has action stook_full, but is of type %s", + here.furn( examp ).id().c_str() ); + return; + } + map_stack items = here.i_at( examp ); + if( items.empty() ) { + debugmsg( _( "Examined furniture is stook_full but doesn't contain any grain." ) ); + here.furn_set( examp, next_stook_type ); + return; + } + add_msg( _( "There's a grain stook there." ) ); + const item &clock = *items.begin(); + const time_duration drying_time = 336_hours; + const time_duration time_left = drying_time - clock.age(); + + if( time_left > 0_turns ) { + add_msg( _( "The stook will finish drying in %s." ), to_string( time_left ) ); + return; + } + for( item &it : items ) { + if( it.has_flag( flag_SMOKABLE ) && it.get_comestible() ) { + item result( it.get_comestible()->smoking_result, it.birthday(), it.charges ); + recipe rec; + result.inherit_flags( it, rec ); + if( !result.has_flag( flag_NUTRIENT_OVERRIDE ) ) { + // If the item has "cooks_like" it will be replaced by that item as a component. + if( !it.get_comestible()->cooks_like.is_empty() ) { + // Set charges to 1 for stacking purposes. + it = item( it.get_comestible()->cooks_like, it.birthday(), 1 ); + } + result.components.add( it ); + result.recipe_charges = it.charges; + } + add_msg( _( "You take down the stook as the drying process is now finished." ) ); + it = result; + } + } + here.furn_set( examp, next_stook_type ); +} + void iexamine::autoclave_empty( Character &you, const tripoint &examp ) { map &here = get_map(); @@ -6602,6 +6703,8 @@ iexamine_functions iexamine_functions_from_string( const std::string &function_n { "locked_object_pickable", &iexamine::locked_object_pickable }, { "kiln_empty", &iexamine::kiln_empty }, { "kiln_full", &iexamine::kiln_full }, + { "stook_empty", &iexamine::stook_empty }, + { "stook_full", &iexamine::stook_full }, { "arcfurnace_empty", &iexamine::arcfurnace_empty }, { "arcfurnace_full", &iexamine::arcfurnace_full }, { "autoclave_empty", &iexamine::autoclave_empty }, diff --git a/src/iexamine.h b/src/iexamine.h index 0ffc5074b7ed5..d3fcd32583e47 100644 --- a/src/iexamine.h +++ b/src/iexamine.h @@ -113,6 +113,8 @@ void water_source( Character &, const tripoint &examp ); void finite_water_source( Character &, const tripoint &examp ); void kiln_empty( Character &you, const tripoint &examp ); void kiln_full( Character &you, const tripoint &examp ); +void stook_empty( Character &, const tripoint &examp ); +void stook_full( Character &, const tripoint &examp ); void arcfurnace_empty( Character &you, const tripoint &examp ); void arcfurnace_full( Character &you, const tripoint &examp ); void autoclave_empty( Character &you, const tripoint &examp ); diff --git a/src/mapdata.cpp b/src/mapdata.cpp index 769f4453a6ec1..5bb59d96a0e7d 100644 --- a/src/mapdata.cpp +++ b/src/mapdata.cpp @@ -1204,6 +1204,7 @@ furn_id f_null, f_clear, f_tourist_table, f_camp_chair, f_sign, + f_stook_empty, f_stook_full, f_street_light, f_traffic_light, f_flagpole, f_wooden_flagpole, f_console, f_console_broken; @@ -1219,6 +1220,8 @@ void set_furn_ids() f_barricade_road = furn_id( "f_barricade_road" ); f_sandbag_half = furn_id( "f_sandbag_half" ); f_sandbag_wall = furn_id( "f_sandbag_wall" ); + f_stook_empty = furn_id( "f_stook_empty" ); + f_stook_full = furn_id( "f_stook_full" ); f_bulletin = furn_id( "f_bulletin" ); f_indoor_plant = furn_id( "f_indoor_plant" ); f_bed = furn_id( "f_bed" ); diff --git a/src/mapdata.h b/src/mapdata.h index 36c1f72f883e5..a8a8576c3e3b7 100644 --- a/src/mapdata.h +++ b/src/mapdata.h @@ -839,6 +839,7 @@ extern furn_id f_null, f_clear, f_kiln_empty, f_kiln_full, f_kiln_metal_empty, f_kiln_metal_full, f_arcfurnace_empty, f_arcfurnace_full, f_smoking_rack, f_smoking_rack_active, f_metal_smoking_rack, f_metal_smoking_rack_active, + f_stook_empty, f_stook_full, f_water_mill, f_water_mill_active, f_wind_mill, f_wind_mill_active, f_robotic_arm, f_vending_reinforced, diff --git a/src/mission_companion.cpp b/src/mission_companion.cpp index 7bc942723230f..0c59656826950 100644 --- a/src/mission_companion.cpp +++ b/src/mission_companion.cpp @@ -29,6 +29,7 @@ #include "enums.h" #include "faction.h" #include "faction_camp.h" +#include "flag.h" #include "game.h" #include "game_constants.h" #include "input.h" @@ -1659,7 +1660,6 @@ void talk_function::field_harvest( npc &p, const std::string &place ) map_stack::iterator seed = std::find_if( items.begin(), items.end(), []( const item & it ) { return it.is_seed(); } ); - if( seed != items.end() ) { const islot_seed &seed_data = *seed->type->seed; const item item_seed = item( seed->type, calendar::turn ); diff --git a/tools/spell_checker/dictionary.txt b/tools/spell_checker/dictionary.txt index 5ec8d87e2963e..cd54a108b8cf7 100644 --- a/tools/spell_checker/dictionary.txt +++ b/tools/spell_checker/dictionary.txt @@ -244,6 +244,7 @@ baselines basiliscus bassline basswood +barleycorn batching batlike batrachian @@ -2747,6 +2748,8 @@ stoneskin stopcock stoppered stoppeth +stook +stooking storable stormcaller stormshaper @@ -2877,6 +2880,7 @@ thorned thornothurian thosun threateningly +threshed throated throating throwable @@ -3011,6 +3015,7 @@ undersides underslung underwelming undescribed +undried undulates uneasing unfathomably @@ -3050,10 +3055,12 @@ unnervingly unobtainium unornamented unpadded +unpopped unpowered unpressurised unreinforced unrifled +unrotten unrushed unsaved unseasoned @@ -3174,6 +3181,7 @@ wetworks whap whaps whatlike +wheatberries whiled whiplike whirr @@ -3289,6 +3297,7 @@ zombullfrog zoonotic zpzzzzpzz zubon +zucchinis zuniceratops zuul zweitimber