From 8e9e83fde05de0fb048b08f9e009da1b5acb6d98 Mon Sep 17 00:00:00 2001 From: Anewbe Date: Fri, 18 Jan 2019 08:14:03 -0600 Subject: [PATCH 1/2] Merge pull request #5858 from Atermonera/suitcooler_pressurization Suit coolers don't overheat in vacuum --- code/game/objects/items/devices/suit_cooling.dm | 4 +++- code/modules/clothing/spacesuits/rig/rig.dm | 6 ++++-- html/changelogs/atermonera_suit_cooling.yml | 4 ++++ 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/atermonera_suit_cooling.yml diff --git a/code/game/objects/items/devices/suit_cooling.dm b/code/game/objects/items/devices/suit_cooling.dm index 6efc045785..1233782629 100644 --- a/code/game/objects/items/devices/suit_cooling.dm +++ b/code/game/objects/items/devices/suit_cooling.dm @@ -46,7 +46,9 @@ var/mob/living/carbon/human/H = loc - var/efficiency = 1 - H.get_pressure_weakness() // You need to have a good seal for effective cooling + var/turf/T = get_turf(src) + var/datum/gas_mixture/environment = T.return_air() + var/efficiency = 1 - H.get_pressure_weakness(environment.return_pressure()) // You need to have a good seal for effective cooling var/temp_adj = 0 // How much the unit cools you. Adjusted later on. var/env_temp = get_environment_temperature() // This won't save you from a fire var/thermal_protection = H.get_heat_protection(env_temp) // ... unless you've got a good suit. diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 293e2601cc..67a429ab80 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -418,8 +418,10 @@ var/mob/living/carbon/human/H = loc - var/efficiency = 1 - H.get_pressure_weakness() //you need to have a good seal for effective cooling - var/env_temp = get_environment_temperature() //wont save you from a fire + var/turf/T = get_turf(src) + var/datum/gas_mixture/environment = T.return_air() + var/efficiency = 1 - H.get_pressure_weakness(environment.return_pressure()) // You need to have a good seal for effective cooling + var/env_temp = get_environment_temperature() //wont save you from a fire var/temp_adj = min(H.bodytemperature - max(thermostat, env_temp), max_cooling) if (temp_adj < 0.5) //only cools, doesn't heat, also we don't need extreme precision diff --git a/html/changelogs/atermonera_suit_cooling.yml b/html/changelogs/atermonera_suit_cooling.yml new file mode 100644 index 0000000000..fce9429e6e --- /dev/null +++ b/html/changelogs/atermonera_suit_cooling.yml @@ -0,0 +1,4 @@ +author: atermonera +delete-after: True +changes: + - bugfix: "Suit coolers and rigsuit coolers now protect FBPs against vacuum again." \ No newline at end of file