diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index 2e210846844..eddf2e088e1 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -45,6 +45,9 @@ #define ALLERGIC_REMOVAL_SKIP "Allergy" +/// the default temperature at which chemicals are added to reagent holders at +#define DEFAULT_REAGENT_TEMPERATURE 300 + //Used in holder.dm/equlibrium.dm to set values and volume limits ///stops floating point errors causing issues with checking reagent amounts #define CHEMICAL_QUANTISATION_LEVEL 0.0001 diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 067e33f7474..e99581f0fb3 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -156,7 +156,7 @@ * * added_ph - override to force a pH when added * * override_base_ph - ingore the present pH of the reagent, and instead use the default (i.e. if buffers/reactions alter it) */ -/datum/reagents/proc/add_reagent(reagent, amount, list/data=null, reagtemp = 300, added_purity = null, added_ph, no_react = 0, override_base_ph = FALSE) +/datum/reagents/proc/add_reagent(reagent, amount, list/data=null, reagtemp = DEFAULT_REAGENT_TEMPERATURE, added_purity = null, added_ph, no_react = 0, override_base_ph = FALSE) if(!isnum(amount) || !amount) return FALSE diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index 110e98a0d2c..7ca4274d02c 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -30,6 +30,7 @@ var/amount = 30 var/recharge_amount = 10 var/recharge_counter = 0 + var/dispensed_temperature = DEFAULT_REAGENT_TEMPERATURE ///If the UI has the pH meter shown var/show_ph = TRUE var/mutable_appearance/beaker_overlay @@ -309,7 +310,7 @@ if(!cell.use(actual / powerefficiency)) say("Not enough energy to complete operation!") return - R.add_reagent(reagent, actual) + R.add_reagent(reagent, actual, reagtemp = dispensed_temperature) work_animation() else @@ -347,7 +348,7 @@ if(!cell.use(actual / powerefficiency)) say("Not enough energy to complete operation!") return - R.add_reagent(reagent, actual) + R.add_reagent(reagent, actual, reagtemp = dispensed_temperature) work_animation() else recording_recipe[key] += dispense_amount @@ -442,7 +443,7 @@ if(beaker?.reagents) R += beaker.reagents for(var/i in 1 to total) - Q.add_reagent(pick(dispensable_reagents), 10) + Q.add_reagent(pick(dispensable_reagents), 10, reagtemp = dispensed_temperature) R += Q chem_splash(get_turf(src), 3, R) if(beaker?.reagents) @@ -528,6 +529,7 @@ icon_state = "soda_dispenser" base_icon_state = "soda_dispenser" has_panel_overlay = FALSE + dispensed_temperature = (T0C + 0.85) // cold enough that ice won't melt amount = 10 pixel_y = 6 layer = WALL_OBJ_LAYER