diff --git a/code/modules/food_and_drinks/food/foods/ingredients.dm b/code/modules/food_and_drinks/food/foods/ingredients.dm
index 8fb9773a48e..94d4f8a3dbd 100644
--- a/code/modules/food_and_drinks/food/foods/ingredients.dm
+++ b/code/modules/food_and_drinks/food/foods/ingredients.dm
@@ -129,6 +129,50 @@
list_reagents = list("nutriment" = 1)
+///cookies by Ume
+
+/obj/item/reagent_containers/food/snacks/cookiedough
+ name = "cookie dough"
+ desc = "The base for tasty cookies."
+ icon_state = "cookiedough"
+ list_reagents = list("nutriment" = 5, "sugar" = 5)
+
+// Dough + rolling pin = flat cookie dough
+/obj/item/reagent_containers/food/snacks/cookiedough/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/kitchen/rollingpin))
+ if(isturf(loc))
+ new /obj/item/reagent_containers/food/snacks/cookiedough_flat(loc)
+ to_chat(user, "You flatten [src].")
+ qdel(src)
+ else
+ to_chat(user, "You need to put [src] on a surface to roll it out!")
+ else
+ ..()
+
+/obj/item/reagent_containers/food/snacks/cookiedough_flat
+ name = "flat cookie dough"
+ desc = "The base for tasty cookies."
+ icon_state = "cookiedough_flat"
+ list_reagents = list("nutriment" = 5, "sugar" = 5)
+
+//Flat cookie dough + circular cutter = Raw cookies
+/obj/item/reagent_containers/food/snacks/cookiedough_flat/attackby(obj/item/I, mob/user, params)
+ if(istype(I, /obj/item/kitchen/cutter))
+ if(isturf(loc))
+ new /obj/item/reagent_containers/food/snacks/rawcookies(loc)
+ to_chat(user, "You cut [src] into cookies.")
+ qdel(src)
+ else
+ to_chat(user, "You need to put [src] on a surface to cut it out!")
+ else
+ ..()
+
+/obj/item/reagent_containers/food/snacks/rawcookies
+ name = "raw cookies"
+ desc = "Ready for oven!"
+ icon_state = "unbaked_cookies"
+ list_reagents = list("nutriment" = 5, "sugar" = 5)
+
//////////////////////
// Chocolate //
//////////////////////