From 8fbcda2a0b991116846bef42ea01b47f850a1b09 Mon Sep 17 00:00:00 2001 From: RKF45 Date: Sat, 1 Feb 2014 02:17:38 +0100 Subject: [PATCH] Reintroducing the dough-based cooking system. --- code/datums/supplypacks.dm | 7 +- code/game/machinery/kitchen/processor.dm | 11 +- code/game/objects/items/weapons/manuals.dm | 25 +- .../crates_lockers/closets/secure/freezer.dm | 8 +- code/modules/destilery/main.dm | 8 +- code/modules/food/recipes_microwave.dm | 405 +++++++++++------- code/modules/reagents/Chemistry-Machinery.dm | 4 +- code/modules/reagents/Chemistry-Reagents.dm | 2 + code/modules/reagents/Chemistry-Recipes.dm | 2 +- .../reagents/reagent_containers/food.dm | 4 +- .../reagent_containers/food/drinks.dm | 2 + .../reagent_containers/food/snacks.dm | 249 ++++++++++- .../reagent_containers/food/snacks/meat.dm | 9 + icons/obj/food.dmi | Bin 89957 -> 92119 bytes 14 files changed, 527 insertions(+), 209 deletions(-) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 6c5e4290e83..0c677cc83e7 100755 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -45,12 +45,13 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /datum/supply_packs/food name = "Food crate" - contains = list(/obj/item/weapon/reagent_containers/food/drinks/flour, + contains = list(/obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/drinks/milk, /obj/item/weapon/reagent_containers/food/drinks/milk, /obj/item/weapon/storage/fancy/egg_box, - /obj/item/weapon/reagent_containers/food/condiment/enzyme, - /obj/item/weapon/reagent_containers/food/snacks/grown/banana, /obj/item/weapon/reagent_containers/food/snacks/grown/banana, /obj/item/weapon/reagent_containers/food/snacks/grown/banana) cost = 10 diff --git a/code/game/machinery/kitchen/processor.dm b/code/game/machinery/kitchen/processor.dm index f5e5b2987df..2107bbd0398 100644 --- a/code/game/machinery/kitchen/processor.dm +++ b/code/game/machinery/kitchen/processor.dm @@ -53,6 +53,13 @@ input = /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans output = /obj/item/weapon/reagent_containers/food/snacks/soydope + wheat + input = /obj/item/weapon/reagent_containers/food/snacks/grown/wheat + output = /obj/item/weapon/reagent_containers/food/snacks/flour + + spaghetti + input = /obj/item/weapon/reagent_containers/food/snacks/flour + output = /obj/item/weapon/reagent_containers/food/snacks/spagetti /* mobs */ mob @@ -143,13 +150,13 @@ src.processing = 1 user.visible_message("\blue [user] turns on \a [src].", \ "You turn on \a [src].", \ - "You hear a food processor") + "You hear a food processor.") playsound(src.loc, 'sound/machines/blender.ogg', 50, 1) use_power(500) sleep(P.time) P.process(src.loc, O) src.processing = 0 src.visible_message("\blue \the [src] finished processing.", \ - "You hear food processor stops") + "You hear the food processor stopping/") diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 9302f810b2f..efe862d79b7 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -77,7 +77,7 @@ dat = {"Engineering notes on single-stage Supermatter engine,
-Waleed Asad
- + Station,
Exodus
@@ -735,7 +735,7 @@ /obj/item/weapon/book/manual/chef_recipes name = "Chef Recipes" icon_state = "cooked_book" - author = "Lord Frenrir Cageth" + author = "Victoria Ponsonby" title = "Chef Recipes" dat = {" @@ -753,32 +753,35 @@

Food for Dummies

Here is a guide on basic food recipes and also how to not poison your customers accidentally. +

Basics:

+ Knead an egg and some flour to make dough. Bake that to make a bun or flatten and cut it. +

Burger:

- Put 1 meat and 1 flour into the microwave and turn it on. Then wait. + Put a bun and some meat into the microwave and turn it on. Then wait.

Bread:

- Put 3 flour into the microwave and then wait. + Put some dough and an egg into the microwave and then wait.

Waffles:

- Add 2 flour and 2 egg to the microwave and then wait. + Add two lumps of dough and 10u of sugar to the microwave and then wait.

Popcorn:

Add 1 corn to the microwave and wait.

Meat Steak:

- Put 1 meat, 1 unit of salt and 1 unit of pepper into the microwave and wait. + Put a slice of meat, 1 unit of salt and 1 unit of pepper into the microwave and wait.

Meat Pie:

- Put 1 meat and 2 flour into the microwave and wait. + Put a flattened piece of dough and some meat into the microwave and wait. -

Boiled Spagetti:

- Put 1 spagetti and 5 units of water into the microwave and wait. +

Boiled Spaghetti:

+ Put the spaghetti (processed flour) and 5 units of water into the microwave and wait.

Donuts:

- Add 1 egg and 1 flour to the microwave and wait. + Add some dough and 5 units of sugar to the microwave and wait.

Fries:

- Add one potato to the processor and wait. + Add one potato to the processor, then bake them in the microwave. diff --git a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm index 13a823d4ab0..eb5ca2cf7d3 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/freezer.dm @@ -19,9 +19,11 @@ New() ..() sleep(2) - for(var/i = 0, i < 3, i++) - new /obj/item/weapon/reagent_containers/food/drinks/flour(src) + for(var/i = 0, i < 6, i++) + new /obj/item/weapon/reagent_containers/food/snacks/flour(src) new /obj/item/weapon/reagent_containers/food/condiment/sugar(src) + for(var/i = 0, i < 3, i++) + new /obj/item/weapon/reagent_containers/food/snacks/meat/monkey(src) return @@ -64,7 +66,7 @@ sleep(2) for(var/i = 0, i < 5, i++) new /obj/item/weapon/reagent_containers/food/drinks/milk(src) - for(var/i = 0, i < 5, i++) + for(var/i = 0, i < 3, i++) new /obj/item/weapon/reagent_containers/food/drinks/soymilk(src) for(var/i = 0, i < 2, i++) new /obj/item/weapon/storage/fancy/egg_box(src) diff --git a/code/modules/destilery/main.dm b/code/modules/destilery/main.dm index 429a29afdf1..e6944724aaf 100644 --- a/code/modules/destilery/main.dm +++ b/code/modules/destilery/main.dm @@ -45,10 +45,10 @@ switch(milled_item.type) if(/obj/item/weapon/reagent_containers/food/snacks/grown/wheat) //Wheat becomes flour - var/obj/item/weapon/reagent_containers/food/drinks/flour/F = new(src) + var/obj/item/weapon/reagent_containers/food/snacks/flour/F = new(src) output += F - if(/obj/item/weapon/reagent_containers/food/drinks/flour) //Flour is still flour - var/obj/item/weapon/reagent_containers/food/drinks/flour/F = new(src) + if(/obj/item/weapon/reagent_containers/food/snacks/flour) //Flour is still flour + var/obj/item/weapon/reagent_containers/food/snacks/flour/F = new(src) output += F else error = 1 @@ -117,7 +117,7 @@ return //Not done yet. switch(fermenting_item.type) - if(/obj/item/weapon/reagent_containers/food/drinks/flour) //Flour is still flour + if(/obj/item/weapon/reagent_containers/food/snacks/flour) //Flour is still flour var/obj/item/weapon/reagent_containers/food/drinks/cans/beer/B = new(src) output += B else diff --git a/code/modules/food/recipes_microwave.dm b/code/modules/food/recipes_microwave.dm index 8228520cb86..1b5f6fac20b 100644 --- a/code/modules/food/recipes_microwave.dm +++ b/code/modules/food/recipes_microwave.dm @@ -34,7 +34,7 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/boiledegg /datum/recipe/dionaroast - reagents = list("radium" = 5) + reagents = list("sacid" = 5) //It dissolves the carapace. Still poisonous, though. items = list( /obj/item/weapon/holder/diona, /obj/item/weapon/reagent_containers/food/snacks/grown/apple @@ -53,27 +53,34 @@ I said no! */ /datum/recipe/jellydonut - reagents = list("berryjuice" = 5, "flour" = 5) + reagents = list("berryjuice" = 5, "sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg + /obj/item/weapon/reagent_containers/food/snacks/dough ) result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly /datum/recipe/jellydonut/slime - reagents = list("slimejelly" = 5, "flour" = 5) + reagents = list("slimejelly" = 5, "sugar" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough + ) result = /obj/item/weapon/reagent_containers/food/snacks/donut/slimejelly /datum/recipe/jellydonut/cherry - reagents = list("cherryjelly" = 5, "flour" = 5) + reagents = list("cherryjelly" = 5, "sugar" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough + ) result = /obj/item/weapon/reagent_containers/food/snacks/donut/cherryjelly /datum/recipe/donut - reagents = list("flour" = 5) + reagents = list("sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg + /obj/item/weapon/reagent_containers/food/snacks/dough ) result = /obj/item/weapon/reagent_containers/food/snacks/donut/normal +/* what is this /datum/recipe/human //invalid recipe make_food(var/obj/container as obj) @@ -93,115 +100,114 @@ I said no! HB.name = human_name+HB.name HB.job = human_job return HB +*/ /datum/recipe/human/burger - reagents = list("flour" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat/human + /obj/item/weapon/reagent_containers/food/snacks/meat/human, + /obj/item/weapon/reagent_containers/food/snacks/bun ) result = /obj/item/weapon/reagent_containers/food/snacks/human/burger -/* +/* Duplicated by plainburger /datum/recipe/monkeyburger items = list( - /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/weapon/reagent_containers/food/snacks/meat/monkey ) result = /obj/item/weapon/reagent_containers/food/snacks/monkeyburger */ /datum/recipe/plainburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/weapon/reagent_containers/food/snacks/meat //do not place this recipe before /datum/recipe/humanburger ) result = /obj/item/weapon/reagent_containers/food/snacks/monkeyburger /datum/recipe/syntiburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/weapon/syntiflesh ) result = /obj/item/weapon/reagent_containers/food/snacks/monkeyburger /datum/recipe/brainburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/brain ) result = /obj/item/weapon/reagent_containers/food/snacks/brainburger -/* NO FUN ALLOWED /datum/recipe/roburger items = list( /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/robot_parts/head ) result = /obj/item/weapon/reagent_containers/food/snacks/roburger -*/ /datum/recipe/xenoburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/weapon/reagent_containers/food/snacks/xenomeat ) result = /obj/item/weapon/reagent_containers/food/snacks/xenoburger /datum/recipe/fishburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/weapon/reagent_containers/food/snacks/carpmeat ) result = /obj/item/weapon/reagent_containers/food/snacks/fishburger /datum/recipe/tofuburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/weapon/reagent_containers/food/snacks/tofu ) result = /obj/item/weapon/reagent_containers/food/snacks/tofuburger /datum/recipe/ghostburger - reagents = list("flour" = 5) items = list( - /obj/item/weapon/ectoplasm + /obj/item/weapon/reagent_containers/food/snacks/bun, + /obj/item/weapon/ectoplasm //where do you even find this stuff ) result = /obj/item/weapon/reagent_containers/food/snacks/ghostburger /datum/recipe/clownburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/clothing/mask/gas/clown_hat, /* /obj/item/weapon/reagent_containers/food/snacks/grown/banana, */ ) result = /obj/item/weapon/reagent_containers/food/snacks/clownburger /datum/recipe/mimeburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun, /obj/item/clothing/head/beret ) result = /obj/item/weapon/reagent_containers/food/snacks/mimeburger -/datum/recipe/waffles - reagents = list("flour" = 10) +/datum/recipe/hotdog items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/bun, + /obj/item/weapon/reagent_containers/food/snacks/sausage + ) + result = /obj/item/weapon/reagent_containers/food/snacks/hotdog + +/datum/recipe/waffles + reagents = list("sugar" = 10) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough ) result = /obj/item/weapon/reagent_containers/food/snacks/waffles -/* -/datum/recipe/faggot - monkeymeat_amount = 1 - humanmeat_amount = 1 - creates = "/obj/item/weapon/reagent_containers/food/snacks/faggot" -*/ - /datum/recipe/donkpocket - reagents = list("flour" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/faggot, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/faggot ) result = /obj/item/weapon/reagent_containers/food/snacks/donkpocket //SPECIAL proc/warm_up(var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/being_cooked) @@ -228,8 +234,10 @@ I said no! return being_cooked /datum/recipe/meatbread - reagents = list("flour" = 15) items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/meat, @@ -240,8 +248,10 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread /datum/recipe/syntibread - reagents = list("flour" = 15) items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/syntiflesh, /obj/item/weapon/syntiflesh, /obj/item/weapon/syntiflesh, @@ -251,17 +261,11 @@ I said no! ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/meatbread -/* -/datum/recipe/meatbreadhuman - flour_amount = 3 - humanmeat_amount = 3 - cheese_amount = 3 - creates = "/obj/item/weapon/reagent_containers/food/snacks/meatbread" -*/ - /datum/recipe/xenomeatbread - reagents = list("flour" = 15) items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/xenomeat, /obj/item/weapon/reagent_containers/food/snacks/xenomeat, /obj/item/weapon/reagent_containers/food/snacks/xenomeat, @@ -272,11 +276,11 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread /datum/recipe/bananabread - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5, "sugar" = 15) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/grown/banana, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread @@ -291,9 +295,9 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/omelette /datum/recipe/muffin - reagents = list("milk" = 5, "flour" = 5) + reagents = list("milk" = 5, "sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, ) result = /obj/item/weapon/reagent_containers/food/snacks/muffin @@ -306,96 +310,96 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/eggplantparm /datum/recipe/soylenviridians - reagents = list("flour" = 15) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans ) result = /obj/item/weapon/reagent_containers/food/snacks/soylenviridians /datum/recipe/soylentgreen - reagents = list("flour" = 15) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/meat/human, /obj/item/weapon/reagent_containers/food/snacks/meat/human, ) result = /obj/item/weapon/reagent_containers/food/snacks/soylentgreen /datum/recipe/carrotcake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5, "sugar" = 15) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/grown/carrot //TODO: more carrots + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, + /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/carrotcake /datum/recipe/cheesecake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5, "sugar" = 15) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesecake /datum/recipe/plaincake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5, "sugar" = 15) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/plaincake /datum/recipe/meatpie - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/meat, ) result = /obj/item/weapon/reagent_containers/food/snacks/meatpie /datum/recipe/tofupie - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/tofu, ) result = /obj/item/weapon/reagent_containers/food/snacks/tofupie /datum/recipe/xemeatpie - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/xenomeat, ) result = /obj/item/weapon/reagent_containers/food/snacks/xemeatpie /datum/recipe/pie - reagents = list("flour" = 10) + reagents = list("sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/banana, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, + /obj/item/weapon/reagent_containers/food/snacks/grown/banana, ) result = /obj/item/weapon/reagent_containers/food/snacks/pie /datum/recipe/cherrypie - reagents = list("flour" = 10) + reagents = list("sugar" = 10) items = list( - /obj/item/weapon/reagent_containers/food/snacks/grown/cherries, + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, + /obj/item/weapon/reagent_containers/food/snacks/grown/cherries, ) result = /obj/item/weapon/reagent_containers/food/snacks/cherrypie -/* -/datum/recipe/berrypie - reagents = list("berryjuice" = 5) - items = list( - /obj/item/weapon/reagent_containers/food/snacks/flour, - /obj/item/weapon/reagent_containers/food/snacks/flour, - ) - result = /obj/item/weapon/reagent_containers/food/snacks/berrypie -*/ + /datum/recipe/berryclafoutis - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/grown/berries, ) result = /obj/item/weapon/reagent_containers/food/snacks/berryclafoutis @@ -408,9 +412,9 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/wingfangchu /datum/recipe/chaosdonut - reagents = list("frostoil" = 5, "capsaicin" = 5, "flour" = 5) + reagents = list("frostoil" = 5, "capsaicin" = 5, "sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg + /obj/item/weapon/reagent_containers/food/snacks/dough ) result = /obj/item/weapon/reagent_containers/food/snacks/donut/chaos @@ -447,8 +451,10 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/tofukabob /datum/recipe/tofubread - reagents = list("flour" = 15) items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/tofu, /obj/item/weapon/reagent_containers/food/snacks/tofu, /obj/item/weapon/reagent_containers/food/snacks/tofu, @@ -473,8 +479,8 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/cheesyfries /datum/recipe/cubancarp - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/grown/chili, /obj/item/weapon/reagent_containers/food/snacks/carpmeat, ) @@ -488,17 +494,17 @@ I said no! /datum/recipe/cookie - reagents = list("milk" = 5, "flour" = 5) + reagents = list("milk" = 5, "sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/chocolatebar, ) result = /obj/item/weapon/reagent_containers/food/snacks/cookie /datum/recipe/fortunecookie - reagents = list("flour" = 5) + reagents = list("sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/doughslice, /obj/item/weapon/paper, ) result = /obj/item/weapon/reagent_containers/food/snacks/fortunecookie @@ -532,8 +538,8 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/meatsteak /datum/recipe/pizzamargherita - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, @@ -543,8 +549,8 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita /datum/recipe/meatpizza - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/meat, @@ -554,8 +560,8 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza /datum/recipe/syntipizza - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/syntiflesh, /obj/item/weapon/syntiflesh, /obj/item/weapon/syntiflesh, @@ -565,23 +571,26 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza /datum/recipe/mushroompizza - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, + /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/mushroompizza /datum/recipe/vegetablepizza - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/grown/eggplant, /obj/item/weapon/reagent_containers/food/snacks/grown/carrot, /obj/item/weapon/reagent_containers/food/snacks/grown/corn, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza @@ -656,45 +665,46 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/coldchili /datum/recipe/amanita_pie - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/amanita, ) result = /obj/item/weapon/reagent_containers/food/snacks/amanita_pie /datum/recipe/plump_pie - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet, ) result = /obj/item/weapon/reagent_containers/food/snacks/plump_pie /datum/recipe/spellburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/monkeyburger, /obj/item/clothing/head/wizard/fake, ) result = /obj/item/weapon/reagent_containers/food/snacks/spellburger /datum/recipe/spellburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/monkeyburger, /obj/item/clothing/head/wizard, ) result = /obj/item/weapon/reagent_containers/food/snacks/spellburger /datum/recipe/bigbiteburger - reagents = list("flour" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/monkeyburger, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/meat, /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/egg, ) result = /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger /datum/recipe/enchiladas items = list( - /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/cutlet, /obj/item/weapon/reagent_containers/food/snacks/grown/chili, /obj/item/weapon/reagent_containers/food/snacks/grown/chili, /obj/item/weapon/reagent_containers/food/snacks/grown/corn, @@ -702,23 +712,30 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/enchiladas /datum/recipe/creamcheesebread - reagents = list("flour" = 15) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/creamcheesebread /datum/recipe/monkeysdelight - reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 5) + reagents = list("sodiumchloride" = 1, "blackpepper" = 1) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/monkeycube, /obj/item/weapon/reagent_containers/food/snacks/grown/banana, ) result = /obj/item/weapon/reagent_containers/food/snacks/monkeysdelight /datum/recipe/baguette - reagents = list("sodiumchloride" = 1, "blackpepper" = 1, "flour" = 15) + reagents = list("sodiumchloride" = 1, "blackpepper" = 1) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + ) result = /obj/item/weapon/reagent_containers/food/snacks/baguette /datum/recipe/fishandchips @@ -729,17 +746,20 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/fishandchips /datum/recipe/birthdaycake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5, "sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/clothing/head/cakehat ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/birthdaycake /datum/recipe/bread - reagents = list("flour" = 15) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/egg + ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/bread /datum/recipe/sandwich @@ -774,10 +794,10 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/tomatosoup /datum/recipe/rofflewaffles - reagents = list("psilocybin" = 5, "flour" = 10) + reagents = list("psilocybin" = 5, "sugar" = 10) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, ) result = /obj/item/weapon/reagent_containers/food/snacks/rofflewaffles @@ -826,9 +846,11 @@ I said no! ) result = /obj/item/weapon/reagent_containers/food/snacks/stewedsoymeat -/datum/recipe/spagetti - reagents = list("flour" = 5) - result= /obj/item/weapon/reagent_containers/food/snacks/spagetti +/*/datum/recipe/spagetti We have the processor now + items = list( + /obj/item/weapon/reagent_containers/food/snacks/doughslice + ) + result= /obj/item/weapon/reagent_containers/food/snacks/spagetti*/ /datum/recipe/boiledspagetti reagents = list("water" = 5) @@ -855,10 +877,9 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/pastatomato /datum/recipe/poppypretzel - reagents = list("flour" = 5) items = list( /obj/item/seeds/poppyseed, - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, ) result = /obj/item/weapon/reagent_containers/food/snacks/poppypretzel @@ -883,23 +904,14 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/spesslaw /datum/recipe/superbiteburger - reagents = list("sodiumchloride" = 5, "blackpepper" = 5, "flour" = 15) + reagents = list("sodiumchloride" = 5, "blackpepper" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/bigbiteburger, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/meat, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, - /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, /obj/item/weapon/reagent_containers/food/snacks/grown/tomato, /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/cheesewedge, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - + /obj/item/weapon/reagent_containers/food/snacks/boiledegg, ) result = /obj/item/weapon/reagent_containers/food/snacks/superbiteburger @@ -911,31 +923,35 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/candiedapple /datum/recipe/applepie - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough, /obj/item/weapon/reagent_containers/food/snacks/grown/apple, ) result = /obj/item/weapon/reagent_containers/food/snacks/applepie /datum/recipe/applecake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5, "sugar" = 5) items = list( - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, - /obj/item/weapon/reagent_containers/food/snacks/egg, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, + /obj/item/weapon/reagent_containers/food/snacks/dough, /obj/item/weapon/reagent_containers/food/snacks/grown/apple, /obj/item/weapon/reagent_containers/food/snacks/grown/apple, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/applecake /datum/recipe/slimeburger - reagents = list("slimejelly" = 5, "flour" = 15) - items = list() + reagents = list("slimejelly" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun + ) result = /obj/item/weapon/reagent_containers/food/snacks/jellyburger/slime /datum/recipe/jellyburger - reagents = list("cherryjelly" = 5, "flour" = 15) - items = list() + reagents = list("cherryjelly" = 5) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/bun + ) result = /obj/item/weapon/reagent_containers/food/snacks/jellyburger/cherry /datum/recipe/twobread @@ -963,8 +979,11 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/jellysandwich/cherry /datum/recipe/orangecake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, @@ -974,8 +993,11 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/orangecake /datum/recipe/limecake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, @@ -985,8 +1007,11 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/limecake /datum/recipe/lemoncake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, @@ -996,8 +1021,11 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/lemoncake /datum/recipe/chocolatecake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, @@ -1014,11 +1042,9 @@ I said no! ) result = /obj/item/weapon/reagent_containers/food/snacks/bloodsoup - /datum/recipe/slimesoup reagents = list("water" = 10, "slimejelly" = 5) - items = list( - ) + items = list() result = /obj/item/weapon/reagent_containers/food/snacks/slimesoup /datum/recipe/clownstears @@ -1028,17 +1054,20 @@ I said no! /obj/item/weapon/ore/clown, ) result = /obj/item/weapon/reagent_containers/food/snacks/clownstears -/* + /datum/recipe/boiledslimeextract reagents = list("water" = 5) items = list( - /obj/item/slime_core, + /obj/item/slime_extract, ) result = /obj/item/weapon/reagent_containers/food/snacks/boiledslimecore -*/ + /datum/recipe/braincake - reagents = list("milk" = 5, "flour" = 15) + reagents = list("milk" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/egg, @@ -1056,13 +1085,14 @@ I said no! /datum/recipe/sausage items = list( /obj/item/weapon/reagent_containers/food/snacks/faggot, - /obj/item/weapon/reagent_containers/food/snacks/meat, + /obj/item/weapon/reagent_containers/food/snacks/cutlet, ) result = /obj/item/weapon/reagent_containers/food/snacks/sausage /datum/recipe/fishfingers - reagents = list("flour" = 10) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/carpmeat, ) @@ -1079,16 +1109,18 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/mysterysoup /datum/recipe/pumpkinpie - reagents = list("milk" = 5, "sugar" = 5, "flour" = 5) + reagents = list("milk" = 5, "sugar" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin, /obj/item/weapon/reagent_containers/food/snacks/egg, ) result = /obj/item/weapon/reagent_containers/food/snacks/sliceable/pumpkinpie /datum/recipe/plumphelmetbiscuit - reagents = list("flour" = 5) + reagents = list("water" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/plumphelmet, ) result = /obj/item/weapon/reagent_containers/food/snacks/plumphelmetbiscuit @@ -1118,8 +1150,11 @@ I said no! result = /obj/item/weapon/reagent_containers/food/snacks/beetsoup /datum/recipe/appletart - reagents = list("sugar" = 5, "milk" = 5, "flour" = 15) + reagents = list("sugar" = 5, "milk" = 5) items = list( + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, + /obj/item/weapon/reagent_containers/food/snacks/flour, /obj/item/weapon/reagent_containers/food/snacks/egg, /obj/item/weapon/reagent_containers/food/snacks/grown/goldapple, ) @@ -1159,7 +1194,10 @@ I said no! return being_cooked /datum/recipe/cracker - reagents = list("flour" = 5, "sodiumchloride" = 1) + reagents = list("sodiumchloride" = 1) + items = list( + /obj/item/weapon/reagent_containers/food/snacks/doughslice + ) result = /obj/item/weapon/reagent_containers/food/snacks/cracker /datum/recipe/stuffing @@ -1176,3 +1214,52 @@ I said no! /obj/item/weapon/reagent_containers/food/snacks/stuffing, ) result = /obj/item/weapon/reagent_containers/food/snacks/tofurkey + + +////////////////////////////////////////// +// bs12 food port stuff +////////////////////////////////////////// + +/datum/recipe/taco + items = list( + /obj/item/weapon/reagent_containers/food/snacks/doughslice, + /obj/item/weapon/reagent_containers/food/snacks/cutlet, + /obj/item/weapon/reagent_containers/food/snacks/cheesewedge + ) + result = /obj/item/weapon/reagent_containers/food/snacks/taco + +/datum/recipe/bun + items = list( + /obj/item/weapon/reagent_containers/food/snacks/dough + ) + result = /obj/item/weapon/reagent_containers/food/snacks/bun + +/datum/recipe/flatbread + items = list( + /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough + ) + result = /obj/item/weapon/reagent_containers/food/snacks/flatbread + +/datum/recipe/faggot + items = list( + /obj/item/weapon/reagent_containers/food/snacks/rawfaggot + ) + result = /obj/item/weapon/reagent_containers/food/snacks/faggot + +/datum/recipe/cutlet + items = list( + /obj/item/weapon/reagent_containers/food/snacks/rawcutlet + ) + result = /obj/item/weapon/reagent_containers/food/snacks/cutlet + +/datum/recipe/fries + items = list( + /obj/item/weapon/reagent_containers/food/snacks/rawsticks + ) + result = /obj/item/weapon/reagent_containers/food/snacks/fries + +/datum/recipe/mint + reagents = list("sugar" = 5, "frostoil" = 5) + result = /obj/item/weapon/reagent_containers/food/snacks/mint + + diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 6e024f3bd75..bf8e2338131 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -902,7 +902,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans = list("soymilk" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/tomato = list("ketchup" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/corn = list("cornoil" = 0), - /obj/item/weapon/reagent_containers/food/snacks/grown/wheat = list("flour" = -5), + ///obj/item/weapon/reagent_containers/food/snacks/grown/wheat = list("flour" = -5), /obj/item/weapon/reagent_containers/food/snacks/grown/ricestalk = list("rice" = -5), /obj/item/weapon/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0), /obj/item/weapon/reagent_containers/food/snacks/grown/plastellium = list("plasticide" = 5), @@ -1259,4 +1259,4 @@ var/amount = O.reagents.total_volume O.reagents.trans_to(beaker, amount) if(!O.reagents.total_volume) - remove_object(O) + remove_object(O) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 50d208ef2bc..baf235b3665 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -2333,6 +2333,7 @@ datum ..() return +/* We're back to flour bags flour name = "flour" id = "flour" @@ -2350,6 +2351,7 @@ datum src = null if(!istype(T, /turf/space)) new /obj/effect/decal/cleanable/flour(T) +*/ rice name = "Rice" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 63ab84432f2..fe56d442e0a 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -1549,7 +1549,7 @@ datum name = "Space Beer" id = "spacebeer" result = "beer" - required_reagents = list("flour" = 10) + required_reagents = list("cornoil" = 10) required_catalysts = list("enzyme" = 5) result_amount = 10 diff --git a/code/modules/reagents/reagent_containers/food.dm b/code/modules/reagents/reagent_containers/food.dm index 53bdeca5f84..07f98a014e6 100644 --- a/code/modules/reagents/reagent_containers/food.dm +++ b/code/modules/reagents/reagent_containers/food.dm @@ -8,5 +8,5 @@ /obj/item/weapon/reagent_containers/food/New() ..() - src.pixel_x = rand(-5.0, 5) //Randomizes postion slightly. - src.pixel_y = rand(-5.0, 5) \ No newline at end of file + src.pixel_x = rand(-10.0, 10) //Randomizes postion + src.pixel_y = rand(-10.0, 10) \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/food/drinks.dm b/code/modules/reagents/reagent_containers/food/drinks.dm index fe49ad0262a..6d1635f10d1 100644 --- a/code/modules/reagents/reagent_containers/food/drinks.dm +++ b/code/modules/reagents/reagent_containers/food/drinks.dm @@ -167,6 +167,7 @@ src.pixel_x = rand(-10.0, 10) src.pixel_y = rand(-10.0, 10) +/* Flour is no longer a reagent /obj/item/weapon/reagent_containers/food/drinks/flour name = "flour sack" desc = "A big bag of flour. Good for baking!" @@ -178,6 +179,7 @@ reagents.add_reagent("flour", 30) src.pixel_x = rand(-10.0, 10) src.pixel_y = rand(-10.0, 10) +*/ /obj/item/weapon/reagent_containers/food/drinks/soymilk name = "SoyMilk" diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index 4476eb6d4f1..6d774f1d464 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -260,7 +260,7 @@ /obj/item/weapon/reagent_containers/food/snacks/candy name = "candy" - desc = "Nougat love it or hate it." + desc = "Nougat, love it or hate it." icon_state = "candy" trash = /obj/item/trash/candy filling_color = "#7D5F46" @@ -283,7 +283,7 @@ /obj/item/weapon/reagent_containers/food/snacks/candy_corn name = "candy corn" - desc = "It's a handful of candy corn. Can be stored in a detective's hat." + desc = "It's a handful of candy corn. Cannot be stored in a detective's hat, alas." icon_state = "candy_corn" filling_color = "#FFFCB0" @@ -318,7 +318,7 @@ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar name = "Chocolate Bar" - desc = "Such, sweet, fattening food." + desc = "Such sweet, fattening food." icon_state = "chocolatebar" filling_color = "#7D5F46" @@ -331,7 +331,7 @@ /obj/item/weapon/reagent_containers/food/snacks/chocolateegg name = "Chocolate Egg" - desc = "Such, sweet, fattening food." + desc = "Such sweet, fattening food." icon_state = "chocolateegg" filling_color = "#7D5F46" @@ -539,15 +539,16 @@ ..() reagents.add_reagent("nutriment", 2) -/*/obj/item/weapon/reagent_containers/food/snacks/flour //Has been converted into a reagent. Use that instead of the item! +/obj/item/weapon/reagent_containers/food/snacks/flour name = "flour" - desc = "Some flour" + desc = "A small bag filled with some flour." icon_state = "flour" New() ..() - reagents.add_reagent("nutriment", 1)*/ + reagents.add_reagent("nutriment", 1) -/obj/item/weapon/reagent_containers/food/snacks/appendix //yes, this is the same as meat. I might do something different in future +/obj/item/weapon/reagent_containers/food/snacks/appendix +//yes, this is the same as meat. I might do something different in future name = "appendix" desc = "An appendix which looks perfectly healthy." icon = 'icons/obj/surgery.dmi' @@ -748,6 +749,14 @@ reagents.add_reagent("nutriment", 6) bitesize = 2 +/obj/item/weapon/reagent_containers/food/snacks/cheeseburger + name = "cheeseburger" + desc = "The cheese adds a good flavor." + icon_state = "cheeseburger" + New() + ..() + reagents.add_reagent("nutriment", 2) + /obj/item/weapon/reagent_containers/food/snacks/monkeyburger name = "burger" desc = "The cornerstone of every nutritious breakfast." @@ -790,7 +799,9 @@ New() ..() - reagents.add_reagent("nanites", 2) + reagents.add_reagent("nutriment", 2) + if(prob(5)) + reagents.add_reagent("nanites", 2) bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/roburgerbig @@ -1195,7 +1206,7 @@ /obj/item/weapon/reagent_containers/food/snacks/fries name = "Space Fries" - desc = "AKA: French Fries, Freedom Fries, etc" + desc = "AKA: French Fries, Freedom Fries, etc." icon_state = "fries" trash = /obj/item/trash/plate filling_color = "#EDDD00" @@ -1219,7 +1230,7 @@ /obj/item/weapon/reagent_containers/food/snacks/spagetti name = "Spagetti" - desc = "Now thats a nice pasta!" + desc = "A bundle of raw spaghetti." icon_state = "spagetti" filling_color = "#EDDD00" @@ -1901,7 +1912,7 @@ New() ..() - reagents.add_reagent("nutriment", 40) + reagents.add_reagent("nutriment", 50) bitesize = 10 /obj/item/weapon/reagent_containers/food/snacks/candiedapple @@ -1917,7 +1928,7 @@ /obj/item/weapon/reagent_containers/food/snacks/applepie name = "Apple Pie" - desc = "A pie containing sweet sweet love...or apple." + desc = "A pie containing sweet sweet love... or apple." icon_state = "applepie" filling_color = "#E0EDC5" @@ -1970,7 +1981,7 @@ New() ..() reagents.add_reagent("cherryjelly", 5) -/* + /obj/item/weapon/reagent_containers/food/snacks/boiledslimecore name = "Boiled slime Core" desc = "A boiled red thing." @@ -1979,7 +1990,7 @@ ..() reagents.add_reagent("slimejelly", 5) bitesize = 3 -*/ + /obj/item/weapon/reagent_containers/food/snacks/mint name = "mint" desc = "it is only wafer thin." @@ -2122,7 +2133,7 @@ /obj/item/weapon/reagent_containers/food/snacks/sliceable/xenomeatbread name = "xenomeatbread loaf" - desc = "The culinary base of every self-respecting eloquen/tg/entleman. Extra Heretical." + desc = "The culinary base of every self-respecting eloquent gentleman. Extra Heretical." icon_state = "xenomeatbread" slice_path = /obj/item/weapon/reagent_containers/food/snacks/xenomeatbreadslice slices_num = 5 @@ -2489,7 +2500,7 @@ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/margherita name = "Margherita" - desc = "The most cheezy pizza in galaxy" + desc = "The golden standard of pizzas." icon_state = "pizzamargherita" slice_path = /obj/item/weapon/reagent_containers/food/snacks/margheritaslice slices_num = 6 @@ -2501,14 +2512,14 @@ /obj/item/weapon/reagent_containers/food/snacks/margheritaslice name = "Margherita slice" - desc = "A slice of the most cheezy pizza in galaxy" + desc = "A slice of the classic pizza." icon_state = "pizzamargheritaslice" filling_color = "#BAA14C" bitesize = 2 /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/meatpizza name = "Meatpizza" - desc = "" //TODO: + desc = "A pizza with meat topping." icon_state = "meatpizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice slices_num = 6 @@ -2520,7 +2531,7 @@ /obj/item/weapon/reagent_containers/food/snacks/meatpizzaslice name = "Meatpizza slice" - desc = "A slice of " //TODO: + desc = "A slice of a meaty pizza." icon_state = "meatpizzaslice" filling_color = "#BAA14C" bitesize = 2 @@ -2545,7 +2556,7 @@ /obj/item/weapon/reagent_containers/food/snacks/sliceable/pizza/vegetablepizza name = "Vegetable pizza" - desc = "No one of Tomatos Sapiens were harmed during making this pizza" + desc = "No one of Tomato Sapiens were harmed during making this pizza" icon_state = "vegetablepizza" slice_path = /obj/item/weapon/reagent_containers/food/snacks/vegetablepizzaslice slices_num = 6 @@ -2750,4 +2761,198 @@ ..() reagents.add_reagent("nutriment", 6) reagents.add_reagent("radium", 2) - bitesize = 2 \ No newline at end of file + bitesize = 2 + + + + +/////////////////////////////////////////// +// new old food stuff from bs12 +/////////////////////////////////////////// + +// Flour + egg = dough +/obj/item/weapon/reagent_containers/food/snacks/flour/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/egg)) + new /obj/item/weapon/reagent_containers/food/snacks/dough(src) + user << "You make some dough." + del(W) + del(src) + +// Egg + flour = dough +/obj/item/weapon/reagent_containers/food/snacks/egg/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/flour)) + new /obj/item/weapon/reagent_containers/food/snacks/dough(src) + user << "You make some dough." + del(W) + del(src) + +/obj/item/weapon/reagent_containers/food/snacks/dough + name = "dough" + desc = "A piece of dough." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "dough" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 3) + +// Dough + rolling pin = flat dough +/obj/item/weapon/reagent_containers/food/snacks/dough/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/kitchen/rollingpin)) + new /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough(src) + user << "You flatten the dough." + del(src) + +// slicable into 3xdoughslices +/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough + name = "flat dough" + desc = "A flattened dough." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "flat dough" + slice_path = /obj/item/weapon/reagent_containers/food/snacks/doughslice + slices_num = 3 + New() + ..() + reagents.add_reagent("nutriment", 3) + +/obj/item/weapon/reagent_containers/food/snacks/doughslice + name = "dough slice" + desc = "A building block of an impressive dish." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "doughslice" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 1) + +/obj/item/weapon/reagent_containers/food/snacks/bun + name = "bun" + desc = "A base for any self-respecting burger." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "bun" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 4) + +/obj/item/weapon/reagent_containers/food/snacks/bun/attackby(obj/item/weapon/W as obj, mob/user as mob) + // Bun + meatball = burger + if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/faggot)) + new /obj/item/weapon/reagent_containers/food/snacks/monkeyburger(src) + user << "You make a burger." + del(W) + del(src) + + // Bun + cutlet = hamburger + else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/cutlet)) + new /obj/item/weapon/reagent_containers/food/snacks/monkeyburger(src) + user << "You make a burger." + del(W) + del(src) + + // Bun + sausage = hotdog + else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/sausage)) + new /obj/item/weapon/reagent_containers/food/snacks/hotdog(src) + user << "You make a hotdog." + del(W) + del(src) + +// Burger + cheese wedge = cheeseburger +/obj/item/weapon/reagent_containers/food/snacks/monkeyburger/attackby(obj/item/weapon/reagent_containers/food/snacks/cheesewedge/W as obj, mob/user as mob) + if(istype(W))// && !istype(src,/obj/item/weapon/reagent_containers/food/snacks/cheesewedge)) + new /obj/item/weapon/reagent_containers/food/snacks/cheeseburger(src) + user << "You make a cheeseburger." + del(W) + del(src) + return + else + ..() + +// Human Burger + cheese wedge = cheeseburger +/obj/item/weapon/reagent_containers/food/snacks/human/burger/attackby(obj/item/weapon/reagent_containers/food/snacks/cheesewedge/W as obj, mob/user as mob) + if(istype(W)) + new /obj/item/weapon/reagent_containers/food/snacks/cheeseburger(src) + user << "You make a cheeseburger." + del(W) + del(src) + return + else + ..() + +/obj/item/weapon/reagent_containers/food/snacks/taco + name = "taco" + desc = "Take a bite!" + icon_state = "taco" + bitesize = 3 + New() + ..() + reagents.add_reagent("nutriment", 7) + +/obj/item/weapon/reagent_containers/food/snacks/rawcutlet + name = "raw cutlet" + desc = "A thin piece of raw meat." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "rawcutlet" + bitesize = 1 + New() + ..() + reagents.add_reagent("nutriment", 1) + +/obj/item/weapon/reagent_containers/food/snacks/cutlet + name = "cutlet" + desc = "A tasty meat slice." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "cutlet" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 2) + +/obj/item/weapon/reagent_containers/food/snacks/rawfaggot + name = "raw meatball" + desc = "A raw meatball." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "rawmeatball" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 2) + +/obj/item/weapon/reagent_containers/food/snacks/hotdog + name = "hotdog" + desc = "Unrelated to dogs, maybe." + icon_state = "hotdog" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 6) + +/obj/item/weapon/reagent_containers/food/snacks/flatbread + name = "flatbread" + desc = "Bland but filling." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "flatbread" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 3) + +// potato + knife = raw sticks +/obj/item/weapon/reagent_containers/food/snacks/grown/potato/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/kitchen/utensil/knife)) + new /obj/item/weapon/reagent_containers/food/snacks/rawsticks(src) + user << "You cut the potato." + del(src) + else + ..() + +/obj/item/weapon/reagent_containers/food/snacks/rawsticks + name = "raw potato sticks" + desc = "Raw fries, not very tasty." + icon = 'icons/obj/food_ingredients.dmi' + icon_state = "rawsticks" + bitesize = 2 + New() + ..() + reagents.add_reagent("nutriment", 3) + diff --git a/code/modules/reagents/reagent_containers/food/snacks/meat.dm b/code/modules/reagents/reagent_containers/food/snacks/meat.dm index 5a4dacbf05c..3728044cc8c 100644 --- a/code/modules/reagents/reagent_containers/food/snacks/meat.dm +++ b/code/modules/reagents/reagent_containers/food/snacks/meat.dm @@ -9,6 +9,15 @@ reagents.add_reagent("nutriment", 3) src.bitesize = 3 +/obj/item/weapon/reagent_containers/food/snacks/meat/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W,/obj/item/weapon/kitchen/utensil/knife)) + new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) + new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) + new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src) + user << "You cut the meat in thin strips." + del(src) + else + ..() /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh name = "synthetic meat" diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi index d2abe08214a8e58b12a01bd41420be695c01d140..54610e3fe68bc435d84bcefbfd0d1eb0a01a039c 100644 GIT binary patch delta 20258 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 delta 18079 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