From bb108247373b52b3a10f962a788fde6ff5590c22 Mon Sep 17 00:00:00 2001 From: phil235 Date: Tue, 3 Mar 2015 22:35:11 +0100 Subject: [PATCH] Improvised heating fix: Fixes dough recipe from egg + 15u flour beaker. Adds a limit to how hot the beaker reagents can be heated. (no hotter than the heat source) moving reagent_containers/attackby() to reagents/reagent_containers.dm for better visibility. --- code/modules/food&drinks/food/snacks/dough.dm | 19 ------------------- code/modules/reagents/reagent_containers.dm | 18 ++++++++++++++++++ .../reagents/reagent_containers/glass.dm | 18 ++++++++++++------ 3 files changed, 30 insertions(+), 25 deletions(-) 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"