w/ suit only:
temp_adj = (0.3) * ((293.15- bodytemperature) / 6) =
W/ suit&helmet:
Temp_adj only happens at if(thermal_protection < 0.99), which would be false, and it equalizes at the temp of the room plus a bit, so it becomes ~294. With a cooler on it becomes 293.15
var/relative_density = environment.total_moles / MOLES_CELLSTANDARD
bodytemperature += between(BODYTEMP_COOLING_MAX, temp_adj*relative_density, BODYTEMP_HEATING_MAX)
When thermal_protection = 0, no overheating
When thermal_protection = 0.7, overheat
Env moles = 103.984
#define MOLES_CELLSTANDARD (ONE_ATMOSPHERECELL_VOLUME/(T20CR_IDEAL_GAS_EQUATION)) // Moles in a 2.5 m^3 cell at 101.325 kPa and 20 C.
CELL_VOLUME = 2500
ONE_ATMOSPHERE = 101.325
T20C = 293.15
#define R_IDEAL_GAS_EQUATION 8.31
SO THAT GIVES US
(101.325 *2500/(293.15*8.31))
253312.5/(2436.0765)
103.9838
Which means
relative_density = 1
temp_adj = (0.3) * ((293.15 - bodytemperature) / 6)
bodytemperature += between(-30, temp_adj, 30)
let's say bodytemp = 313
0.3*(-3.308)
= -0.9925
body temp goes up by ~-1 per tick when they are hotter than the environment
with a voidsuit on with no helmet
but that's not the case
and I don't want to touch the finetuned body heat accumulation formula
SO let's just increase tesh level 1 overheat temperature by 10 since with a voidsuit but no helmet on your temp goes to ~327.
If someone wants to figure out the fucking math behind this bug and fix it then, by all means, go ahead.
I also tested by having them at 330 and in space and naked and they overheat as expected.
If you want to fix the bug the bug is somewhere in here knock yourself out 460858d704/code/modules/mob/living/carbon/human/life.dm (L875-L886)