From 9f831bad3f6d1a9233986f043c0f60b91dd76f3d Mon Sep 17 00:00:00 2001
From: Erika Fox <94164348+Erikafox@users.noreply.github.com>
Date: Sun, 8 Dec 2024 15:46:58 -0500
Subject: [PATCH] partial revert of temperature
---
code/__DEFINES/species.dm | 10 ++++----
code/_onclick/hud/alert.dm | 2 +-
.../datums/weather/weather_types/hailstorm.dm | 2 +-
code/datums/weather/weather_types/snowfall.dm | 2 +-
code/game/objects/structures/shower.dm | 23 +++++++++++--------
.../mob/living/carbon/human/species.dm | 7 ------
.../carbon/human/species_types/kepori.dm | 4 ++--
.../carbon/human/species_types/mothmen.dm | 4 ++--
.../living/carbon/human/species_types/vox.dm | 2 +-
.../hostile/mining_mobs/basilisk.dm | 4 ++--
.../chemistry/reagents/medicine_reagents.dm | 2 +-
code/modules/surgery/organs/lungs.dm | 4 ++--
12 files changed, 31 insertions(+), 35 deletions(-)
diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm
index d3cf27ac546e..73b5f601a7f4 100644
--- a/code/__DEFINES/species.dm
+++ b/code/__DEFINES/species.dm
@@ -14,13 +14,13 @@
/// The natural temperature for a body
#define HUMAN_BODYTEMP_NORMAL 310.15
/// This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.
-#define HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR 22
+#define HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR 11
/// Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.
#define HUMAN_BODYTEMP_AUTORECOVERY_MINIMUM 12
///Similar to the HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.
-#define HUMAN_BODYTEMP_COLD_DIVISOR 20
+#define HUMAN_BODYTEMP_COLD_DIVISOR 15
/// Similar to the HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.
-#define HUMAN_BODYTEMP_HEAT_DIVISOR 10
+#define HUMAN_BODYTEMP_HEAT_DIVISOR 15
/// The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area.
#define HUMAN_BODYTEMP_COOLING_MAX -100
/// The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area.
@@ -28,11 +28,11 @@
/// The body temperature limit the human body can take before it starts taking damage from heat.
/// This also affects how fast the body normalises it's temperature when hot.
/// 340k is about 66c, and rather high for a human.
-#define HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL + 3)
+#define HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL + 30)
/// The body temperature limit the human body can take before it starts taking damage from cold.
/// This also affects how fast the body normalises it's temperature when cold.
/// 270k is about -3c, that is below freezing and would hurt over time.
-#define HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL - 8)
+#define HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL - 40)
//VOX DEFINES
diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm
index 61d2a44d20b1..d3014184505a 100644
--- a/code/_onclick/hud/alert.dm
+++ b/code/_onclick/hud/alert.dm
@@ -211,7 +211,7 @@ Override makes it so the alert is not replaced until cleared by a clear_alert wi
/atom/movable/screen/alert/sweat
name = "Sweating"
- desc = "You're sweating and the heat is starting to hurt. Stay hydrated, get somewhere cooler, and take off any insulating clothing like a fire suit."
+ desc = "You're sweating and the heat is starting to hurt. Get somewhere cooler, and take off any insulating clothing like a fire suit."
icon_state = "sweat"
/atom/movable/screen/alert/shiver
diff --git a/code/datums/weather/weather_types/hailstorm.dm b/code/datums/weather/weather_types/hailstorm.dm
index ef0cd70b2dba..e9fc50cc964b 100644
--- a/code/datums/weather/weather_types/hailstorm.dm
+++ b/code/datums/weather/weather_types/hailstorm.dm
@@ -32,5 +32,5 @@
/// Think of some good solution of how weather should affect monsters and how they should be resistant to things like this
if(isanimal(living_mob))
return
- living_mob.adjust_bodytemperature(-rand(1,2))
+ living_mob.adjust_bodytemperature(-rand(3,6), 243)
living_mob.adjustBruteLoss(rand(2,4))
diff --git a/code/datums/weather/weather_types/snowfall.dm b/code/datums/weather/weather_types/snowfall.dm
index d3eab8b1099a..949eb9c44d1c 100644
--- a/code/datums/weather/weather_types/snowfall.dm
+++ b/code/datums/weather/weather_types/snowfall.dm
@@ -43,4 +43,4 @@
thunder_chance = 2
/datum/weather/snowfall/heavy/weather_act(mob/living/living_mob)
- living_mob.adjust_bodytemperature(-rand(1,2))
+ living_mob.adjust_bodytemperature(-rand(2,4), 243)
diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm
index b7c6285d7962..be4aa601e10f 100644
--- a/code/game/objects/structures/shower.dm
+++ b/code/game/objects/structures/shower.dm
@@ -111,7 +111,7 @@
if(isliving(A))
check_heat(A)
- if(iscarbon(A)) //WS edit - moth dust from hugging
+ if(iscarbon(A))
var/mob/living/carbon/C = A
C.mothdust -= 10;
@@ -132,15 +132,18 @@
/obj/machinery/shower/proc/check_heat(mob/living/L)
var/mob/living/carbon/C = L
- if(current_temperature == SHOWER_FREEZING)
- if(iscarbon(L))
- C.adjust_bodytemperature(-5, 280)
- to_chat(L, "[src] is freezing!")
- else if(current_temperature == SHOWER_BOILING)
- if(iscarbon(L))
- C.adjust_bodytemperature(5, 0, 350)
- L.adjustFireLoss(5)
- to_chat(L, "[src] is searing!")
+ switch(current_temperature)
+ if(SHOWER_FREEZING)
+ if(iscarbon(L))
+ C.adjust_bodytemperature(-2)
+ to_chat(L, "[src] is cold!")
+ if(SHOWER_BOILING)
+ if(iscarbon(L))
+ C.adjust_bodytemperature(2, 0, 350)
+ to_chat(L, "[src] is hot!")
+ if(SHOWER_NORMAL)
+ if(iscarbon(L))
+ C.adjust_bodytemperature(1, HUMAN_BODYTEMP_NORMAL)
/obj/effect/mist
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index cbacb2099a0d..d16b376f0ba7 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1944,13 +1944,6 @@ GLOBAL_LIST_EMPTY(roundstart_races)
else
H.throw_alert("temp", /atom/movable/screen/alert/sweat, 3)
- //Stay hydrated.
- if(!(H.mob_biotypes & MOB_ROBOTIC) && H.reagents.has_reagent(/datum/reagent/water) && H.stat != DEAD)
- burn_damage -= clamp(H.reagents.get_reagent_amount(/datum/reagent/water) /10, 0, 2)
- // if youre dead, no need to sweat?
- if(H.stat != DEAD)
- burn_damage -= (max(burn_damage - 2.5, 0))
-
// Apply species and physiology modifiers to heat damage
burn_damage = burn_damage * heatmod * H.physiology.heat_mod
diff --git a/code/modules/mob/living/carbon/human/species_types/kepori.dm b/code/modules/mob/living/carbon/human/species_types/kepori.dm
index 501f0b357515..3552c8af7497 100644
--- a/code/modules/mob/living/carbon/human/species_types/kepori.dm
+++ b/code/modules/mob/living/carbon/human/species_types/kepori.dm
@@ -25,8 +25,8 @@
bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 35
bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT + 3
- max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 15
- min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 1
+ max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 40
+ min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 3
bodytemp_autorecovery_divisor = HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR - 4
diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm
index e612b3bbe2fc..54933f028982 100644
--- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm
@@ -30,8 +30,8 @@
species_l_leg = /obj/item/bodypart/leg/left/moth
species_r_leg = /obj/item/bodypart/leg/right/moth
- min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 2
- bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 2
+ min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 5
+ bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 5
/datum/species/moth/regenerate_organs(mob/living/carbon/C, datum/species/old_species,replace_current=TRUE, list/excluded_zones, robotic = FALSE)
. = ..()
diff --git a/code/modules/mob/living/carbon/human/species_types/vox.dm b/code/modules/mob/living/carbon/human/species_types/vox.dm
index 4f63158cb29f..c2aeee2b87db 100644
--- a/code/modules/mob/living/carbon/human/species_types/vox.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vox.dm
@@ -26,7 +26,7 @@
bodytemp_cold_divisor = VOX_BODYTEMP_COLD_DIVISOR
bodytemp_autorecovery_min = VOX_BODYTEMP_AUTORECOVERY_MIN
- max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 1
+ max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 10
min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 20
bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 10
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm
index 5e953c74119a..20d1c25a0a97 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm
@@ -44,10 +44,10 @@
damage_type = BURN
nodamage = TRUE
flag = "energy"
- temperature = -5 // Cools you down! per hit!
+ temperature = -25 // Cools you down! per hit!
/obj/projectile/temp/basilisk/super
- temperature = -20
+ temperature = -50
damage = 5
nodamage = FALSE
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index 1ae9386b41f6..16556a06bb61 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -1857,7 +1857,7 @@
/datum/reagent/medicine/rhigoxane/on_mob_life(mob/living/carbon/M)
M.adjustFireLoss(-2*REM, 0.)
- M.adjust_bodytemperature(-0.2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.dna.species.bodytemp_normal)
+ M.adjust_bodytemperature(-0.6 * TEMPERATURE_DAMAGE_COEFFICIENT, M.dna.species.bodytemp_normal)
..()
. = 1
diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm
index c450d2a86040..cfe93bc00572 100644
--- a/code/modules/surgery/organs/lungs.dm
+++ b/code/modules/surgery/organs/lungs.dm
@@ -54,7 +54,7 @@
var/cold_message = "your face freezing and an icicle forming"
var/chilly_message = "chilly air"
- var/chlly_threshold = T20C-7
+ var/chlly_threshold = T20C-20
var/cold_level_1_threshold = 240
var/cold_level_2_threshold = 220
var/cold_level_3_threshold = 200
@@ -65,7 +65,7 @@
var/hot_message = "your face burning and a searing heat"
var/warm_message = "warm air"
- var/warm_threshold = T20C+10
+ var/warm_threshold = T20C+20
var/heat_level_1_threshold = 316
var/heat_level_2_threshold = 323
var/heat_level_3_threshold = 343