diff --git a/code/modules/food&drinks/food/snacks/dough.dm b/code/modules/food&drinks/food/snacks/dough.dm
index 11f89dc25f1..aca417a2473 100644
--- a/code/modules/food&drinks/food/snacks/dough.dm
+++ b/code/modules/food&drinks/food/snacks/dough.dm
@@ -2,25 +2,6 @@
/////////////////// Dough Ingredients ////////////////////////
-// Flour + egg = dough
-/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))
- 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
- ..()
-
/obj/item/weapon/reagent_containers/food/snacks/dough
name = "dough"
desc = "A piece of dough."
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index 4803a311e33..c0051eb3b8a 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -77,3 +77,21 @@
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 8e3156f91e3..7079ae6bf26 100644
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -91,12 +91,18 @@
/obj/item/weapon/reagent_containers/glass/attackby(var/obj/item/I, mob/user as mob, params)
if(istype(I, /obj/item/clothing/mask/cigarette)) //ciggies are weird
return
- if(is_hot(I))
- var/added_heat = (is_hot(I) / 100) //ishot returns a temperature
- if(src.reagents)
- src.reagents.chem_temp += added_heat
- user << "You heat [src] with [I]."
- src.reagents.handle_reactions()
+ var/hotness = is_hot(I)
+ if(hotness)
+ var/added_heat = (hotness / 100) //ishot returns a temperature
+ if(reagents)
+ if(reagents.chem_temp < hotness) //can't be heated to be hotter than the source
+ reagents.chem_temp += added_heat
+ user << "You heat [src] with [I]."
+ reagents.handle_reactions()
+ else
+ user << "[src] is already hotter than [I]."
+ ..()
+
/obj/item/weapon/reagent_containers/glass/beaker
name = "beaker"