mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-15 18:14:22 +01:00
[MIRROR] Ingame Atmos Reaction Guide [MDB IGNORE] (#12428)
* Ingame Atmos Reaction Guide * Update health_analyzer.dm Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
program_icon_state = "air"
|
||||
extended_desc = "A small built-in sensor reads out the atmospheric conditions around the device."
|
||||
size = 4
|
||||
tgui_id = "NtosAtmos"
|
||||
tgui_id = "NtosGasAnalyzer"
|
||||
program_icon = "thermometer-half"
|
||||
|
||||
/datum/computer_file/program/atmosscan/run_program(mob/living/user)
|
||||
@@ -15,31 +15,20 @@
|
||||
if(!computer?.get_modular_computer_part(MC_SENSORS)) //Giving a clue to users why the program is spitting out zeros.
|
||||
to_chat(user, span_warning("\The [computer] flashes an error: \"hardware\\sensorpackage\\startup.bin -- file not found\"."))
|
||||
|
||||
/datum/computer_file/program/atmosscan/ui_static_data(mob/user)
|
||||
return return_atmos_handbooks()
|
||||
|
||||
/datum/computer_file/program/atmosscan/ui_data(mob/user)
|
||||
var/list/data = get_header_data()
|
||||
var/list/airlist = list()
|
||||
var/turf/T = get_turf(ui_host())
|
||||
var/obj/item/computer_hardware/sensorpackage/sensors = computer?.get_modular_computer_part(MC_SENSORS)
|
||||
if(T && sensors?.check_functionality())
|
||||
var/datum/gas_mixture/environment = T.return_air()
|
||||
var/list/env_gases = environment.gases
|
||||
var/pressure = environment.return_pressure()
|
||||
var/total_moles = environment.total_moles()
|
||||
data["AirPressure"] = round(pressure,0.1)
|
||||
data["AirTempC"] = round(environment.temperature-T0C)
|
||||
data["AirTempK"] = round(environment.temperature)
|
||||
if (total_moles)
|
||||
for(var/id in env_gases)
|
||||
var/gas_level = env_gases[id][MOLES]/total_moles
|
||||
if(gas_level > 0)
|
||||
airlist += list(list("name" = "[env_gases[id][GAS_META][META_GAS_NAME]]", "percentage" = round(gas_level*100, 0.01)))
|
||||
data["AirData"] = airlist
|
||||
else
|
||||
data["AirPressure"] = 0
|
||||
data["AirTempC"] = 0
|
||||
data["AirTempK"] = 0
|
||||
data["AirData"] = list(list())
|
||||
var/turf/turf = get_turf(computer)
|
||||
var/datum/gas_mixture/air = turf?.return_air()
|
||||
var/obj/item/computer_hardware/sensorpackage/air_sensor = computer?.get_modular_computer_part(MC_SENSORS)
|
||||
|
||||
if(!air_sensor)
|
||||
data["gasmixes"] = list(gas_mixture_parser(null, "No Sensors Detected!"))
|
||||
return data
|
||||
|
||||
data["gasmixes"] = list(gas_mixture_parser(air, "Sensor Reading")) //Null air wont cause errors, don't worry.
|
||||
return data
|
||||
|
||||
/datum/computer_file/program/atmosscan/ui_act(action, list/params)
|
||||
|
||||
Reference in New Issue
Block a user