Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -210,6 +210,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
if(admin_number_present <= 0)
|
||||
to_chat(C, "<span class='notice'>No active admins are online, your adminhelp was sent to the admin irc.</span>")
|
||||
heard_by_no_admins = TRUE
|
||||
else
|
||||
// citadel edit: send anyways
|
||||
send2adminchat(initiator_ckey, "Ticket #[id]: [name] - Heard by [admin_number_present] admins present with +BAN.")
|
||||
|
||||
GLOB.ahelp_tickets.active_tickets += src
|
||||
|
||||
@@ -220,8 +223,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
|
||||
return ..()
|
||||
|
||||
/datum/admin_help/proc/AddInteraction(formatted_message)
|
||||
if(heard_by_no_admins && usr && usr.ckey != initiator_ckey)
|
||||
heard_by_no_admins = FALSE
|
||||
// if(heard_by_no_admins usr && usr.ckey != initiator_ckey)
|
||||
// heard_by_no_admins = FALSE
|
||||
if(usr && (usr.ckey != initiator_ckey))
|
||||
send2adminchat(initiator_ckey, "Ticket #[id]: Answered by [key_name(usr)]")
|
||||
_interactions += "[TIME_STAMP("hh:mm:ss", FALSE)]: [formatted_message]"
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user