From 292d1842b4694675b56c37cbbe40fcf872555a9c Mon Sep 17 00:00:00 2001 From: redmoogle Date: Sat, 29 Aug 2020 09:07:52 -0400 Subject: [PATCH 1/2] Linear not logmartic heating --- .../chemistry/machinery/chem_heater.dm | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 11b0065dea50..7679d1e6466b 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -9,7 +9,8 @@ circuit = /obj/item/circuitboard/machine/chem_heater var/obj/item/reagent_containers/beaker = null var/target_temperature = 300 - var/heater_coefficient = 0.1 + var/currentspeed = 10 + var/heater_speed = 10 var/on = FALSE /obj/machinery/chem_heater/Destroy() @@ -50,23 +51,26 @@ return TRUE /obj/machinery/chem_heater/RefreshParts() - heater_coefficient = 0.1 + heater_speed = 10 for(var/obj/item/stock_parts/micro_laser/M in component_parts) - heater_coefficient *= M.rating + heater_speed *= M.rating /obj/machinery/chem_heater/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Heating reagents at [heater_coefficient*1000]% speed." + . += "The status display reads: Heating reagents at [heater_speed]K." /obj/machinery/chem_heater/process() ..() if(stat & NOPOWER) return - if(on) - if(beaker && beaker.reagents.total_volume) - beaker.reagents.adjust_thermal_energy((target_temperature - beaker.reagents.chem_temp) * heater_coefficient * SPECIFIC_HEAT_DEFAULT * beaker.reagents.total_volume) - beaker.reagents.handle_reactions() + if(on && beaker && beaker.reagents.total_volume) + if((beaker.reagents.chem_temp + heater_speed) >= target_temperature) + currentspeed = target_temperature - beaker.reagents.chem_temp + else + currentspeed = heater_speed + beaker.reagents.adjust_thermal_energy(currentspeed * SPECIFIC_HEAT_DEFAULT * beaker.reagents.total_volume) + beaker.reagents.handle_reactions() /obj/machinery/chem_heater/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, "mixer0b", "mixer0b", I)) From 387519a50a2123a6521c26abafd115b70205e202 Mon Sep 17 00:00:00 2001 From: Redmoogle Date: Sat, 29 Aug 2020 09:39:27 -0400 Subject: [PATCH 2/2] Makes examine text more logical --- code/modules/reagents/chemistry/machinery/chem_heater.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 7679d1e6466b..4bc926cbd423 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -58,7 +58,7 @@ /obj/machinery/chem_heater/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Heating reagents at [heater_speed]K." + . += "The status display reads: Heating reagents at [heater_speed]K per cycle." /obj/machinery/chem_heater/process() ..()