Files
Polaris/code/game/objects/items/devices/communicator/helper.dm
2018-01-01 23:43:24 -08:00

27 lines
1.1 KiB
Plaintext

/obj/item/device/communicator/proc/analyze_air()
var/list/results = list()
var/turf/T = get_turf(src.loc)
if(!isnull(T))
var/datum/gas_mixture/environment = T.return_air()
var/pressure = environment.return_pressure()
var/total_moles = environment.total_moles
if (total_moles)
var/o2_level = environment.gas["oxygen"]/total_moles
var/n2_level = environment.gas["nitrogen"]/total_moles
var/co2_level = environment.gas["carbon_dioxide"]/total_moles
var/phoron_level = environment.gas["phoron"]/total_moles
var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level)
results = list(
"pressure" = "[round(pressure,0.1)]",
"nitrogen" = "[round(n2_level*100,0.1)]",
"oxygen" = "[round(o2_level*100,0.1)]",
"carbon_dioxide" = "[round(co2_level*100,0.1)]",
"phoron" = "[round(phoron_level*100,0.01)]",
"other" = "[round(unknown_level, 0.01)]",
"temp" = "[round(environment.temperature-T0C,0.1)]",
"reading" = 1
)
if(isnull(results))
results = list("reading" = 0)
return results