diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm
index b7d25927991..94a1afa043c 100644
--- a/code/game/objects/items/weapons/manuals.dm
+++ b/code/game/objects/items/weapons/manuals.dm
@@ -680,7 +680,10 @@
Basic ingredients preparation:
- Dough: Add an egg to 15 flour. Dough can be transformed by using your knife and rolling pin or by adding milk. All doughs can be microwaved.
+ Dough: 10u water + 15u flour for simple dough.
+ 15u egg yolk + 15u flour + 5u sugar for cake batter.
+ Doughs can be transformed by using a knife and rolling pin.
+ All doughs can be microwaved.
Bowl: Add water to it for soup preparation.
Meat: Microwave it, process it, slice it into microwavable cutlets with your knife, or use it raw.
Cheese: Add 5u universal enzyme (catalyst) to milk and soy milk to prepare cheese (sliceable) and tofu.
diff --git a/code/modules/food&drinks/food/customizables.dm b/code/modules/food&drinks/food/customizables.dm
index 46c1f0dace6..168210ad21f 100644
--- a/code/modules/food&drinks/food/customizables.dm
+++ b/code/modules/food&drinks/food/customizables.dm
@@ -15,6 +15,7 @@
/obj/item/weapon/reagent_containers/food/snacks/customizable
bitesize = 4
w_class = 3
+ volume = 60
var/ingMax = 12
var/list/ingredients = list()
@@ -67,9 +68,8 @@
return
name = "[customname] [initial(name)]"
-
else . = ..()
- return
+
/obj/item/weapon/reagent_containers/food/snacks/customizable/proc/update_name(obj/item/weapon/reagent_containers/food/snacks/S)
for(var/obj/item/I in ingredients)
diff --git a/code/modules/food&drinks/food/snacks/dough.dm b/code/modules/food&drinks/food/snacks/dough.dm
index aca417a2473..d03339809cd 100644
--- a/code/modules/food&drinks/food/snacks/dough.dm
+++ b/code/modules/food&drinks/food/snacks/dough.dm
@@ -8,9 +8,8 @@
icon = 'icons/obj/food_ingredients.dmi'
icon_state = "dough"
cooked_type = /obj/item/weapon/reagent_containers/food/snacks/store/bread/plain
- list_reagents = list("nutriment" = 3)
+ list_reagents = list("nutriment" = 6)
w_class = 3
- flags = OPENCONTAINER
// Dough + rolling pin = flat dough
@@ -35,9 +34,8 @@
slice_path = /obj/item/weapon/reagent_containers/food/snacks/doughslice
slices_num = 3
cooked_type = /obj/item/weapon/reagent_containers/food/snacks/pizzabread
- list_reagents = list("nutriment" = 3)
+ list_reagents = list("nutriment" = 6)
w_class = 3
- flags = OPENCONTAINER
/obj/item/weapon/reagent_containers/food/snacks/pizzabread
name = "pizza bread"
@@ -56,7 +54,6 @@
icon_state = "doughslice"
cooked_type = /obj/item/weapon/reagent_containers/food/snacks/bun
filling_color = "#CD853F"
- flags = OPENCONTAINER
/obj/item/weapon/reagent_containers/food/snacks/bun
@@ -74,7 +71,7 @@
icon = 'icons/obj/food_ingredients.dmi'
icon_state = "cakebatter"
cooked_type = /obj/item/weapon/reagent_containers/food/snacks/store/cake/plain
- list_reagents = list("nutriment" = 3)
+ list_reagents = list("nutriment" = 9)
w_class = 3
// Cake batter + rolling pin = pie dough
@@ -97,7 +94,7 @@
slice_path = /obj/item/weapon/reagent_containers/food/snacks/rawpastrybase
slices_num = 3
cooked_type = /obj/item/weapon/reagent_containers/food/snacks/pie/plain
- list_reagents = list("nutriment" = 3)
+ list_reagents = list("nutriment" = 9)
w_class = 3
/obj/item/weapon/reagent_containers/food/snacks/rawpastrybase
diff --git a/code/modules/food&drinks/recipes/food_mixtures.dm b/code/modules/food&drinks/recipes/food_mixtures.dm
index d468f33dfde..f038a3b3fb1 100644
--- a/code/modules/food&drinks/recipes/food_mixtures.dm
+++ b/code/modules/food&drinks/recipes/food_mixtures.dm
@@ -111,43 +111,6 @@
required_reagents = list("capsaicin" = 1, "hot_ramen" = 6)
result_amount = 6
-/datum/chemical_reaction/cakebatter
- name = "Cake Batter"
- id = "cakebatter"
- result = null
- required_reagents = list("milk" = 5)
- result_amount = 1
- required_container = /obj/item/weapon/reagent_containers/food/snacks/dough
- mix_message = "The dough forms a cake batter."
-
-/datum/chemical_reaction/cakebatter/on_reaction(var/datum/reagents/holder)
- var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/cakebatter
- S.loc = get_turf(holder.my_atom)
- if(holder && holder.my_atom)
- qdel(holder.my_atom)
-
-/datum/chemical_reaction/piedough
- name = "Pie Dough"
- id = "piedough"
- result = null
- required_reagents = list("milk" = 5)
- result_amount = 1
- required_container = /obj/item/weapon/reagent_containers/food/snacks/flatdough
- mix_message = "The dough forms a pie dough."
-
-/datum/chemical_reaction/piedough/on_reaction(var/datum/reagents/holder)
- var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/piedough
- S.loc = get_turf(holder.my_atom)
- if(holder && holder.my_atom)
- qdel(holder.my_atom)
-
-/datum/chemical_reaction/cakebatter/alt
- id = "cakebatteralt"
- required_reagents = list("soymilk" = 5)
-
-/datum/chemical_reaction/piedough/alt
- id = "piedoughalt"
- required_reagents = list("soymilk" = 5)
/datum/chemical_reaction/imitationcarpmeat
name = "Imitation Carpmeat"
@@ -164,22 +127,35 @@
if(holder && holder.my_atom)
qdel(holder.my_atom)
-/datum/chemical_reaction/rawpastrybase
- name = "Raw Pastry Base"
- id = "rawpastrybase"
+/datum/chemical_reaction/dough
+ name = "Dough"
+ id = "dough"
result = null
- required_reagents = list("milk" = 5)
+ required_reagents = list("water" = 10, "flour" = 15)
result_amount = 1
- required_container = /obj/item/weapon/reagent_containers/food/snacks/doughslice
- mix_message = "The doughslice forms a raw pastry base"
+ mix_message = "The ingredients form a dough."
-/datum/chemical_reaction/rawpastrybase/on_reaction(var/datum/reagents/holder)
- var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/rawpastrybase
+/datum/chemical_reaction/cakebatter/on_reaction(var/datum/reagents/holder)
+ var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/cakebatter
S.loc = get_turf(holder.my_atom)
if(holder && holder.my_atom)
qdel(holder.my_atom)
-/datum/chemical_reaction/rawpastrybase/alt
- id = "rawpastrybasealt"
- required_reagents = list("soymilk" = 5)
+/datum/chemical_reaction/cakebatter
+ name = "Cake Batter"
+ id = "cakebatter"
+ result = null
+ required_reagents = list("eggyolk" = 15, "flour" = 15, "sugar" = 5)
+ result_amount = 1
+ mix_message = "The ingredients form a cake batter."
+
+/datum/chemical_reaction/cakebatter/on_reaction(var/datum/reagents/holder)
+ var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/cakebatter
+ S.loc = get_turf(holder.my_atom)
+ if(holder && holder.my_atom)
+ qdel(holder.my_atom)
+
+/datum/chemical_reaction/cakebatter/vegan
+ id = "vegancakebatter"
+ required_reagents = list("soymilk" = 15, "flour" = 15, "sugar" = 5)
diff --git a/code/modules/food&drinks/recipes/tablecraft/recipes_dough.dm b/code/modules/food&drinks/recipes/tablecraft/recipes_dough.dm
deleted file mode 100644
index a81fee36e52..00000000000
--- a/code/modules/food&drinks/recipes/tablecraft/recipes_dough.dm
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-// see code/module/crafting/table.dm
-
-////////////////////////////////////////////////DOUGH////////////////////////////////////////////////
-
-//these recipes can also be done with attackby.
-
-/datum/table_recipe/cakebatter
- name = "Cake Batter"
- reqs = list(
- /datum/reagent/consumable/milk = 5,
- /obj/item/weapon/reagent_containers/food/snacks/dough = 1
- )
- result = /obj/item/weapon/reagent_containers/food/snacks/cakebatter
-
-/datum/table_recipe/cakebatter/alt
- reqs = list(
- /datum/reagent/consumable/soymilk = 5,
- /obj/item/weapon/reagent_containers/food/snacks/dough = 1
- )
-
-/datum/table_recipe/piedough
- name = "Pie Dough"
- reqs = list(
- /datum/reagent/consumable/milk = 5,
- /obj/item/weapon/reagent_containers/food/snacks/flatdough = 1
- )
- result = /obj/item/weapon/reagent_containers/food/snacks/piedough
-
-/datum/table_recipe/piedough/alt
- reqs = list(
- /datum/reagent/consumable/soymilk = 5,
- /obj/item/weapon/reagent_containers/food/snacks/flatdough = 1
- )
-
-/datum/table_recipe/rawpastrybase
- name = "Raw Pastry Base"
- reqs = list(
- /datum/reagent/consumable/milk = 5,
- /obj/item/weapon/reagent_containers/food/snacks/doughslice = 1
- )
- result = /obj/item/weapon/reagent_containers/food/snacks/rawpastrybase
-
-/datum/table_recipe/rawpastrybase/alt
- reqs = list(
- /datum/reagent/consumable/soymilk = 5,
- /obj/item/weapon/reagent_containers/food/snacks/doughslice = 1
- )
-
-
-
-
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm
index a23de90b69c..496b6467887 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/Chemistry-Machinery.dm
@@ -922,6 +922,7 @@ obj/machinery/computer/pandemic/proc/replicator_cooldown(var/waittime)
/obj/item/weapon/reagent_containers/food/snacks/grown/wheat = list("flour" = -5),
/obj/item/weapon/reagent_containers/food/snacks/grown/oat = list("flour" = -5),
/obj/item/weapon/reagent_containers/food/snacks/grown/cherries = list("cherryjelly" = 0),
+ /obj/item/weapon/reagent_containers/food/snacks/egg = list("eggyolk" = -5),
//Grinder stuff, but only if dry
/obj/item/weapon/reagent_containers/food/snacks/grown/coffee/arabica = list("coffeepowder" = 0),
diff --git a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
index 994ef10178d..03da7a121b3 100644
--- a/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Consumable-Reagents/Food-Reagents.dm
@@ -404,3 +404,9 @@ datum/reagent/consumable/vanilla
reagent_state = SOLID
nutriment_factor = 5 * REAGENTS_METABOLISM
color = "#FFFACD"
+
+datum/reagent/consumable/eggyolk
+ name = "Egg Yolk"
+ id = "eggyolk"
+ description = "It's full of protein."
+ color = "#FFB500"
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index c0051eb3b8a..4803a311e33 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -77,21 +77,3 @@
return 0
return 1
-
-/obj/item/weapon/reagent_containers/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
- if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/egg)) //making dough
- var/obj/item/weapon/reagent_containers/food/snacks/egg/E = W
- if(flags & OPENCONTAINER)
- if(reagents)
- if(reagents.has_reagent("flour"))
- if(reagents.get_reagent_amount("flour") >= 15)
- var/obj/item/weapon/reagent_containers/food/snacks/S = new /obj/item/weapon/reagent_containers/food/snacks/dough(get_turf(src))
- user << "You mix egg and flour to make some dough."
- reagents.remove_reagent("flour", 15)
- if(E.reagents)
- E.reagents.trans_to(S,E.reagents.total_volume)
- qdel(E)
- else
- user << "Not enough flour to make dough."
- return
- ..()
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index eed22285c4d..365ce4e9b70 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -102,6 +102,17 @@
reagents.handle_reactions()
else
user << "[src] is already hotter than [I]."
+
+ if(istype(I,/obj/item/weapon/reagent_containers/food/snacks/egg)) //breaking eggs
+ var/obj/item/weapon/reagent_containers/food/snacks/egg/E = I
+ if(reagents)
+ if(reagents.total_volume >= reagents.maximum_volume)
+ user << "[src] is full."
+ else
+ user << "You break [E] in [src]."
+ reagents.add_reagent("eggyolk", 5)
+ qdel(E)
+ return
..()
diff --git a/html/changelogs/phil235-DoughChange.yml b/html/changelogs/phil235-DoughChange.yml
new file mode 100644
index 00000000000..db83d37a729
--- /dev/null
+++ b/html/changelogs/phil235-DoughChange.yml
@@ -0,0 +1,6 @@
+author: phil235
+delete-after: True
+changes:
+ - rscadd: "Adds egg yolk reagent. You can break eggs in open reagent containers or blend them to get egg yolk."
+ - tweak: "Changes how doughs are made. 10water+15flour chem reaction for dough. 15flour+15eggyolk+5sugar for cake batter (or alternatively soymilk instead of the eggyolk for vegans)."
+ - tweak: "Change customizable snack max volume to 60 and buffs nutriment amount in doughs."
\ No newline at end of file
diff --git a/icons/obj/food.dmi b/icons/obj/food.dmi
index a3bc7cb5293..780b0bcc06e 100644
Binary files a/icons/obj/food.dmi and b/icons/obj/food.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 838a3cc60c2..1e275010267 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -982,7 +982,6 @@
#include "code\modules\food&drinks\recipes\tablecraft\recipes_bread.dm"
#include "code\modules\food&drinks\recipes\tablecraft\recipes_burger.dm"
#include "code\modules\food&drinks\recipes\tablecraft\recipes_cake.dm"
-#include "code\modules\food&drinks\recipes\tablecraft\recipes_dough.dm"
#include "code\modules\food&drinks\recipes\tablecraft\recipes_egg.dm"
#include "code\modules\food&drinks\recipes\tablecraft\recipes_meat.dm"
#include "code\modules\food&drinks\recipes\tablecraft\recipes_misc.dm"