From d212d5617d96d6d7e60ac6da517d06e5e80f061d Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Sat, 17 May 2025 17:16:47 -0500 Subject: [PATCH 1/2] Temp bodytemp patch --- code/modules/mob/living/life.dm | 4 ++++ code/modules/mob/living/living_defines.dm | 2 +- code/modules/mob/status_procs.dm | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index f9718c62587b..adb80ca45cd6 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -263,6 +263,10 @@ var/temp_change = temp_sign * (1 - (thermal_protection * protection_modifier)) * ((0.1 * max(1, abs(temp_delta))) ** 1.8) * temperature_normalization_speed // Cap increase and decrease temp_change = temp_change < 0 ? max(temp_change, BODYTEMP_ENVIRONMENT_COOLING_MAX) : min(temp_change, BODYTEMP_ENVIRONMENT_HEATING_MAX) + // Boost when returning to equilibrium + if(equilibrium_temp < standard_body_temperature - 2 KELVIN || equilibrium_temp > standard_body_temperature + 2 KELVIN) + temp_change *= 3 + adjust_body_temperature(temp_change * seconds_per_tick) // no use_insulation beacuse we account for it manually /mob/living/silicon/handle_environment(datum/gas_mixture/environment, seconds_per_tick, times_fired) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 23a3929ba6f8..71cc0a5f71c1 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -257,7 +257,7 @@ /// Note that more of this = more nutrition is consumed every life tick. var/temperature_homeostasis_speed = 0.5 /// Protection (insulation) from temperature changes, max 1 - var/temperature_insulation = 0 + var/temperature_insulation = 0.1 /// Whether we currently have temp alerts, minor optimization VAR_PRIVATE/temp_alerts = FALSE diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm index a313a02cbcde..fc3d1a0592cc 100644 --- a/code/modules/mob/status_procs.dm +++ b/code/modules/mob/status_procs.dm @@ -81,6 +81,8 @@ if(amount == 0) return 0 amount = round(amount, 0.01) + min_temp = max(min_temp, TCMB) + max_temp = max(max_temp, CELCIUS_TO_KELVIN(330 CELCIUS)) if(body_temperature >= min_temp && body_temperature <= max_temp) var/old_temp = body_temperature From 31f5d62f34d89ed8f727de6be4bf536f00bc5528 Mon Sep 17 00:00:00 2001 From: MrMelbert Date: Wed, 16 Jul 2025 15:12:01 -0500 Subject: [PATCH 2/2] Zoop --- code/modules/mob/status_procs.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/status_procs.dm b/code/modules/mob/status_procs.dm index fc3d1a0592cc..3af54191188d 100644 --- a/code/modules/mob/status_procs.dm +++ b/code/modules/mob/status_procs.dm @@ -82,7 +82,7 @@ return 0 amount = round(amount, 0.01) min_temp = max(min_temp, TCMB) - max_temp = max(max_temp, CELCIUS_TO_KELVIN(330 CELCIUS)) + max_temp = min(max_temp, CELCIUS_TO_KELVIN(330 CELCIUS)) if(body_temperature >= min_temp && body_temperature <= max_temp) var/old_temp = body_temperature