Merge pull request #15245 from Putnam3145/fix-ashwalkers-one-last-time

Another lavaland breathing fix
This commit is contained in:
Lin
2021-10-07 11:44:47 -07:00
committed by GitHub
4 changed files with 19 additions and 1 deletions
+5
View File
@@ -16,6 +16,9 @@
/datum/atmosphere/New()
generate_gas_string()
/datum/atmosphere/proc/check_for_sanity(datum/gas_mixture/mix)
return
/datum/atmosphere/proc/generate_gas_string()
var/list/spicy_gas = restricted_gases.Copy()
var/target_pressure = rand(minimum_pressure, maximum_pressure)
@@ -52,6 +55,8 @@
gasmix.adjust_moles(gastype, -moles_to_remove)
gasmix.set_moles(gastype, FLOOR(gasmix.get_moles(gastype), 0.1))
check_for_sanity(gasmix)
// Now finally lets make that string
var/list/gas_string_builder = list()
for(var/id in gasmix.get_gases())
+6
View File
@@ -23,6 +23,12 @@
minimum_temp = 270
maximum_temp = 320
/datum/atmosphere/lavaland/check_for_sanity(datum/gas_mixture/mix)
var/datum/breathing_class/o2_class = GLOB.gas_data.breathing_classes[BREATH_OXY]
while(o2_class.get_effective_pp(mix) < 10)
mix.adjust_moles(GAS_CO2, -0.5)
mix.adjust_moles(GAS_O2, 0.5)
/datum/atmosphere/icemoon
id = ICEMOON_DEFAULT_ATMOS
@@ -14,6 +14,12 @@
var/high_alert_category = "too_much_oxy"
var/high_alert_datum = /atom/movable/screen/alert/too_much_oxy
/datum/breathing_class/proc/get_effective_pp(datum/gas_mixture/breath)
var/mol = 0
for(var/gas in gases)
mol += breath.get_moles(gas) * gases[gas]
return (mol/breath.total_moles()) * breath.return_pressure()
/datum/breathing_class/oxygen
gases = list(
GAS_O2 = 1,
+2 -1
View File
@@ -528,7 +528,8 @@
BZ_brain_damage_min += bz
gas_max[GAS_N2] = PP(breath, GAS_N2) + 5
var/o2_pp = PP(breath, GAS_O2)
var/datum/breathing_class/class = GLOB.gas_data.breathing_classes[breathing_class]
var/o2_pp = class.get_effective_pp(breath)
safe_breath_min = 0.3 * o2_pp
safe_breath_max = 1.3 * o2_pp
..()