diff --git a/code/game/machinery/vending_types.dm b/code/game/machinery/vending_types.dm index ca1be770df9..d88b57de146 100644 --- a/code/game/machinery/vending_types.dm +++ b/code/game/machinery/vending_types.dm @@ -1117,6 +1117,7 @@ /obj/item/tray/plate = 10, /obj/item/reagent_containers/bowl = 10, /obj/item/reagent_containers/bowl/plate = 10, + /obj/item/reagent_containers/bowl/gravy_boat = 8, /obj/item/reagent_containers/glass/bottle/syrup = 4, ) contraband = list( diff --git a/code/modules/cooking/plates.dm b/code/modules/cooking/plates.dm index 083ff573b3a..c7017e12060 100644 --- a/code/modules/cooking/plates.dm +++ b/code/modules/cooking/plates.dm @@ -186,3 +186,42 @@ Plates that can hold your cooking stuff desc = "A small ornamental cauldron used as an altar by the worshippers of Zhukamir, the Ma'ta'ke deity of agriculture and cooking." icon = 'icons/obj/tajara_items.dmi' icon_state = "zhukamir" + +/obj/item/reagent_containers/bowl/gravy_boat + name = "gravy boat" + desc = "Let's sail the seas of deliciousness!" + icon_state = "gravy" + amount_per_transfer_from_this = 5 + possible_transfer_amounts = list(5, 10, 30) + w_class = WEIGHT_CLASS_SMALL + volume = 40 + force = 14 + atom_flags = ATOM_FLAG_OPEN_CONTAINER + drop_sound = 'sound/items/drop/glass.ogg' + pickup_sound = 'sound/items/pickup/glass.ogg' + +/obj/item/reagent_containers/bowl/gravy_boat/afterattack(var/obj/target, var/mob/user, var/flag) + if(!target.is_open_container() || !flag) + return ..(target, user, flag) + if(reagents.total_volume) + if(!target.reagents || !REAGENTS_FREE_SPACE(target.reagents)) + to_chat(user, SPAN_NOTICE("\The [target] is full.")) + return TRUE + var/trans = reagents.trans_to(target, amount_per_transfer_from_this) //sprinkling reagents on generic non-mobs + user.visible_message( + "[SPAN_BOLD("[user]")] pours onto \the [target] from \the [src].", + SPAN_NOTICE("You transfer [trans] units of the solution.") + ) + playsound(get_turf(user), /singleton/sound_category/generic_pour_sound, 10, TRUE) + return TRUE + +/obj/item/reagent_containers/bowl/gravy_boat/on_reagent_change() + update_icon() + +/obj/item/reagent_containers/bowl/gravy_boat/update_icon() + ClearOverlays() + if(!reagents.total_volume) + return + var/image/over = image(icon, "gravy_over") + over.color = reagents.get_color() + AddOverlays(over) diff --git a/code/modules/cooking/recipes/cultural/recipes_human.dm b/code/modules/cooking/recipes/cultural/recipes_human.dm index d7cae1b41a8..7762d36fe17 100644 --- a/code/modules/cooking/recipes/cultural/recipes_human.dm +++ b/code/modules/cooking/recipes/cultural/recipes_human.dm @@ -180,6 +180,27 @@ reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product result = /obj/item/reagent_containers/food/snacks/bowl/alfajores +/singleton/recipe/biscuits_and_gravy + appliance = SAUCEPAN + reagents = list(/singleton/reagent/condiment/gravy = 10) + items = list( + /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit, + /obj/item/reagent_containers/food/snacks/plumphelmetbiscuit, + /obj/item/reagent_containers/food/snacks/sausage + ) + result = /obj/item/reagent_containers/food/snacks/biscuits_and_gravy + reagent_mix = RECIPE_REAGENT_REPLACE + +/singleton/recipe/elotes + appliance = OVEN | GRILL + reagents = list(/singleton/reagent/nutriment/mayonnaise = 5, /singleton/reagent/spacespice = 2) + fruit = list("corn" = 2, "lime" = 1) + items = list( + /obj/item/reagent_containers/food/snacks/cheesewedge + ) + reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product + result = /obj/item/reagent_containers/food/snacks/elotes + // Konyang /singleton/recipe/mossbowl diff --git a/code/modules/cooking/recipes/recipes_breads.dm b/code/modules/cooking/recipes/recipes_breads.dm index d843086ead8..571f6145040 100644 --- a/code/modules/cooking/recipes/recipes_breads.dm +++ b/code/modules/cooking/recipes/recipes_breads.dm @@ -337,6 +337,37 @@ ) result = /obj/item/reagent_containers/food/snacks/grilledcheese +/singleton/recipe/grilled_mac_and_cheese_sandwich + appliance = SKILLET + items = list( + /obj/item/reagent_containers/food/snacks/breadslice, + /obj/item/reagent_containers/food/snacks/breadslice, + /obj/item/reagent_containers/food/snacks/macandcheese + ) + result = /obj/item/reagent_containers/food/snacks/grilled_mac_and_cheese + +/singleton/recipe/grilled_triple_cheese_crunch_sandwich + appliance = SKILLET + items = list( + /obj/item/reagent_containers/food/snacks/breadslice, + /obj/item/reagent_containers/food/snacks/breadslice, + /obj/item/reagent_containers/food/snacks/cheesewedge, + /obj/item/reagent_containers/food/snacks/nakarka_wedge, + /obj/item/reagent_containers/food/snacks/cheesiehonkers + ) + reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product + result = /obj/item/reagent_containers/food/snacks/grilled_triple_cheese_crunch_sandwich + +/singleton/recipe/crab_leg_grilled_cheese_sandwich + appliance = SKILLET + items = list( + /obj/item/reagent_containers/food/snacks/breadslice, + /obj/item/reagent_containers/food/snacks/breadslice, + /obj/item/reagent_containers/food/snacks/cheesewedge, + /obj/item/reagent_containers/food/snacks/crabmeat + ) + result = /obj/item/reagent_containers/food/snacks/crab_leg_grilled_cheese_sandwich + /singleton/recipe/reubensandwich reagents = list(/singleton/reagent/nutriment/mayonnaise = 5, /singleton/reagent/nutriment/ketchup = 5) items = list( diff --git a/code/modules/cooking/recipes/recipes_meat.dm b/code/modules/cooking/recipes/recipes_meat.dm index e436a37b820..3b6a771502b 100644 --- a/code/modules/cooking/recipes/recipes_meat.dm +++ b/code/modules/cooking/recipes/recipes_meat.dm @@ -139,3 +139,11 @@ ) result = /obj/item/reagent_containers/food/snacks/cozmo_cubes reagent_mix = RECIPE_REAGENT_REPLACE + +/singleton/recipe/steak_tartare + fruit = list("onion" = 1) + appliance = MIX + reagents = list(/singleton/reagent/sodiumchloride = 1, /singleton/reagent/blackpepper = 1, /singleton/reagent/nutriment/protein/egg = 3) + items = list(/obj/item/reagent_containers/food/snacks/meat) + result = /obj/item/reagent_containers/food/snacks/steak_tartare + reagent_mix = RECIPE_REAGENT_REPLACE diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index 15b809cf2a0..84a082f08dd 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -419,6 +419,8 @@ taste_description = "chalky starch" color = "#DFDEA1" condiment_name = "Adhomian flour sack" + condiment_desc = "Flour ground from pure Adhomian blizzard ears!" + condiment_icon_state = "flour_blizzard" /singleton/reagent/nutriment/coco name = "Coco Powder" @@ -6986,6 +6988,17 @@ glass_desc = "Ancient boba-tea marketing teams believed this cherry-strawberry flavored drink holds magical powers of love! What does that mean? Nobody knows!" glass_center_of_mass = list("x"=15, "y"=10) +/singleton/reagent/drink/dyn_boba + name = "Dyn Boba Tea" + description = "Dyn ice tea with boba pearls." + nutrition = 3 + color = "#00ecec" + taste_description = "fizzy mint tapioca tea" + glass_icon_state = "boba_dyn" + glass_name = "dyn boba" + glass_desc = "A dyn boba drink, sometimes referred to as 'boba dyn', combining both skrell and human cultures of putting tasty, soft, chewy things in drinks." + glass_center_of_mass = list("x"=15, "y"=10) + /singleton/reagent/drink/zobo name = "Zobo" description = "A roselle juice popular across Eridani, often drunk cold." @@ -6995,3 +7008,22 @@ glass_icon_state = "zobo_glass" glass_name = "glass of zobo" glass_desc = "A roselle juice popular across Eridani, often drunk cold." + +/singleton/reagent/condiment/gravy + name = "Gravy" + description = "A thick sauce made from the juice of meat that occurs naturally during cooking." + taste_description = "gravy" + color = "#a36a35" + condiment_desc = "A thick meaty sauce for your dishes." + taste_mult = 3 + +/singleton/reagent/drink/chocolate_soda + name = "Chocolate Soda" + description = "Chocolate flavored soda made with real cocoa, popular in Mictlan under the name Mojoka." + color = "#3b1e10" + taste_description = "fizzy chocolate" + carbonated = TRUE + + glass_icon_state = "chocolate_soda" + glass_name = "glass of chocolate soda" + glass_desc = "Mostly popular in Mictlan under the local name 'mojoka', this drink, mostly popular in friendly gatherings and celebrations, is in essence, a chocolate flavored soda made with real cocoa." diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index d03235e41de..da83637173d 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -4528,3 +4528,25 @@ result = /singleton/reagent/drink/lovebug_boba required_reagents = list(/singleton/reagent/drink/icetea = 3, /singleton/reagent/nutriment/cherryjelly = 1, /singleton/reagent/drink/strawberryjuice = 1, /singleton/reagent/drink/boba = 1) result_amount = 6 + +/datum/chemical_reaction/drink/dyn_boba + name = "dyn boba" + id = "boba_dyn" + result = /singleton/reagent/drink/dyn_boba + required_reagents = list(/singleton/reagent/drink/dynjuice/cold = 5, /singleton/reagent/drink/boba = 1) + result_amount = 6 + +// Other +/datum/chemical_reaction/gravy + name = "gravy" + id = "gravy" + result = /singleton/reagent/condiment/gravy + required_reagents = list(/singleton/reagent/nutriment/triglyceride = 2, /singleton/reagent/water = 5, /singleton/reagent/sodiumchloride = 1, /singleton/reagent/blackpepper = 1, /singleton/reagent/nutriment/flour = 5) + result_amount = 10 + +/datum/chemical_reaction/drink/chocolate_soda + name = "Chocolate Soda" + id = "chocolate_soda" + result = /singleton/reagent/drink/chocolate_soda + required_reagents = list(/singleton/reagent/nutriment/coco = 1, /singleton/reagent/drink/space_cola = 1, /singleton/reagent/drink/sodawater = 3) + result_amount = 5 diff --git a/code/modules/reagents/reagent_containers/food/snacks/breads.dm b/code/modules/reagents/reagent_containers/food/snacks/breads.dm index 2601a000179..b36660be593 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/breads.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/breads.dm @@ -510,6 +510,39 @@ reagent_data = list(/singleton/reagent/nutriment = list("toasted bread" = 3, "cheese" = 3)) bitesize = 2 +/obj/item/reagent_containers/food/snacks/grilled_mac_and_cheese + name = "grilled mac and cheese sandwich" + desc = "You know what would make these carbs better? MORE CARBS! Gooey macaroni and cheese between two careful slices of crunchy, toasted bread. This was either invented by a hipster, a broke college student, or both." + icon = 'icons/obj/item/reagent_containers/food/bread.dmi' + icon_state = "maccheesesandwich" + trash = /obj/item/trash/plate + filling_color = "#D9BE29" + reagents_to_add = list(/singleton/reagent/nutriment/protein = 1) + reagent_data = list(/singleton/reagent/nutriment/protein = list("cheese" = 5)) + bitesize = 3 + +/obj/item/reagent_containers/food/snacks/grilled_triple_cheese_crunch_sandwich + name = "grilled triple cheese crunch sandwich" + desc = "Who needs a four cheese medley when you have the classy and playful variety of cheddar, nakarka, and uh... whatever that glowy orange crud they put in cheesie honkers is, all in one sandwich?" + icon = 'icons/obj/item/reagent_containers/food/bread.dmi' + icon_state = "triplecheesecrunch" + trash = /obj/item/trash/plate + filling_color = "#b9d929" + reagents_to_add = list(/singleton/reagent/nutriment = 5, /singleton/reagent/nutriment/protein = 5) + reagent_data = list(/singleton/reagent/nutriment = list("toasted bread" = 2, "tangy cheese" = 3), /singleton/reagent/nutriment/protein = list("sharp cheese" = 3, "crunchy cheese" = 3)) + bitesize = 2 + +/obj/item/reagent_containers/food/snacks/crab_leg_grilled_cheese_sandwich + name = "crab leg grilled cheese sandwich" + desc = "The fancier cousin of your boring, run-of-the-mill grilled cheese sandwich, adding a buttery crab leg to the mix for a unique upgrade." + icon = 'icons/obj/item/reagent_containers/food/bread.dmi' + icon_state = "crableggrilledcheese" + trash = /obj/item/trash/plate + filling_color = "#d99b29" + reagents_to_add = list(/singleton/reagent/nutriment/protein = 2) + reagent_data = list(/singleton/reagent/nutriment/protein = list("crab meat" = 5, "cheese" = 5)) + bitesize = 2 + /obj/item/reagent_containers/food/snacks/reubensandwich name = "reuben sandwich" desc = "A toasted sandwich packed with savory, meat and sour goodness!" diff --git a/code/modules/reagents/reagent_containers/food/snacks/cultural/human.dm b/code/modules/reagents/reagent_containers/food/snacks/cultural/human.dm index 42172dade77..896aebb0f0c 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/cultural/human.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/cultural/human.dm @@ -244,6 +244,43 @@ bitesize = 2 filling_color = "#bb8432" +/obj/item/reagent_containers/food/snacks/biscuits_and_gravy + name = "biscuits and gravy" + gender = PLURAL + desc = "Plump biscuits in a thick, rich sausage gravy. A meal traditionally popular in the southern United States, and it's not hard to see why." + icon = 'icons/obj/item/reagent_containers/food/cultural/human.dmi' + icon_state = "gravybiscuits" + trash = /obj/item/trash/plate + + reagents_to_add = list(/singleton/reagent/nutriment = 6, /singleton/reagent/nutriment/protein = 3, /singleton/reagent/condiment/gravy =3) + reagent_data = list(/singleton/reagent/nutriment = list("flaky biscuits" = 10), /singleton/reagent/nutriment/protein = list("sausage gravy" = 5)) + bitesize = 3 + filling_color = "#bb8432" + +/obj/item/reagent_containers/food/snacks/biscuits_and_gravy/update_icon() + var/expected_initial_reagent_volume + for(var/k in src.reagents_to_add) + expected_initial_reagent_volume += reagents_to_add[k] + var/percent_biscuits_and_gravy = round((reagents.total_volume / expected_initial_reagent_volume) * 100) + switch(percent_biscuits_and_gravy) + if(0 to 49) + icon_state = "gravybiscuits_half" + if(50 to INFINITY) + icon_state = "gravybiscuits" + +/obj/item/reagent_containers/food/snacks/elotes + name = "elotes" + gender = PLURAL + desc = "Grilled mexican sweet corn with chili powder, mayonnaise, cheese, sour cream, and seasonings." + icon = 'icons/obj/item/reagent_containers/food/cultural/human.dmi' + icon_state = "elotes" + trash = /obj/item/trash/plate + + reagents_to_add = list(/singleton/reagent/nutriment = 6, /singleton/reagent/nutriment/protein = 3) + reagent_data = list(/singleton/reagent/nutriment = list("corn" = 5, "zesty seasoning" = 3, "lime" = 3), /singleton/reagent/nutriment/protein = list("cheese" = 5)) + bitesize = 2 + filling_color = "#d8ab18" + // Konyang /obj/item/reagent_containers/food/snacks/mossbowl diff --git a/code/modules/reagents/reagent_containers/food/snacks/ingredients.dm b/code/modules/reagents/reagent_containers/food/snacks/ingredients.dm index b86a6fe068a..d50b66f7731 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/ingredients.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/ingredients.dm @@ -246,6 +246,12 @@ reagent_data = list(/singleton/reagent/nutriment = list("mashed potatoes" = 4)) bitesize = 2 +/obj/item/reagent_containers/food/snacks/mashedpotato/on_reagent_change() + if(reagents.has_reagent(/singleton/reagent/condiment/gravy)) + name = "mashed potato and gravy" + desc = "Pillowy mounds of mashed potato covered in thick gravy." + icon_state = "mashedpotatogravy" + /obj/item/reagent_containers/food/snacks/sauerkraut name = "sauerkraut" desc = "Finely cut and fermented cabbage. A light pickled delight!" diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/reagents/reagent_containers/food/snacks/meat.dm index 58402190d33..f4ef0d68359 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/meat.dm @@ -424,9 +424,15 @@ var/percent = round((reagents.total_volume / 8) * 100) switch(percent) if(0 to 59) - icon_state = "schnitzel_half" + if(reagents.has_reagent(/singleton/reagent/condiment/gravy)) + icon_state = "schnitzel_half_gravy" + else + icon_state = "schnitzel_half" if(60 to INFINITY) - icon_state = "schnitzel" + if(reagents.has_reagent(/singleton/reagent/condiment/gravy)) + icon_state = "schnitzel_gravy" + else + icon_state = "schnitzel" /obj/item/reagent_containers/food/snacks/cozmo_cubes name = "cozmo cubes" @@ -448,3 +454,23 @@ icon_state = "cozmo_cubes_half" if(70 to INFINITY) icon_state = "cozmo_cubes" + +/obj/item/reagent_containers/food/snacks/steak_tartare + name = "steak tartare" + desc = "Waiter! Is this a joke?! You just SLAPPED some raw beef onto a plate and sprinkled with condiments! Even the EGG isn't cooked! Are you trying to poison me?! No, don't give me that 'it's supposed to be like this' nonsense! Take this back and cook it until it stops mooing at me!" + icon = 'icons/obj/item/reagent_containers/food/meat.dmi' + icon_state = "tartare" + trash = /obj/item/trash/plate/steak + filling_color = "#b34d3b" + reagents_to_add = list(/singleton/reagent/nutriment/protein = 8, /singleton/reagent/nutriment = 1) + reagent_data = list(/singleton/reagent/nutriment/protein = list("raw beef" = 5, "egg yolk" = 4), /singleton/reagent/nutriment = list("seasoning" = 5)) + center_of_mass = list("x"=16, "y"=13) + bitesize = 2 + +/obj/item/reagent_containers/food/snacks/steak_tartare/update_icon() + var/percent = round((reagents.total_volume / 9) * 100) + switch(percent) + if(0 to 49) + icon_state = "tartare_half" + if(50 to INFINITY) + icon_state = "tartare" diff --git a/html/changelogs/Tomixcomics-PR-cheesyfoods.yml b/html/changelogs/Tomixcomics-PR-cheesyfoods.yml new file mode 100644 index 00000000000..2394cb129ef --- /dev/null +++ b/html/changelogs/Tomixcomics-PR-cheesyfoods.yml @@ -0,0 +1,63 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# - (fixes bugs) +# wip +# - (work in progress) +# qol +# - (quality of life) +# soundadd +# - (adds a sound) +# sounddel +# - (removes a sound) +# rscadd +# - (adds a feature) +# rscdel +# - (removes a feature) +# imageadd +# - (adds an image or sprite) +# imagedel +# - (removes an image or sprite) +# spellcheck +# - (fixes spelling or grammar) +# experiment +# - (experimental change) +# balance +# - (balance changes) +# code_imp +# - (misc internal code change) +# refactor +# - (refactors code) +# config +# - (makes a change to the config files) +# admin +# - (makes changes to administrator tools) +# server +# - (miscellaneous changes to server) +################################# + +# Your name. +author: Tomixcomics + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added 5 new food dishes: 3 grilled cheese sandwich varieties, elotes, biscuits and gravy, and steak tartare." + - rscadd: "Added 2 new drinks: dyn boba tea and chocolate soda." + - rscadd: "Added gravy and gravy boats, along with sprite variants for mashed potatoes and schnitzels that had gravy poured on them." + - imageadd: "Added a new sprite for blizzard ears flour boxes." + + diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi index dafc1e80a04..12879f924e1 100644 Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ diff --git a/icons/obj/item/reagent_containers/food/bread.dmi b/icons/obj/item/reagent_containers/food/bread.dmi index e58fa5d91ef..71ab72c91f3 100644 Binary files a/icons/obj/item/reagent_containers/food/bread.dmi and b/icons/obj/item/reagent_containers/food/bread.dmi differ diff --git a/icons/obj/item/reagent_containers/food/condiment.dmi b/icons/obj/item/reagent_containers/food/condiment.dmi index d2db5ec7cc8..3682d671c18 100644 Binary files a/icons/obj/item/reagent_containers/food/condiment.dmi and b/icons/obj/item/reagent_containers/food/condiment.dmi differ diff --git a/icons/obj/item/reagent_containers/food/cultural/human.dmi b/icons/obj/item/reagent_containers/food/cultural/human.dmi index f42919613a5..d7ec823348c 100644 Binary files a/icons/obj/item/reagent_containers/food/cultural/human.dmi and b/icons/obj/item/reagent_containers/food/cultural/human.dmi differ diff --git a/icons/obj/item/reagent_containers/food/ingredients.dmi b/icons/obj/item/reagent_containers/food/ingredients.dmi index 6a6f787ef3a..a0510c9bbc6 100644 Binary files a/icons/obj/item/reagent_containers/food/ingredients.dmi and b/icons/obj/item/reagent_containers/food/ingredients.dmi differ diff --git a/icons/obj/item/reagent_containers/food/meat.dmi b/icons/obj/item/reagent_containers/food/meat.dmi index 4d432df8331..ff265488784 100644 Binary files a/icons/obj/item/reagent_containers/food/meat.dmi and b/icons/obj/item/reagent_containers/food/meat.dmi differ diff --git a/icons/obj/kitchen.dmi b/icons/obj/kitchen.dmi index 858a567c0a5..3608b034fb5 100644 Binary files a/icons/obj/kitchen.dmi and b/icons/obj/kitchen.dmi differ