diff --git a/html/changelogs/AutoChangeLog-pr-4932.yml b/html/changelogs/AutoChangeLog-pr-4932.yml new file mode 100644 index 00000000000..a25f3aae367 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4932.yml @@ -0,0 +1,6 @@ +author: "Linkbro1" +delete-after: True +changes: + - rscadd: "Added various recipes for things that were previously exclusive to the produce orders console, such as dashi and coconut milk" + - rscadd: "added 3 new intermediate foods to support these recipes, all dried forms of regular foods" + - qol: "made existing recipes for vinegar and sake visible in the cookbook" \ No newline at end of file diff --git a/modular_nova/modules/cook_console_recipes/icons.dmi b/modular_nova/modules/cook_console_recipes/icons.dmi new file mode 100644 index 00000000000..d22030a0719 Binary files /dev/null and b/modular_nova/modules/cook_console_recipes/icons.dmi differ diff --git a/modular_nova/modules/cook_console_recipes/intermediatefoods.dm b/modular_nova/modules/cook_console_recipes/intermediatefoods.dm new file mode 100644 index 00000000000..0daf2c6cf03 --- /dev/null +++ b/modular_nova/modules/cook_console_recipes/intermediatefoods.dm @@ -0,0 +1,94 @@ +// a few simple food items/reagents used as ingredients. mostly dried forms of normal foods to give the new dehydrator a use. +// they should be fine to use as normal foods and as ingredients for recipes, don't be shy! + +/obj/item/food/dried_fish + name = "dried fish fillet" + desc = "Technically fish jerky?" + icon = 'modular_nova/modules/cook_console_recipes/icons.dmi' + icon_state = "driedfish" + food_reagents = list( + /datum/reagent/consumable/nutriment/protein = 4, + /datum/reagent/consumable/nutriment/vitamin = 2, + ) + tastes = list("fish" = 1, "dried meat" = 1) + foodtypes = SEAFOOD + w_class = WEIGHT_CLASS_SMALL + crafting_complexity = FOOD_COMPLEXITY_1 + grind_results = list(/datum/reagent/consumable/bonito = 20) + +/obj/item/food/fishmeat/Initialize(mapload) + . = ..() + AddElement(/datum/element/dryable, /obj/item/food/dried_fish) + +/obj/item/food/dried_chili + name = "dried chili" + desc = "It's spicy! Wait... it's dry too." + icon = 'modular_nova/modules/cook_console_recipes/icons.dmi' + icon_state = "driedchili" + food_reagents = list( + /datum/reagent/consumable/nutriment = 2, + /datum/reagent/consumable/nutriment/vitamin = 1, + ) + tastes = list("dry heat" = 1) + foodtypes = FRUIT + grind_results = list(/datum/reagent/consumable/chili_powder = 20) + +/obj/item/food/grown/chili/Initialize(mapload) + . = ..() + AddElement(/datum/element/dryable, /obj/item/food/dried_chili) + +/obj/item/food/dried_herbs + name = "bundle of dried herbs" + desc = "A bundle of various dried herbs. shouldn't be too hard to crumble up the one you want." + icon = 'modular_nova/modules/cook_console_recipes/icons.dmi' + icon_state = "driedherbs" + food_reagents = list( + /datum/reagent/consumable/nutriment = 2, + /datum/reagent/consumable/nutriment/vitamin = 1, + ) + tastes = list("store bought herbs." = 1) + foodtypes = VEGETABLES + +/obj/item/food/grown/herbs/Initialize(mapload) + . = ..() + AddElement(/datum/element/dryable, /obj/item/food/dried_herbs) + + +/datum/reagent/consumable/bonito + name = "bonito flakes" + description = "Also known as \"Katsuobushi\", apparently!" + color = "#fce2c7" + taste_description = "Umami" + taste_mult = 1.5 + + +/datum/reagent/consumable/chili_powder + name = "Chili Powder" + description = "\"No, no, chili p's my signature!\"" + color = "#88100a" + taste_description = "dry hot peppers" + taste_mult = 1.5 + + +/datum/reagent/consumable/onion_juice + name = "Onion Juice" + description = "Like tear juice but more palatable." + color = "#1bf5ea" + taste_description = "onion" + +/obj/item/food/onion_slice + grind_results = list(/datum/reagent/consumable/onion_juice = 20) + +//this has been added in to avoid an error? apparently some weird subsystem decided the condiments are soups now so they need these, silly. + +/datum/glass_style/has_foodtype/soup/coconut_milk + required_drink_type = /datum/reagent/consumable/coconut_milk + drink_type = VEGETABLES + +/datum/glass_style/has_foodtype/soup/curry_powder + required_drink_type = /datum/reagent/consumable/curry_powder + drink_type = VEGETABLES + +/datum/glass_style/has_foodtype/soup/red_bay + required_drink_type = /datum/reagent/consumable/red_bay + drink_type = VEGETABLES diff --git a/modular_nova/modules/cook_console_recipes/recipes.dm b/modular_nova/modules/cook_console_recipes/recipes.dm new file mode 100644 index 00000000000..7cb84c36ce0 --- /dev/null +++ b/modular_nova/modules/cook_console_recipes/recipes.dm @@ -0,0 +1,129 @@ +// recipes for dashi, coconut milk, curry powder, red bay seasoning, worcestershire sauce, CHAP, and moonfish eggs, all without the produce console +// coding by linkbro, scotsman go ree and type, most recipe ideas provided by tetrako, red bird go peep and cook! + + +/datum/chemical_reaction/food/soup/homemade_dashi + required_reagents = list( + /datum/reagent/water = 40, + /datum/reagent/consumable/bonito = 20, + ) + required_ingredients = list( + /obj/item/food/seaweedsheet = 1, + ) + results = list( + /datum/reagent/consumable/nutriment/soup/dashi = 40, + ) + +/datum/crafting_recipe/food/reaction/soup/homemade_dashi + result = /datum/reagent/consumable/nutriment/soup/dashi + reaction = /datum/chemical_reaction/food/soup/homemade_dashi + category = CAT_MARTIAN + +/datum/chemical_reaction/food/soup/substitute_coconut_milk + required_reagents = list( + /datum/reagent/consumable/korta_milk = 1, + /datum/reagent/water = 1, + /datum/reagent/consumable/enzyme = 1, + ) + results = list( + /datum/reagent/consumable/coconut_milk = 2, + ) + +/datum/crafting_recipe/food/reaction/food/substitute_coconut_milk + result = /datum/reagent/consumable/coconut_milk + reaction = /datum/chemical_reaction/food/soup/substitute_coconut_milk + category = CAT_MARTIAN + +/datum/chemical_reaction/food/soup/curry_powder + required_reagents = list( + /datum/reagent/consumable/chili_powder = 10, + /datum/reagent/consumable/blackpepper = 10, + ) + results = list( + /datum/reagent/consumable/curry_powder = 20, + ) + +/datum/crafting_recipe/food/reaction/soup/curry_powder + result = /datum/reagent/consumable/curry_powder + reaction = /datum/chemical_reaction/food/soup/curry_powder + category = CAT_MARTIAN + +/datum/chemical_reaction/food/soup/red_bay + required_reagents = list( + /datum/reagent/consumable/chili_powder = 10, + ) + required_ingredients = list( + /obj/item/food/dried_herbs = 1, + ) + results = list( + /datum/reagent/consumable/red_bay = 20, + ) + +/datum/crafting_recipe/food/reaction/soup/red_bay + result = /datum/reagent/consumable/red_bay + reaction = /datum/chemical_reaction/food/soup/red_bay + category = CAT_MARTIAN + +/datum/chemical_reaction/food/worcestershire_sauce + results = list( + /datum/reagent/consumable/worcestershire = 4 + ) + required_reagents = list( + /datum/reagent/consumable/onion_juice = 1, + /datum/reagent/consumable/garlic = 1, + /datum/reagent/consumable/vinegar = 1, + /datum/reagent/consumable/bonito = 1, + /datum/reagent/consumable/sugar = 1, + ) + +/datum/crafting_recipe/food/reaction/worcestershire_sauce + reaction = /datum/chemical_reaction/food/worcestershire_sauce + category = CAT_MARTIAN + +/datum/crafting_recipe/food/reaction/vinegar + reaction = /datum/chemical_reaction/food/wine_vinegar + +/datum/crafting_recipe/food/reaction/sake + reaction = /datum/chemical_reaction/drink/sake + +/datum/crafting_recipe/food/can_of_chap + name = "Can of CHAP" + time = 40 + reqs = list( + /obj/item/stack/sheet/iron = 1, + /obj/item/food/meat/slab = 2, + ) + result = /obj/item/food/canned/chap + category = CAT_MEAT + +/datum/crafting_recipe/food/grinder/chili_powder + reqs = list(/obj/item/food/dried_chili = 1) + result = /datum/reagent/consumable/chili_powder + +/datum/crafting_recipe/food/grinder/bonito + reqs = list(/obj/item/food/dried_fish = 1) + result = /datum/reagent/consumable/bonito + +/datum/food_processor_process/moonfish_eggs + input = /obj/item/fish/dwarf_moonfish + output = /obj/item/food/moonfish_eggs + +/datum/crafting_recipe/food/processor/moonfish_eggs + reqs = list(/obj/item/fish/dwarf_moonfish = 1) + result = /obj/item/food/moonfish_eggs + category = CAT_SEAFOOD + +/datum/crafting_recipe/food/drying/dried_fish + reqs = list(/obj/item/food/fishmeat = 1) + result = /obj/item/food/dried_fish + category = CAT_MARTIAN + +/datum/crafting_recipe/food/drying/dried_chili + reqs = list(/obj/item/food/grown/chili = 1) + result = /obj/item/food/dried_chili + category = CAT_MARTIAN + +/datum/crafting_recipe/food/drying/dried_herbs + reqs = list(/obj/item/food/grown/herbs = 1) + result = /obj/item/food/dried_herbs + category = CAT_MARTIAN diff --git a/tgstation.dme b/tgstation.dme index 665b9b1fa35..f223946118c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7278,6 +7278,8 @@ #include "modular_nova\modules\contractor\code\items\modsuit\theme.dm" #include "modular_nova\modules\contractor\code\objects\supplypod.dm" #include "modular_nova\modules\conveyor_sorter\code\conveyor_sorter.dm" +#include "modular_nova\modules\cook_console_recipes\intermediatefoods.dm" +#include "modular_nova\modules\cook_console_recipes\recipes.dm" #include "modular_nova\modules\cortical_borer\code\cortical_borer.dm" #include "modular_nova\modules\cortical_borer\code\cortical_borer_abilities.dm" #include "modular_nova\modules\cortical_borer\code\cortical_borer_antag.dm"