From 11284ddd1e4c519446f199c1fcae8660e5b4a564 Mon Sep 17 00:00:00 2001 From: Will <7099514+Willburd@users.noreply.github.com> Date: Thu, 4 Sep 2025 20:23:24 -0400 Subject: [PATCH] Methane Atmogas (#18363) * initial port * atmolast * tank icons * defines for gas names * oop * icons * methane condensing * tank_vr merge * old icons too * tank and safe toxin levels stuff * doop * gas condensing toxins * choking methane * tank sprites for worn on mob * atmos tank sign * SM monitor * cleanup * copypasta cleanup * fixed gas sensor data * proper sensor * biome issue * standardize these * Update life.dm * Update life.dm --------- Co-authored-by: Cameron Lennox --- .../components/omni_devices/_omni_extras.dm | 4 ++ .../components/omni_devices/filter.dm | 30 +++++----- .../components/omni_devices/omni_base.dm | 2 +- .../components/trinary_devices/filter.dm | 16 ++++-- .../components/unary/vent_scrubber.dm | 8 ++- .../components/unary/vent_scrubber_vr.dm | 2 - code/ATMOSPHERICS/pipes/tank.dm | 16 +++++- code/ZAS/Turf.dm | 16 +++--- code/__defines/_reagents.dm | 11 +++- code/__defines/atmos.dm | 1 + code/_onclick/hud/alert.dm | 11 ++++ code/_onclick/hud/screen_objects.dm | 6 ++ code/controllers/subsystems/air.dm | 4 ++ code/controllers/subsystems/plants.dm | 1 + code/defines/gases.dm | 21 +++++-- code/game/machinery/air_alarm.dm | 25 ++++++--- code/game/machinery/atmo_control.dm | 22 +++++--- code/game/machinery/atmoalter/canister.dm | 14 +++++ code/game/machinery/atmoalter/scrubber.dm | 2 +- .../items/devices/communicator/helper.dm | 34 +---------- .../objects/items/weapons/tanks/tank_types.dm | 46 +++++++++++++++ code/game/objects/structures/signs.dm | 6 ++ code/game/turfs/flooring/flooring_premade.dm | 9 +-- code/game/turfs/flooring/gas_cracks.dm | 19 ++++++- code/game/turfs/turf.dm | 2 + code/modules/clothing/suits/jobs.dm | 2 +- code/modules/events/atmos_leak.dm | 1 + .../event2/events/engineering/gas_leak.dm | 2 +- code/modules/hydroponics/seed.dm | 4 +- .../integrated_electronics/subtypes/input.dm | 52 ++++++++++++++--- code/modules/mob/living/carbon/human/life.dm | 53 ++++++++++++++---- .../human/species/station/traits/negative.dm | 4 ++ .../living/silicon/pai/software_modules.dm | 36 +----------- code/modules/mob/living/simple_mob/life.dm | 9 +++ .../mob/living/simple_mob/simple_mob.dm | 2 + code/modules/pda/core_apps.dm | 34 +---------- .../projectiles/guns/magnetic/gasthrower.dm | 6 +- .../reactions/distilling/gas_condensing.dm | 15 +++++ code/modules/shuttles/shuttles_web.dm | 16 +++--- .../tgui/modules/supermatter_monitor.dm | 2 + code/modules/vore/eating/living_vr.dm | 10 ++++ code/modules/xgm/xgm_gas_mixture.dm | 33 +++++++++++ icons/atmos/tank.dmi | Bin 25231 -> 27841 bytes icons/atmos/tank_vr.dmi | Bin 3113 -> 0 bytes icons/inventory/back/mob.dmi | Bin 176569 -> 177150 bytes icons/inventory/back/mob_teshari.dmi | Bin 21683 -> 22592 bytes icons/obj/atmos.dmi | Bin 24707 -> 24275 bytes icons/obj/decals.dmi | Bin 96862 -> 95339 bytes icons/obj/tank.dmi | Bin 7852 -> 8217 bytes icons/obj/tank_vr.dmi | Bin 7797 -> 7856 bytes tgui/packages/tgui/constants.ts | 6 ++ .../ShuttleControlConsoleWeb.tsx | 3 + .../tgui/interfaces/ShuttleControl/types.ts | 1 + .../tgui/interfaces/SupermatterMonitor.tsx | 5 ++ vorestation.dme | 1 - 55 files changed, 428 insertions(+), 197 deletions(-) delete mode 100644 code/ATMOSPHERICS/components/unary/vent_scrubber_vr.dm delete mode 100644 icons/atmos/tank_vr.dmi diff --git a/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm b/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm index 9b00134cde0..3f53dd368b0 100644 --- a/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm +++ b/code/ATMOSPHERICS/components/omni_devices/_omni_extras.dm @@ -10,6 +10,8 @@ #define ATM_CO2 5 #define ATM_P 6 //Phoron #define ATM_N2O 7 +#define ATM_METHANE 8 +#define ATM_LASTGAS 8 // Keep updated to match the latest gas in list above //-------------------------------------------- // Omni port datum @@ -104,5 +106,7 @@ return GAS_PHORON if(ATM_N2O) return GAS_N2O + if(ATM_METHANE) + return GAS_CH4 else return null diff --git a/code/ATMOSPHERICS/components/omni_devices/filter.dm b/code/ATMOSPHERICS/components/omni_devices/filter.dm index f848f9f50d1..251d7e83f57 100644 --- a/code/ATMOSPHERICS/components/omni_devices/filter.dm +++ b/code/ATMOSPHERICS/components/omni_devices/filter.dm @@ -51,7 +51,7 @@ input = P if(ATM_OUTPUT) output = P - if(ATM_O2 to ATM_N2O) + if(ATM_O2 to ATM_LASTGAS) atmos_filters += P if(any_updated) rebuild_filtering_list() @@ -120,7 +120,7 @@ if(ATM_OUTPUT) output = 1 atmo_filter = 0 - if(ATM_O2 to ATM_N2O) + if(ATM_O2 to ATM_LASTGAS) f_type = mode_send_switch(P.mode) portData[++portData.len] = list("dir" = dir_name(P.dir, capitalize = 1), \ @@ -140,15 +140,17 @@ /obj/machinery/atmospherics/omni/atmos_filter/proc/mode_send_switch(var/mode = ATM_NONE) switch(mode) if(ATM_O2) - return "Oxygen" + return GASNAME_O2 if(ATM_N2) - return "Nitrogen" + return GASNAME_N2 if(ATM_CO2) - return "Carbon Dioxide" + return GASNAME_CO2 if(ATM_P) - return "Phoron" //*cough* Plasma *cough* + return GASNAME_PHORON //*cough* Plasma *cough* if(ATM_N2O) - return "Nitrous Oxide" + return GASNAME_N2O + if(ATM_METHANE) + return GASNAME_CH4 else return null @@ -182,7 +184,7 @@ if("switch_filter") if(!configuring || use_power) return - var/new_filter = tgui_input_list(ui.user, "Select filter mode:", "Change filter", list("None", "Oxygen", "Nitrogen", "Carbon Dioxide", "Phoron", "Nitrous Oxide")) + var/new_filter = tgui_input_list(ui.user, "Select filter mode:", "Change filter", list("None", GASNAME_O2, GASNAME_N2, GASNAME_CO2, GASNAME_PHORON, GASNAME_N2O, GASNAME_CH4)) if(!new_filter) return switch_filter(dir_flag(params["dir"]), mode_return_switch(new_filter)) @@ -192,16 +194,18 @@ /obj/machinery/atmospherics/omni/atmos_filter/proc/mode_return_switch(var/mode) switch(mode) - if("Oxygen") + if(GASNAME_O2) return ATM_O2 - if("Nitrogen") + if(GASNAME_N2) return ATM_N2 - if("Carbon Dioxide") + if(GASNAME_CO2) return ATM_CO2 - if("Phoron") + if(GASNAME_PHORON) return ATM_P - if("Nitrous Oxide") + if(GASNAME_N2O) return ATM_N2O + if(GASNAME_CH4) + return ATM_METHANE if("in") return ATM_INPUT if("out") diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm index 172dd77419e..223d8bf35a5 100644 --- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm +++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm @@ -175,7 +175,7 @@ if(ATM_OUTPUT) ic_on += "_out_glow" ic_off += "_out" - if(ATM_O2 to ATM_N2O) + if(ATM_O2 to ATM_LASTGAS) ic_on += "_filter" ic_off += "_out" diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index 61aa5c698c4..971ff218957 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -25,6 +25,7 @@ 2: Nitrogen: Nitrogen ONLY 3: Carbon Dioxide: Carbon Dioxide ONLY 4: Nitrous Oxide (Formerly called Sleeping Agent) (N2O) + 5: Methane: Methane only */ var/filter_type = -1 var/list/filtered_out = list() @@ -53,6 +54,8 @@ filtered_out = list(GAS_CO2) if(4)//removing N2O filtered_out = list(GAS_N2O) + if(5)//removing CH4 + filtered_out = list(GAS_CH4) air1.volume = ATMOS_DEFAULT_VOLUME_FILTER air2.volume = ATMOS_DEFAULT_VOLUME_FILTER @@ -135,11 +138,12 @@ data["filter_types"] = list() data["filter_types"] += list(list("name" = "Nothing", "f_type" = -1, "selected" = filter_type == -1)) - data["filter_types"] += list(list("name" = "Phoron", "f_type" = 0, "selected" = filter_type == 0)) - data["filter_types"] += list(list("name" = "Oxygen", "f_type" = 1, "selected" = filter_type == 1)) - data["filter_types"] += list(list("name" = "Nitrogen", "f_type" = 2, "selected" = filter_type == 2)) - data["filter_types"] += list(list("name" = "Carbon Dioxide", "f_type" = 3, "selected" = filter_type == 3)) - data["filter_types"] += list(list("name" = "Nitrous Oxide", "f_type" = 4, "selected" = filter_type == 4)) + data["filter_types"] += list(list("name" = GASNAME_PHORON, "f_type" = 0, "selected" = filter_type == 0)) + data["filter_types"] += list(list("name" = GASNAME_O2, "f_type" = 1, "selected" = filter_type == 1)) + data["filter_types"] += list(list("name" = GASNAME_N2, "f_type" = 2, "selected" = filter_type == 2)) + data["filter_types"] += list(list("name" = GASNAME_CO2, "f_type" = 3, "selected" = filter_type == 3)) + data["filter_types"] += list(list("name" = GASNAME_N2O, "f_type" = 4, "selected" = filter_type == 4)) + data["filter_types"] += list(list("name" = GASNAME_CH4, "f_type" = 5, "selected" = filter_type == 5)) return data @@ -176,6 +180,8 @@ filtered_out += GAS_CO2 if(4)//removing N2O filtered_out += GAS_N2O + if(5)//removing CH4 + filtered_out += GAS_CH4 add_fingerprint(ui.user) update_icon() diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 3979734143c..343ce5e96df 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -19,7 +19,7 @@ var/datum/radio_frequency/radio_connection var/scrubbing = 1 //0 = siphoning, 1 = scrubbing - var/list/scrubbing_gas = list(GAS_CO2, GAS_PHORON) + var/list/scrubbing_gas = list(GAS_CO2, GAS_PHORON, GAS_CH4) var/panic = 0 //is this scrubber panicked? @@ -115,6 +115,7 @@ "filter_phoron" = (GAS_PHORON in scrubbing_gas), "filter_n2o" = (GAS_N2O in scrubbing_gas), "filter_fuel" = (GAS_VOLATILE_FUEL in scrubbing_gas), + "filter_ch4" = (GAS_CH4 in scrubbing_gas), "sigtype" = "status" ) if(!initial_loc.air_scrub_names[id_tag]) @@ -241,6 +242,11 @@ else if(signal.data["toggle_fuel_scrub"]) toggle += GAS_VOLATILE_FUEL + if(!isnull(signal.data["ch4_scrub"]) && text2num(signal.data["ch4_scrub"]) != (GAS_CH4 in scrubbing_gas)) + toggle += GAS_CH4 + else if(signal.data["toggle_ch4_scrub"]) + toggle += GAS_CH4 + scrubbing_gas ^= toggle if(signal.data["init"] != null) diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber_vr.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber_vr.dm deleted file mode 100644 index 92869d88118..00000000000 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber_vr.dm +++ /dev/null @@ -1,2 +0,0 @@ -/obj/machinery/atmospherics/unary/vent_scrubber - scrubbing_gas = list(GAS_CO2, GAS_PHORON) diff --git a/code/ATMOSPHERICS/pipes/tank.dm b/code/ATMOSPHERICS/pipes/tank.dm index 029e3fef26c..c9654a6068a 100644 --- a/code/ATMOSPHERICS/pipes/tank.dm +++ b/code/ATMOSPHERICS/pipes/tank.dm @@ -2,7 +2,7 @@ // Tanks - These are implemented as pipes with large volume // /obj/machinery/atmospherics/pipe/tank - icon = 'icons/atmos/tank_vr.dmi' //VOREStation Edit - New Icons + icon = 'icons/atmos/tank.dmi' icon_state = "air_map" name = "Pressure Tank" @@ -158,3 +158,17 @@ . = ..() icon_state = "n2o" + +/obj/machinery/atmospherics/pipe/tank/methane + name = "Pressure Tank (Methane)" + icon_state = "ch4_map" + connect_types = CONNECT_TYPE_REGULAR|CONNECT_TYPE_FUEL + +/obj/machinery/atmospherics/pipe/tank/methane/Initialize(mapload) + . = ..() + air_temporary = new + air_temporary.volume = volume + air_temporary.temperature = T20C + + air_temporary.adjust_gas(GAS_CH4, (start_pressure)*(air_temporary.volume)/(R_IDEAL_GAS_EQUATION*air_temporary.temperature)) + icon_state = "ch4" diff --git a/code/ZAS/Turf.dm b/code/ZAS/Turf.dm index 08157f8ee99..22c91cd0bbe 100644 --- a/code/ZAS/Turf.dm +++ b/code/ZAS/Turf.dm @@ -237,7 +237,7 @@ //Create gas mixture to hold data for passing var/datum/gas_mixture/GM = new - GM.adjust_multi(GAS_O2, oxygen, GAS_CO2, carbon_dioxide, GAS_N2, nitrogen, GAS_PHORON, phoron) + GM.adjust_multi(GAS_O2, oxygen, GAS_CO2, carbon_dioxide, GAS_N2, nitrogen, GAS_PHORON, phoron, GAS_N2O, nitrous_oxide, GAS_CH4, methane) GM.temperature = temperature return GM @@ -245,12 +245,14 @@ /turf/remove_air(amount as num) var/datum/gas_mixture/GM = new - var/sum = oxygen + carbon_dioxide + nitrogen + phoron + var/sum = oxygen + carbon_dioxide + nitrogen + phoron + nitrous_oxide + methane if(sum>0) - GM.gas[GAS_O2] = (oxygen/sum)*amount - GM.gas[GAS_CO2] = (carbon_dioxide/sum)*amount - GM.gas[GAS_N2] = (nitrogen/sum)*amount - GM.gas[GAS_PHORON] = (phoron/sum)*amount + GM.gas[GAS_O2] = (oxygen / sum) * amount + GM.gas[GAS_CO2] = (carbon_dioxide / sum) * amount + GM.gas[GAS_N2] = (nitrogen / sum) * amount + GM.gas[GAS_PHORON] = (phoron / sum) * amount + GM.gas[GAS_N2O] = (nitrous_oxide / sum) * amount + GM.gas[GAS_CH4] = (methane / sum) * amount GM.temperature = temperature GM.update_values() @@ -293,7 +295,7 @@ /turf/proc/make_air() air = new/datum/gas_mixture air.temperature = temperature - air.adjust_multi(GAS_O2, oxygen, GAS_CO2, carbon_dioxide, GAS_N2, nitrogen, GAS_PHORON, phoron) + air.adjust_multi(GAS_O2, oxygen, GAS_CO2, carbon_dioxide, GAS_N2, nitrogen, GAS_PHORON, phoron, GAS_N2O, nitrous_oxide, GAS_CH4, methane) air.group_multiplier = 1 air.volume = CELL_VOLUME diff --git a/code/__defines/_reagents.dm b/code/__defines/_reagents.dm index 837fc895fbc..ab43653eccc 100644 --- a/code/__defines/_reagents.dm +++ b/code/__defines/_reagents.dm @@ -6,21 +6,26 @@ // Gasses #define GAS_CO2 "carbon_dioxide" +#define GASNAME_CO2 "Carbon Dioxide" #define GAS_N2 "nitrogen" +#define GASNAME_N2 "Nitrogen" #define GAS_N2O "nitrous_oxide" +#define GASNAME_N2O "Nitrous Oxide" #define GAS_O2 "oxygen" +#define GASNAME_O2 "Oxygen" #define GAS_PHORON "phoron" +#define GASNAME_PHORON "Phoron" #define GAS_VOLATILE_FUEL "volatile_fuel" +#define GASNAME_VOLATILE_FUEL "Volatile Fuel" +#define GAS_CH4 "methane" +#define GASNAME_CH4 "Methane" // Gas Reagents -#define REAGENT_CARBON_DIOXIDE "Carbon Dioxide" #define REAGENT_NITROGEN "Nitrogen" #define REAGENT_ID_NITROGEN "nitrogen" -#define REAGENT_NITROUS_OXIDE "Nitrous Oxide" #define REAGENT_OXYGEN "Oxygen" #define REAGENT_ID_OXYGEN "oxygen" -#define REAGENT_VOLATILE_FUEL "Volatile Fuel" #define REAGENT_HYDROGEN "Hydrogen" #define REAGENT_ID_HYDROGEN "hydrogen" #define REAGENT_FLUORINE "Fluorine" diff --git a/code/__defines/atmos.dm b/code/__defines/atmos.dm index 76aaa064e39..7a7b22d4aa2 100644 --- a/code/__defines/atmos.dm +++ b/code/__defines/atmos.dm @@ -94,6 +94,7 @@ #define ATMOSTANK_CO2 25000 // CO2 and PH are not critically important for station, only for toxins and alternative coolants, no need to store a lot of those. #define ATMOSTANK_PHORON 25000 #define ATMOSTANK_NITROUSOXIDE 10000 // N2O doesn't have a real useful use, i guess it's on station just to allow refilling of sec's riot control canisters? +#define ATMOSTANK_METHANE 5000 // Methane! Lowest tank pressure, because it's not really useful anyway except as a dump tank // Used in various things like tanks and oxygen pumps. #define TANK_MAX_RELEASE_PRESSURE (3*ONE_ATMOSPHERE) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 33d6441bb1c..47cceeb0bd9 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -153,6 +153,17 @@ The box in your backpack has an oxygen tank and gas mask in it." name = "Choking (No Breath)" desc = "The atmosphere around you lacks any form of breathable air! Find some good air before you pass out!" icon_state = "not_enough_oxy" + +/obj/screen/alert/methane_in_air + name = "Choking (Methane)" + desc = "There's highly flammable methane in the air, making it hard to breathe. Find some fresh air. \ +The box in your backpack has an oxygen tank and gas mask in it." + icon_state = "not_enough_oxy" + +/obj/screen/alert/not_enough_methane + name = "Choking (No Methane)" + desc = "You're not getting enough methane. Find some good air before you pass out!" + icon_state = "not_enough_tox" //End gas alerts diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 2e2ae58a934..38a4c4f44f6 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -409,6 +409,12 @@ else contents.Add(0) + // Grunts rejoice! + if (GAS_CH4) + if(t.air_contents.gas[GAS_CH4] && !t.air_contents.gas[GAS_O2]) + contents.Add(t.air_contents.gas[GAS_CH4]) + else + contents.Add(0) else //no tank so we set contents to 0 diff --git a/code/controllers/subsystems/air.dm b/code/controllers/subsystems/air.dm index 6fa1c5e6168..56feb0df98f 100644 --- a/code/controllers/subsystems/air.dm +++ b/code/controllers/subsystems/air.dm @@ -524,6 +524,10 @@ Total Unsimulated Turfs: [world.maxx*world.maxy*world.maxz - simulated_turf_coun return FALSE if(A.carbon_dioxide != B.carbon_dioxide) return FALSE + if(A.nitrous_oxide != B.nitrous_oxide) + return FALSE + if(A.methane != B.methane) + return FALSE if(A.temperature != B.temperature) return FALSE return TRUE diff --git a/code/controllers/subsystems/plants.dm b/code/controllers/subsystems/plants.dm index 9d266640cfc..01bb6505cdb 100644 --- a/code/controllers/subsystems/plants.dm +++ b/code/controllers/subsystems/plants.dm @@ -111,6 +111,7 @@ SUBSYSTEM_DEF(plants) if(survive_on_station) if(seed.consume_gasses) seed.consume_gasses[GAS_PHORON] = null + seed.consume_gasses[GAS_CH4] = null seed.consume_gasses[GAS_CO2] = null if(seed.chems && !isnull(seed.chems[REAGENT_ID_PACID])) seed.chems[REAGENT_ID_PACID] = null // Eating through the hull will make these plants completely inviable, albeit very dangerous. diff --git a/code/defines/gases.dm b/code/defines/gases.dm index 69c541655e5..d27a0dba8f7 100644 --- a/code/defines/gases.dm +++ b/code/defines/gases.dm @@ -1,6 +1,6 @@ /decl/xgm_gas/oxygen id = GAS_O2 - name = REAGENT_OXYGEN + name = GASNAME_O2 specific_heat = 20 // J/(mol*K) molar_mass = 0.032 // kg/mol @@ -8,19 +8,19 @@ /decl/xgm_gas/nitrogen id = GAS_N2 - name = REAGENT_NITROGEN + name = GASNAME_N2 specific_heat = 20 // J/(mol*K) molar_mass = 0.028 // kg/mol /decl/xgm_gas/carbon_dioxide id = GAS_CO2 - name = REAGENT_CARBON_DIOXIDE + name = GASNAME_CO2 specific_heat = 30 // J/(mol*K) molar_mass = 0.044 // kg/mol /decl/xgm_gas/phoron id = GAS_PHORON - name = REAGENT_PHORON + name = GASNAME_PHORON //Note that this has a significant impact on TTV yield. //Because it is so high, any leftover phoron soaks up a lot of heat and drops the yield pressure. @@ -37,7 +37,7 @@ /decl/xgm_gas/volatile_fuel id = GAS_VOLATILE_FUEL - name = REAGENT_VOLATILE_FUEL + name = GASNAME_VOLATILE_FUEL specific_heat = 253 // J/(mol*K) C8H18 gasoline. Isobaric, but good enough. molar_mass = 0.114 // kg/mol. same. @@ -45,10 +45,19 @@ /decl/xgm_gas/nitrous_oxide id = GAS_N2O - name = REAGENT_NITROUS_OXIDE + name = GASNAME_N2O specific_heat = 40 // J/(mol*K) molar_mass = 0.044 // kg/mol. N2O tile_overlay = "nitrous_oxide" overlay_limit = 1 flags = XGM_GAS_OXIDIZER + +/decl/xgm_gas/methane + id = GAS_CH4 + name = GASNAME_CH4 + specific_heat = 34 // J/(mol*K) + molar_mass = 0.016 // kg/mol + overlay_limit = 1 + tile_overlay = "miasma" + flags = XGM_GAS_FUEL diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm index 2c55e2cef4d..e710fc7957c 100644 --- a/code/game/machinery/air_alarm.dm +++ b/code/game/machinery/air_alarm.dm @@ -160,6 +160,7 @@ TLV[GAS_N2] = list(0, 0, 135, 140) // Partial pressure, kpa TLV[GAS_CO2] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa TLV[GAS_PHORON] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa + TLV[GAS_CH4] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa TLV["other"] = list(-1.0, -1.0, 0.5, 1.0) // Partial pressure, kpa TLV["pressure"] = list(ONE_ATMOSPHERE * 0.80, ONE_ATMOSPHERE * 0.90, ONE_ATMOSPHERE * 1.10, ONE_ATMOSPHERE * 1.20) /* kpa */ TLV["temperature"] = list(T0C - 26, T0C, T0C + 40, T0C + 66) // K @@ -289,6 +290,8 @@ var/co2_dangerlevel = TEST_TLV_VALUES LOAD_TLV_VALUES(TLV[GAS_PHORON], environment.gas[GAS_PHORON]*partial_pressure) var/phoron_dangerlevel = TEST_TLV_VALUES + LOAD_TLV_VALUES(TLV[GAS_CH4], environment.gas[GAS_CH4]*partial_pressure) + var/methane_dangerlevel = TEST_TLV_VALUES LOAD_TLV_VALUES(TLV["temperature"], environment.temperature) var/temperature_dangerlevel = TEST_TLV_VALUES LOAD_TLV_VALUES(TLV["other"], other_moles*partial_pressure) @@ -299,6 +302,7 @@ oxygen_dangerlevel, co2_dangerlevel, phoron_dangerlevel, + methane_dangerlevel, other_dangerlevel, temperature_dangerlevel ) @@ -634,12 +638,13 @@ "scrubbing" = info["scrubbing"], "panic" = info["panic"], "filters" = list( - list("name" = "Oxygen", "command" = "o2_scrub", "val" = info["filter_o2"]), - list("name" = "Nitrogen", "command" = "n2_scrub", "val" = info["filter_n2"]), - list("name" = "Carbon Dioxide", "command" = "co2_scrub","val" = info["filter_co2"]), - list("name" = "Phoron" , "command" = "tox_scrub","val" = info["filter_phoron"]), - list("name" = "Nitrous Oxide", "command" = "n2o_scrub","val" = info["filter_n2o"]), - list("name" = "Volatile Fuel", "command" = "fuel_scrub","val" = info["filter_fuel"]) + list("name" = GASNAME_O2, "command" = "o2_scrub", "val" = info["filter_o2"]), + list("name" = GASNAME_N2, "command" = "n2_scrub", "val" = info["filter_n2"]), + list("name" = GASNAME_CO2, "command" = "co2_scrub", "val" = info["filter_co2"]), + list("name" = GASNAME_PHORON, "command" = "tox_scrub", "val" = info["filter_phoron"]), + list("name" = GASNAME_CH4, "command" = "ch4_scrub", "val" = info["filter_ch4"]), + list("name" = GASNAME_N2O, "command" = "n2o_scrub", "val" = info["filter_n2o"]), + list("name" = GASNAME_VOLATILE_FUEL,"command" = "fuel_scrub", "val" = info["filter_fuel"]) ) )) data["scrubbers"] = scrubbers @@ -658,7 +663,7 @@ var/list/selected var/list/thresholds = list() - var/list/gas_names = list(GAS_O2, GAS_CO2, GAS_PHORON, "other") //Gas ids made to match code\defines\gases.dm + var/list/gas_names = list(GAS_O2, GAS_CO2, GAS_PHORON, GAS_CH4, "other") //Gas ids made to match code\defines\gases.dm for(var/g in gas_names) thresholds[++thresholds.len] = list("name" = g, "settings" = list()) selected = TLV[g] @@ -730,6 +735,7 @@ "tox_scrub", "n2o_scrub", "fuel_scrub", + "ch4_scrub", "panic_siphon", "scrubbing", "direction") @@ -864,8 +870,9 @@ . = ..() req_access = list(ACCESS_RD, ACCESS_ATMOSPHERICS, ACCESS_ENGINE_EQUIP) TLV[GAS_O2] = list(-1.0, -1.0,-1.0,-1.0) // Partial pressure, kpa - TLV[GAS_CO2] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa - TLV[GAS_PHORON] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa + TLV[GAS_CO2] = list(-1.0, -1.0, 5, 10) // Partial pressure, kpa + TLV[GAS_PHORON] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa + TLV[GAS_CH4] = list(-1.0, -1.0, 0, 0.5) // Partial pressure, kpa TLV["other"] = list(-1.0, -1.0, 0.5, 1.0) // Partial pressure, kpa TLV["pressure"] = list(0,ONE_ATMOSPHERE*0.10,ONE_ATMOSPHERE*1.40,ONE_ATMOSPHERE*1.60) /* kpa */ TLV["temperature"] = list(20, 40, 140, 160) // K diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index 4316dc15b0d..6eb17f90881 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -5,6 +5,7 @@ #define SENSOR_N2 (1<<4) #define SENSOR_CO2 (1<<5) #define SENSOR_N2O (1<<6) +#define SENSOR_CH4 (1<<7) /obj/machinery/air_sensor icon = 'icons/obj/stationobjs.dmi' @@ -59,11 +60,14 @@ signal.data[GAS_N2] = round(100*air_sample.gas[GAS_N2]/total_moles,0.1) if(output&32) signal.data[GAS_CO2] = round(100*air_sample.gas[GAS_CO2]/total_moles,0.1) + if(output&64) + signal.data[GAS_CH4] = round(100*air_sample.gas[GAS_CH4]/total_moles,0.1) else signal.data[GAS_O2] = 0 signal.data[GAS_PHORON] = 0 signal.data[GAS_N2] = 0 signal.data[GAS_CO2] = 0 + signal.data[GAS_CH4] = 0 signal.data["sigtype"]="status" radio_connection.post_signal(src, signal, radio_filter = RADIO_ATMOSIA) @@ -103,13 +107,14 @@ #define ONOFF_TOGGLE(flag) "\[[(output & flag) ? "YES" : "NO"]]" /obj/machinery/air_sensor/proc/multitool_act(mob/living/user, obj/item/multitool/tool) var/list/options = list( - "Pressure: [ONOFF_TOGGLE(SENSOR_PRESSURE)]" = SENSOR_PRESSURE, - "Temperature: [ONOFF_TOGGLE(SENSOR_TEMPERATURE)]" = SENSOR_TEMPERATURE, - "Oxygen: [ONOFF_TOGGLE(SENSOR_O2)]" = SENSOR_O2, - "Toxins: [ONOFF_TOGGLE(SENSOR_PHORON)]" = SENSOR_PHORON, - "Nitrogen: [ONOFF_TOGGLE(SENSOR_N2)]" = SENSOR_N2, - "Carbon Dioxide: [ONOFF_TOGGLE(SENSOR_CO2)]" = SENSOR_CO2, - "Nitrous Oxide: [ONOFF_TOGGLE(SENSOR_N2O)]" = SENSOR_N2O, + "Pressure: [ONOFF_TOGGLE(SENSOR_PRESSURE)]" = SENSOR_PRESSURE, + "Temperature: [ONOFF_TOGGLE(SENSOR_TEMPERATURE)]" = SENSOR_TEMPERATURE, + "[GASNAME_O2]: [ONOFF_TOGGLE(SENSOR_O2)]" = SENSOR_O2, + "[GASNAME_PHORON]: [ONOFF_TOGGLE(SENSOR_PHORON)]" = SENSOR_PHORON, + "[GASNAME_N2]: [ONOFF_TOGGLE(SENSOR_N2)]" = SENSOR_N2, + "[GASNAME_CO2]: [ONOFF_TOGGLE(SENSOR_CO2)]" = SENSOR_CO2, + "[GASNAME_N2O]: [ONOFF_TOGGLE(SENSOR_N2O)]" = SENSOR_N2O, + "[GASNAME_CH4]: [ONOFF_TOGGLE(SENSOR_CH4)]" = SENSOR_CH4, "-SAVE TO BUFFER-" = "multitool" ) @@ -134,6 +139,8 @@ output ^= SENSOR_CO2 if(SENSOR_N2O) output ^= SENSOR_N2O + if(SENSOR_CH4) + output ^= SENSOR_CH4 if("frequency") var/new_frequency = tgui_input_number(user, "[src] has a frequency of [frequency]. What would you like it to be?", "[src] frequency", frequency, RADIO_HIGH_FREQ, RADIO_LOW_FREQ) if(new_frequency) @@ -748,3 +755,4 @@ #undef SENSOR_N2 #undef SENSOR_CO2 #undef SENSOR_N2O +#undef SENSOR_CH4 diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index ab2c223d622..49173ae05e1 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -63,6 +63,12 @@ canister_color = "black" can_label = 0 +/obj/machinery/portable_atmospherics/canister/methane + name = "Canister: \[CH4\]" + icon_state = "green" + canister_color = "green" + can_label = 0 + /obj/machinery/portable_atmospherics/canister/air name = "Canister \[Air\]" icon_state = "grey" @@ -97,6 +103,10 @@ icon_state = "redws" canister_color = "redws" +/obj/machinery/portable_atmospherics/canister/empty/methane + name = "Canister \[CH4\]" + icon_state = "green" + canister_color = "green" @@ -433,6 +443,10 @@ update_flag air_contents.adjust_gas(GAS_CO2, MolesForPressure()) update_icon() +/obj/machinery/portable_atmospherics/canister/methane/Initialize(mapload) + . = ..() + air_contents.adjust_gas(GAS_CH4, MolesForPressure()) + update_icon() /obj/machinery/portable_atmospherics/canister/air/Initialize(mapload) . = ..() diff --git a/code/game/machinery/atmoalter/scrubber.dm b/code/game/machinery/atmoalter/scrubber.dm index 0a4a261947a..a6aabf54208 100644 --- a/code/game/machinery/atmoalter/scrubber.dm +++ b/code/game/machinery/atmoalter/scrubber.dm @@ -18,7 +18,7 @@ var/minrate = 0 var/maxrate = 10 * ONE_ATMOSPHERE - var/list/scrubbing_gas = list(GAS_PHORON, GAS_CO2, GAS_N2O, GAS_VOLATILE_FUEL) + var/list/scrubbing_gas = list(GAS_PHORON, GAS_CO2, GAS_N2O, GAS_VOLATILE_FUEL, GAS_CH4) /obj/machinery/portable_atmospherics/powered/scrubber/Initialize(mapload, skip_cell) . = ..() diff --git a/code/game/objects/items/devices/communicator/helper.dm b/code/game/objects/items/devices/communicator/helper.dm index c478bf4c0a5..e2fcfbbd0a2 100644 --- a/code/game/objects/items/devices/communicator/helper.dm +++ b/code/game/objects/items/devices/communicator/helper.dm @@ -1,37 +1,5 @@ /obj/item/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[GAS_O2]/total_moles - var/n2_level = environment.gas[GAS_N2]/total_moles - var/co2_level = environment.gas[GAS_CO2]/total_moles - var/phoron_level = environment.gas[GAS_PHORON]/total_moles - var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) - - // Label is what the entry is describing - // Type identifies which unit or other special characters to use - // Val is the information reported - // Bad_high/_low are the values outside of which the entry reports as dangerous - // Poor_high/_low are the values outside of which the entry reports as unideal - // Values were extracted from the template itself - results = list( - list("entry" = "Pressure", "units" = "kPa", "val" = "[round(pressure,0.1)]", "bad_high" = 120, "poor_high" = 110, "poor_low" = 95, "bad_low" = 80), - list("entry" = "Temperature", "units" = "\u00B0" + "C", "val" = "[round(environment.temperature-T0C,0.1)]", "bad_high" = 35, "poor_high" = 25, "poor_low" = 15, "bad_low" = 5), - list("entry" = "Oxygen", "units" = "kPa", "val" = "[round(o2_level*100,0.1)]", "bad_high" = 140, "poor_high" = 135, "poor_low" = 19, "bad_low" = 17), - list("entry" = "Nitrogen", "units" = "kPa", "val" = "[round(n2_level*100,0.1)]", "bad_high" = 105, "poor_high" = 85, "poor_low" = 50, "bad_low" = 40), - list("entry" = "Carbon Dioxide", "units" = "kPa", "val" = "[round(co2_level*100,0.1)]", "bad_high" = 10, "poor_high" = 5, "poor_low" = 0, "bad_low" = 0), - list("entry" = "Phoron", "units" = "kPa", "val" = "[round(phoron_level*100,0.01)]", "bad_high" = 0.5, "poor_high" = 0, "poor_low" = 0, "bad_low" = 0), - list("entry" = "Other", "units" = "kPa", "val" = "[round(unknown_level, 0.01)]", "bad_high" = 1, "poor_high" = 0.5, "poor_low" = 0, "bad_low" = 0) - ) - - if(isnull(results)) - results = list(list("entry" = "pressure", "units" = "kPa", "val" = "0", "bad_high" = 120, "poor_high" = 110, "poor_low" = 95, "bad_low" = 80)) - return results - + return get_gas_mixture_default_scan_data(get_turf(src.loc)) // Proc - compile_news() // Parameters - none diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index aefa9a9a894..0beab5bedfc 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -230,3 +230,49 @@ /obj/item/tank/stasis/nitro_cryo/Initialize(mapload) . = ..() src.air_contents.adjust_gas_temp(GAS_N2, (3*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*TN60C), TN60C) + +/* + * Methane + */ +/obj/item/tank/methane + name = "methane tank" + desc = "A tank of methane." + icon_state = "methane" + distribute_pressure = ONE_ATMOSPHERE*O2STANDARD + +/obj/item/tank/methane/Initialize(mapload) + . = ..() + src.air_contents.adjust_gas(GAS_CH4, (3*ONE_ATMOSPHERE)*70/(R_IDEAL_GAS_EQUATION*T20C)) + +/obj/item/tank/methane/examine(mob/user) + . = ..() + if(loc == user && (air_contents.gas[GAS_CH4] < 10)) + . += span_danger("The meter on \the [src] indicates you are almost out of methane!") + //playsound(user, 'sound/effects/alert.ogg', 50, 1) + +/* + * Emergency CO2 + */ +/obj/item/tank/emergency/carbon_dioxide + name = "emergency carbon dioxide tank" + desc = "An emergency air tank hastily painted yellow." + icon_state = "emergency_tst" + gauge_icon = "indicator_emergency" + +/obj/item/tank/emergency/carbon_dioxide/Initialize(mapload) + . = ..() + src.air_contents.adjust_gas(GAS_CO2, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) + +/* + * Emergency Methane + */ +/obj/item/tank/emergency/methane + name = "emergency methane tank" + desc = "An emergency air tank hastily painted green." + icon_state = "emergency_methane" + gauge_icon = "indicator_emergency" + gauge_cap = 3 + +/obj/item/tank/emergency/methane/Initialize(mapload) + . = ..() + src.air_contents.adjust_gas(GAS_CH4, (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)) diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index c5b9d5ae5eb..2cd72f1081b 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -1018,6 +1018,12 @@ desc = "WARNING! O2 flow tube. Ensure the flow is disengaged before working." icon_state = "atmos_o2" +/obj/structure/sign/atmos_ch4 + icon = 'icons/obj/decals.dmi' + name = "CH4 warning sign" + desc = "WARNING! CH4 flow tube. Ensure the flow is disengaged before working." + icon_state = "atmos_ch4" + /obj/structure/sign/atmos_air icon = 'icons/obj/decals.dmi' name = "Air warning sign" diff --git a/code/game/turfs/flooring/flooring_premade.dm b/code/game/turfs/flooring/flooring_premade.dm index 80840eff64a..3655d1269bf 100644 --- a/code/game/turfs/flooring/flooring_premade.dm +++ b/code/game/turfs/flooring/flooring_premade.dm @@ -340,11 +340,12 @@ /turf/simulated/floor/reinforced/n20 oxygen = 0 nitrogen = 0 + nitrous_oxide = ATMOSTANK_NITROUSOXIDE -/turf/simulated/floor/reinforced/n20/Initialize(mapload) - . = ..() - if(!air) make_air() - air.adjust_gas(GAS_N2O, ATMOSTANK_NITROUSOXIDE) +/turf/simulated/floor/reinforced/methane + oxygen = 0 + nitrogen = 0 + methane = ATMOSTANK_METHANE /turf/simulated/floor/cult name = "engraved floor" diff --git a/code/game/turfs/flooring/gas_cracks.dm b/code/game/turfs/flooring/gas_cracks.dm index fe05bdbb4ec..fa8e9082af5 100644 --- a/code/game/turfs/flooring/gas_cracks.dm +++ b/code/game/turfs/flooring/gas_cracks.dm @@ -119,10 +119,23 @@ . = ..() . += "A fresh breeze blows through it." +/turf/simulated/floor/gas_crack/methane + gas_type = list(GAS_CH4) + methane = 250 + +/turf/simulated/floor/gas_crack/methane/pump_reagents(var/datum/reagents/R, var/volume) + . = ..() + R.add_reagent(REAGENT_ID_SULFUR, round(volume / 2, 0.1)) + R.add_reagent(REAGENT_ID_PHOSPHORUS, round(volume / 2, 0.1)) + +/turf/simulated/floor/gas_crack/methane/examine(mob/user) + . = ..() + . += "A terrible smell wafts from beneath it." + /turf/simulated/floor/gas_crack/terrible gas_type = list(GAS_CO2,GAS_PHORON,GAS_N2O) - carbon_dioxide = 250 + methane = 250 phoron = 250 /turf/simulated/floor/gas_crack/terrible/pump_reagents(var/datum/reagents/R, var/volume) @@ -157,8 +170,10 @@ gas_type.Add(GAS_O2) if(prob(15)) gas_type.Add(GAS_N2) + if(prob(15)) + gas_type.Add(GAS_CH4) if(!gas_type.len) - gas_type.Add(pick(list(GAS_CO2,GAS_PHORON,GAS_N2O,GAS_O2,GAS_N2))) + gas_type.Add(pick(list(GAS_CO2,GAS_PHORON,GAS_N2O,GAS_O2,GAS_N2,GAS_CH4))) // Set fracking reagent add_random_reagent() if(prob(60)) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 8dfcc4093f1..ed5178d8266 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -11,6 +11,8 @@ var/carbon_dioxide = 0 var/nitrogen = 0 var/phoron = 0 + var/nitrous_oxide = 0 + var/methane = 0 //Properties for airtight tiles (/wall) var/thermal_conductivity = 0.05 diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index 54c0b1fae3e..26f1165ddb9 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -174,7 +174,7 @@ icon_state = "hazard" blood_overlay_type = "armor" allowed = list (/obj/item/analyzer, /obj/item/flashlight, /obj/item/multitool, /obj/item/pipe_painter, /obj/item/radio, /obj/item/t_scanner, - /obj/item/tool/crowbar, /obj/item/tool/screwdriver, /obj/item/weldingtool, /obj/item/tool/wirecutters, /obj/item/tool/wrench, /obj/item/tank/emergency/oxygen, + /obj/item/tool/crowbar, /obj/item/tool/screwdriver, /obj/item/weldingtool, /obj/item/tool/wirecutters, /obj/item/tool/wrench, /obj/item/tank/emergency, /obj/item/clothing/mask/gas, /obj/item/taperoll/engineering, /obj/item/taperoll/atmos, /obj/item/analyzer, /obj/item/extinguisher/mini) //VOREStation edit. Few more tools that can be put on vests body_parts_covered = UPPER_TORSO armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 20) diff --git a/code/modules/events/atmos_leak.dm b/code/modules/events/atmos_leak.dm index 907aaa62022..21246f4d0ec 100644 --- a/code/modules/events/atmos_leak.dm +++ b/code/modules/events/atmos_leak.dm @@ -61,6 +61,7 @@ var/gas_choices = list(GAS_CO2, GAS_N2O) // Annoying if(severity >= EVENT_LEVEL_MODERATE) gas_choices += GAS_PHORON // Dangerous + gas_choices += GAS_CH4 // if(severity >= EVENT_LEVEL_MAJOR) // gas_choices += GAS_VOLATILE_FUEL // Dangerous and no default atmos setup! gas_type = pick(gas_choices) diff --git a/code/modules/gamemaster/event2/events/engineering/gas_leak.dm b/code/modules/gamemaster/event2/events/engineering/gas_leak.dm index 4ef1f536775..04291115186 100644 --- a/code/modules/gamemaster/event2/events/engineering/gas_leak.dm +++ b/code/modules/gamemaster/event2/events/engineering/gas_leak.dm @@ -15,7 +15,7 @@ /datum/event2/event/gas_leak - var/potential_gas_choices = list(GAS_CO2, GAS_N2O, GAS_PHORON, GAS_VOLATILE_FUEL) + var/potential_gas_choices = list(GAS_CO2, GAS_N2O, GAS_PHORON, GAS_VOLATILE_FUEL, GAS_CH4) var/chosen_gas = null var/turf/chosen_turf = null diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index 0f1a21cae11..4db95bd48ba 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -448,12 +448,12 @@ if(prob(5)) consume_gasses = list() - var/gas = pick(GAS_O2,GAS_N2,GAS_PHORON,GAS_CO2) + var/gas = pick(GAS_O2,GAS_N2,GAS_PHORON,GAS_CO2,GAS_CH4) consume_gasses[gas] = rand(3,9) if(prob(5)) exude_gasses = list() - var/gas = pick(GAS_O2,GAS_N2,GAS_PHORON,GAS_CO2) + var/gas = pick(GAS_O2,GAS_N2,GAS_PHORON,GAS_CO2,GAS_CH4) exude_gasses[gas] = rand(3,9) chems = list() diff --git a/code/modules/integrated_electronics/subtypes/input.dm b/code/modules/integrated_electronics/subtypes/input.dm index 5c228280d15..ff7f4b236fb 100644 --- a/code/modules/integrated_electronics/subtypes/input.dm +++ b/code/modules/integrated_electronics/subtypes/input.dm @@ -810,13 +810,14 @@ complexity = 9 inputs = list() outputs = list( - "pressure" = IC_PINTYPE_NUMBER, - "temperature" = IC_PINTYPE_NUMBER, - GAS_O2 = IC_PINTYPE_NUMBER, - GAS_N2 = IC_PINTYPE_NUMBER, - GAS_CO2 = IC_PINTYPE_NUMBER, - GAS_PHORON = IC_PINTYPE_NUMBER, - "other" = IC_PINTYPE_NUMBER + "pressure" = IC_PINTYPE_NUMBER, + "temperature" = IC_PINTYPE_NUMBER, + GAS_O2 = IC_PINTYPE_NUMBER, + GAS_N2 = IC_PINTYPE_NUMBER, + GAS_CO2 = IC_PINTYPE_NUMBER, + GAS_CH4 = IC_PINTYPE_NUMBER, + GAS_PHORON = IC_PINTYPE_NUMBER, + "other" = IC_PINTYPE_NUMBER ) activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) spawn_flags = IC_SPAWN_RESEARCH @@ -836,15 +837,17 @@ var/o2_level = environment.gas[GAS_O2]/total_moles var/n2_level = environment.gas[GAS_N2]/total_moles var/co2_level = environment.gas[GAS_CO2]/total_moles + var/methane_level = environment.gas[GAS_CH4]/total_moles var/phoron_level = environment.gas[GAS_PHORON]/total_moles - var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) + var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level+methane_level) set_pin_data(IC_OUTPUT, 1, pressure) set_pin_data(IC_OUTPUT, 2, round(environment.temperature-T0C,0.1)) set_pin_data(IC_OUTPUT, 3, round(o2_level*100,0.1)) set_pin_data(IC_OUTPUT, 4, round(n2_level*100,0.1)) set_pin_data(IC_OUTPUT, 5, round(co2_level*100,0.1)) set_pin_data(IC_OUTPUT, 6, round(phoron_level*100,0.01)) - set_pin_data(IC_OUTPUT, 7, round(unknown_level, 0.01)) + set_pin_data(IC_OUTPUT, 7, round(methane_level*100,0.01)) + set_pin_data(IC_OUTPUT, 8, round(unknown_level, 0.01)) else set_pin_data(IC_OUTPUT, 1, 0) set_pin_data(IC_OUTPUT, 2, -273.15) @@ -853,6 +856,7 @@ set_pin_data(IC_OUTPUT, 5, 0) set_pin_data(IC_OUTPUT, 6, 0) set_pin_data(IC_OUTPUT, 7, 0) + set_pin_data(IC_OUTPUT, 8, 0) push_data() activate_pin(2) @@ -1034,3 +1038,33 @@ set_pin_data(IC_OUTPUT, 1, 0) push_data() activate_pin(2) + +/obj/item/integrated_circuit/input/methane_sensor + name = "integrated methane sensor" + desc = "A tiny methane gas sensor module similar to that found in a PDA atmosphere analyser." + icon_state = "medscan_adv" + complexity = 3 + inputs = list() + outputs = list( + GAS_CH4 = IC_PINTYPE_NUMBER + ) + activators = list("scan" = IC_PINTYPE_PULSE_IN, "on scanned" = IC_PINTYPE_PULSE_OUT) + spawn_flags = IC_SPAWN_RESEARCH + origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 3) + power_draw_per_use = 20 + +/obj/item/integrated_circuit/input/methane_sensor/do_work() + var/turf/T = get_turf(src) + if(!istype(T)) //Invalid input + return + var/datum/gas_mixture/environment = T.return_air() + + var/total_moles = environment.total_moles + + if (total_moles) + var/methane_level = environment.gas[GAS_CH4]/total_moles + set_pin_data(IC_OUTPUT, 1, round(methane_level*100, 0.1)) + else + set_pin_data(IC_OUTPUT, 1, 0) + push_data() + activate_pin(2) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 8c84f1038ce..72d80eaf58b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -576,6 +576,7 @@ safe_pressure_min *= 1.25 var/safe_exhaled_max = 10 + var/safe_toxins_min = 0.05 var/safe_toxins_max = 0.2 var/SA_para_min = 1 var/SA_sleep_min = 5 @@ -584,7 +585,8 @@ var/breath_pressure = (breath.total_moles*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME var/inhaling - var/poison + var/poison_toxin + var/poison_methane var/exhaling var/breath_type @@ -604,7 +606,10 @@ poison_type = species.poison_type else poison_type = GAS_PHORON - poison = breath.gas[poison_type] + poison_toxin = breath.gas[poison_type] + + if(species.breath_type != GAS_CH4) + poison_methane = breath.gas[GAS_CH4] if(species.exhale_type) exhale_type = species.exhale_type @@ -613,14 +618,15 @@ exhaling = 0 var/inhale_pp = (inhaling/breath.total_moles)*breath_pressure - var/toxins_pp = (poison/breath.total_moles)*breath_pressure + var/toxins_pp = (poison_toxin/breath.total_moles)*breath_pressure + var/methane_pp = (poison_methane/breath.total_moles)*breath_pressure // To be clear, this isn't how much they're exhaling -- it's the amount of the species exhale_gas that they just var/exhaled_pp = (exhaling/breath.total_moles)*breath_pressure // Not enough to breathe if(inhale_pp < safe_pressure_min) if(prob(20)) - spawn(0) emote("gasp") + emote("gasp") if(is_below_sound_pressure(get_turf(src))) //No more popped lungs from choking/drowning. You also have ~20 seconds to get internals on before your lungs pop. rupture_lung(TRUE) @@ -638,6 +644,8 @@ throw_alert("oxy", /obj/screen/alert/not_enough_nitro) if(GAS_CO2) throw_alert("oxy", /obj/screen/alert/not_enough_co2) + if(GAS_CH4) + throw_alert("oxy", /obj/screen/alert/not_enough_methane) if(GAS_VOLATILE_FUEL) throw_alert("oxy", /obj/screen/alert/not_enough_fuel) if(GAS_N2O) @@ -681,16 +689,38 @@ var/word = pick("a little dizzy","short of breath") to_chat(src, span_warning("You feel [word].")) - // Too much poison in the air. + // Too much phoron in the air. + if(toxins_pp > safe_toxins_min) + var/SA_pp = (breath.gas[GAS_PHORON] / breath.total_moles) * breath_pressure + if(SA_pp > 0.05) + if(prob(3)) + to_chat(src,span_warning("Something burns as you breathe.")) if(toxins_pp > safe_toxins_max) - var/ratio = (poison/safe_toxins_max) * 10 + var/ratio = (poison_toxin/safe_toxins_max) * 10 if(reagents) reagents.add_reagent(REAGENT_ID_TOXIN, CLAMP(ratio, MIN_TOXIN_DAMAGE, MAX_TOXIN_DAMAGE)) - breath.adjust_gas(poison_type, -poison/6, update = 0) //update after + breath.adjust_gas(poison_type, -poison_toxin/6, update = 0) //update after throw_alert("tox_in_air", /obj/screen/alert/tox_in_air) else clear_alert("tox_in_air") + // Too much methane in the air + if(methane_pp > safe_toxins_min) + var/SA_pp = (breath.gas[GAS_CH4] / breath.total_moles) * breath_pressure + if(SA_pp > 0.05) + if(prob(5)) + to_chat(src,span_warning("You smell rotten eggs.")) + if(methane_pp > safe_toxins_max) + var/ratio = (poison_methane/safe_toxins_max) * 1200 + adjustOxyLoss(CLAMP(ratio,0.1,10)) // Causes slow suffocation + if(prob(20)) + emote("gasp") + breath.adjust_gas(GAS_CH4, -poison_methane/6, update = 0) //update after + breath.adjust_gas(GAS_CH4, -breath.gas[GAS_CH4]/6, update = 0) //update after + throw_alert("methane_in_air", /obj/screen/alert/methane_in_air) + else + clear_alert("methane_in_air") + // If there's some other shit in the air lets deal with it here. if(breath.gas[GAS_N2O]) var/SA_pp = (breath.gas[GAS_N2O] / breath.total_moles) * breath_pressure @@ -708,7 +738,7 @@ // There is sleeping gas in their lungs, but only a little, so give them a bit of a warning else if(SA_pp > 0.15) if(prob(20)) - spawn(0) emote(pick("giggle", "laugh")) + emote(pick("giggle", "laugh")) breath.adjust_gas(GAS_N2O, -breath.gas[GAS_N2O]/6, update = 0) //update after if(get_hallucination_component()?.get_hud_state() == HUD_HALLUCINATION_OXY) @@ -1306,13 +1336,12 @@ badorgan.damage -= 1 handle_dreams() - if (mind) + if(mind) //Are they SSD? If so we'll keep them asleep but work off some of that sleep var in case of stoxin or similar. if(client || sleeping > 3) handle_sleeping() - if( prob(2) && health && !get_hallucination_component()?.get_fakecrit() && client ) - spawn(0) - emote("snore") + if(prob(2) && health && !get_hallucination_component()?.get_fakecrit() && client) + emote("snore") //CONSCIOUS else set_stat(CONSCIOUS) diff --git a/code/modules/mob/living/carbon/human/species/station/traits/negative.dm b/code/modules/mob/living/carbon/human/species/station/traits/negative.dm index 7222d91d0d6..21a95ccb221 100644 --- a/code/modules/mob/living/carbon/human/species/station/traits/negative.dm +++ b/code/modules/mob/living/carbon/human/species/station/traits/negative.dm @@ -188,6 +188,10 @@ desc = "You breathe nitrogen instead of oxygen (which is poisonous to you). Incidentally, phoron isn't poisonous to breathe to you." var_changes = list("breath_type" = GAS_N2, "poison_type" = GAS_O2, "ideal_air_type" = /datum/gas_mixture/belly_air/nitrogen_breather) +/datum/trait/negative/breathes/methane + name = "Methane Breather" + desc = "You breathe methane instead of oxygen (which is poisonous to you)." + var_changes = list("breath_type" = GAS_CH4, "poison_type" = GAS_O2, "ideal_air_type" = /datum/gas_mixture/belly_air/methane_breather) /datum/trait/negative/monolingual name = "Monolingual" diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index d16c313ba98..bf7e2a8c2f3 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -332,41 +332,7 @@ /datum/pai_software/atmosphere_sensor/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) var/list/data = ..() - - var/list/results = list() - var/turf/T = get_turf(user) - 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[GAS_O2]/total_moles - var/n2_level = environment.gas[GAS_N2]/total_moles - var/co2_level = environment.gas[GAS_CO2]/total_moles - var/phoron_level = environment.gas[GAS_PHORON]/total_moles - var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) - - // entry is what the element is describing - // Type identifies which unit or other special characters to use - // Val is the information reported - // Bad_high/_low are the values outside of which the entry reports as dangerous - // Poor_high/_low are the values outside of which the entry reports as unideal - // Values were extracted from the template itself - results = list( - list("entry" = "Pressure", "units" = "kPa", "val" = "[round(pressure,0.1)]", "bad_high" = 120, "poor_high" = 110, "poor_low" = 95, "bad_low" = 80), - list("entry" = "Temperature", "units" = "°C", "val" = "[round(environment.temperature-T0C,0.1)]", "bad_high" = 35, "poor_high" = 25, "poor_low" = 15, "bad_low" = 5), - list("entry" = "Oxygen", "units" = "kPa", "val" = "[round(o2_level*100,0.1)]", "bad_high" = 140, "poor_high" = 135, "poor_low" = 19, "bad_low" = 17), - list("entry" = "Nitrogen", "units" = "kPa", "val" = "[round(n2_level*100,0.1)]", "bad_high" = 105, "poor_high" = 85, "poor_low" = 50, "bad_low" = 40), - list("entry" = "Carbon Dioxide", "units" = "kPa", "val" = "[round(co2_level*100,0.1)]", "bad_high" = 10, "poor_high" = 5, "poor_low" = 0, "bad_low" = 0), - list("entry" = "Phoron", "units" = "kPa", "val" = "[round(phoron_level*100,0.01)]", "bad_high" = 0.5, "poor_high" = 0, "poor_low" = 0, "bad_low" = 0), - list("entry" = "Other", "units" = "kPa", "val" = "[round(unknown_level, 0.01)]", "bad_high" = 1, "poor_high" = 0.5, "poor_low" = 0, "bad_low" = 0) - ) - - if(isnull(results)) - results = list(list("entry" = "pressure", "units" = "kPa", "val" = "0", "bad_high" = 120, "poor_high" = 110, "poor_low" = 95, "bad_low" = 80)) - - data["aircontents"] = results - + data["aircontents"] = get_gas_mixture_default_scan_data(get_turf(user)) return data /datum/pai_software/pai_hud diff --git a/code/modules/mob/living/simple_mob/life.dm b/code/modules/mob/living/simple_mob/life.dm index 36e7ea8274f..a907a388424 100644 --- a/code/modules/mob/living/simple_mob/life.dm +++ b/code/modules/mob/living/simple_mob/life.dm @@ -161,6 +161,15 @@ else clear_alert("co2") + if(min_ch4 && Environment.gas[GAS_CH4] < min_ch4) + atmos_unsuitable = 2 + throw_alert("methane_in_air", /obj/screen/alert/not_enough_methane) + else if(max_tox && Environment.gas[GAS_CH4] > max_ch4) + atmos_unsuitable = 2 + throw_alert("methane_in_air", /obj/screen/alert/methane_in_air) + else + clear_alert("methane_in_air") + //Atmos effect if(bodytemperature < minbodytemp) adjustFireLoss(cold_damage_per_tick) diff --git a/code/modules/mob/living/simple_mob/simple_mob.dm b/code/modules/mob/living/simple_mob/simple_mob.dm index 33319e0f1bc..79f6b5089b0 100644 --- a/code/modules/mob/living/simple_mob/simple_mob.dm +++ b/code/modules/mob/living/simple_mob/simple_mob.dm @@ -77,6 +77,8 @@ var/max_co2 = 5 // CO2 max var/min_n2 = 0 // N2 min var/max_n2 = 0 // N2 max + var/min_ch4 = 0 // CH4 min + var/max_ch4 = 5 // CH4 max var/unsuitable_atoms_damage = 2 // This damage is taken when atmos doesn't fit all the requirements above //Hostility settings diff --git a/code/modules/pda/core_apps.dm b/code/modules/pda/core_apps.dm index 7cd663b43f0..d129e906ad6 100644 --- a/code/modules/pda/core_apps.dm +++ b/code/modules/pda/core_apps.dm @@ -222,39 +222,7 @@ category = "Utilities" /datum/data/pda/app/atmos_scanner/update_ui(mob/user as mob, list/data) - var/list/results = list() - var/turf/T = get_turf(user) - 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[GAS_O2]/total_moles - var/n2_level = environment.gas[GAS_N2]/total_moles - var/co2_level = environment.gas[GAS_CO2]/total_moles - var/phoron_level = environment.gas[GAS_PHORON]/total_moles - var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) - - // entry is what the element is describing - // Type identifies which unit or other special characters to use - // Val is the information reported - // Bad_high/_low are the values outside of which the entry reports as dangerous - // Poor_high/_low are the values outside of which the entry reports as unideal - // Values were extracted from the template itself - results = list( - list("entry" = "Pressure", "units" = "kPa", "val" = "[round(pressure,0.1)]", "bad_high" = 120, "poor_high" = 110, "poor_low" = 95, "bad_low" = 80), - list("entry" = "Temperature", "units" = "\u00B0C", "val" = "[round(environment.temperature-T0C,0.1)]", "bad_high" = 35, "poor_high" = 25, "poor_low" = 15, "bad_low" = 5), - list("entry" = "Oxygen", "units" = "kPa", "val" = "[round(o2_level*100,0.1)]", "bad_high" = 140, "poor_high" = 135, "poor_low" = 19, "bad_low" = 17), - list("entry" = "Nitrogen", "units" = "kPa", "val" = "[round(n2_level*100,0.1)]", "bad_high" = 105, "poor_high" = 85, "poor_low" = 50, "bad_low" = 40), - list("entry" = "Carbon Dioxide", "units" = "kPa", "val" = "[round(co2_level*100,0.1)]", "bad_high" = 10, "poor_high" = 5, "poor_low" = 0, "bad_low" = 0), - list("entry" = "Phoron", "units" = "kPa", "val" = "[round(phoron_level*100,0.01)]", "bad_high" = 0.5, "poor_high" = 0, "poor_low" = 0, "bad_low" = 0), - list("entry" = "Other", "units" = "kPa", "val" = "[round(unknown_level, 0.01)]", "bad_high" = 1, "poor_high" = 0.5, "poor_low" = 0, "bad_low" = 0) - ) - - if(isnull(results)) - results = list(list("entry" = "pressure", "units" = "kPa", "val" = "0", "bad_high" = 120, "poor_high" = 110, "poor_low" = 95, "bad_low" = 80)) - - data["aircontents"] = results + data["aircontents"] = get_gas_mixture_default_scan_data(get_turf(user)) /datum/data/pda/app/news name = "News" diff --git a/code/modules/projectiles/guns/magnetic/gasthrower.dm b/code/modules/projectiles/guns/magnetic/gasthrower.dm index 723e68058bf..6fc3e590132 100644 --- a/code/modules/projectiles/guns/magnetic/gasthrower.dm +++ b/code/modules/projectiles/guns/magnetic/gasthrower.dm @@ -38,6 +38,7 @@ var/co2_amt = Tank.air_contents.gas[GAS_CO2] var/oxy_amt = Tank.air_contents.gas[GAS_O2] var/n2o_amt = Tank.air_contents.gas[GAS_N2O] + var/ch4_amt = Tank.air_contents.gas[GAS_CH4] if(isnull(co2_amt)) co2_amt = 0 @@ -48,8 +49,11 @@ if(isnull(n2o_amt)) n2o_amt = 0 + if(isnull(ch4_amt)) + ch4_amt = 0 + var/phoron_mix_proper = TRUE - if(!phoron_amt || phoron_amt < max(0.25, 3 + co2_amt - oxy_amt - (n2o_amt / 2))) + if( (!phoron_amt || phoron_amt < max(0.25, 3 + co2_amt - oxy_amt - (n2o_amt / 2))) && (!ch4_amt || ch4_amt < max(0.25, 3 + co2_amt - oxy_amt - (n2o_amt / 2))) ) phoron_mix_proper = FALSE if(Tank.air_contents.return_pressure() >= T.air.return_pressure() && phoron_mix_proper) diff --git a/code/modules/reagents/reactions/distilling/gas_condensing.dm b/code/modules/reagents/reactions/distilling/gas_condensing.dm index 959096ef932..70564aef029 100644 --- a/code/modules/reagents/reactions/distilling/gas_condensing.dm +++ b/code/modules/reagents/reactions/distilling/gas_condensing.dm @@ -95,6 +95,21 @@ rejects_xgm_gas = GAS_O2 consumes_xgm_gas = CONDENSING_RATE +/decl/chemical_reaction/distilling/condense_methane + name = "Condensing Methane" + id = "condense_methane" + result = REAGENT_ID_TOXIN + required_reagents = list(REAGENT_ID_COOLANT = COOLANT_CONSUMPTION_RATE) + inhibitors = list(REAGENT_ID_TOXIN = 0.1) // Used to limit the reaction + result_amount = CONDENSING_RESULT + + temp_range = list(90.7, 111.65) // kelvin + temp_shift = CONDENSING_HEAT + + require_xgm_gas = GAS_CH4 + rejects_xgm_gas = GAS_O2 + consumes_xgm_gas = CONDENSING_RATE + #undef CONDENSING_RATE #undef CONDENSING_RESULT #undef CONDENSING_HEAT diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 884e3930652..6d58efe7db3 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -463,15 +463,17 @@ var/n2_level = environment.gas[GAS_N2]/total_moles var/co2_level = environment.gas[GAS_CO2]/total_moles var/phoron_level = environment.gas[GAS_PHORON]/total_moles - var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) + var/methane_level = environment.gas[GAS_CH4]/total_moles + var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level+methane_level) aircontents = list(\ - "pressure" = "[round(pressure,0.1)]",\ - GAS_N2 = "[round(n2_level*100,0.1)]",\ - GAS_O2 = "[round(o2_level*100,0.1)]",\ - GAS_CO2 = "[round(co2_level*100,0.1)]",\ - GAS_PHORON = "[round(phoron_level*100,0.01)]",\ + "pressure" = "[round(pressure, 0.1)]",\ + GAS_N2 = "[round(n2_level*100, 0.1)]",\ + GAS_O2 = "[round(o2_level*100, 0.1)]",\ + GAS_CO2 = "[round(co2_level*100, 0.1)]",\ + GAS_PHORON = "[round(phoron_level*100, 0.01)]",\ + GAS_CH4 = "[round(methane_level*100, 0.01)]",\ "other" = "[round(unknown_level, 0.01)]",\ - "temp" = "[round(environment.temperature-T0C,0.1)]",\ + "temp" = "[round(environment.temperature-T0C, 0.1)]",\ "reading" = TRUE\ ) diff --git a/code/modules/tgui/modules/supermatter_monitor.dm b/code/modules/tgui/modules/supermatter_monitor.dm index efa16985207..7799589af00 100644 --- a/code/modules/tgui/modules/supermatter_monitor.dm +++ b/code/modules/tgui/modules/supermatter_monitor.dm @@ -61,12 +61,14 @@ data["SM_gas_CO2"] = round(100*air.gas[GAS_CO2]/air.total_moles,0.01) data["SM_gas_N2"] = round(100*air.gas[GAS_N2]/air.total_moles,0.01) data["SM_gas_PH"] = round(100*air.gas[GAS_PHORON]/air.total_moles,0.01) + data["SM_gas_CH4"] = round(100*air.gas[GAS_CH4]/air.total_moles,0.01) data["SM_gas_N2O"] = round(100*air.gas["sleeping_agent"]/air.total_moles,0.01) else data["SM_gas_O2"] = 0 data["SM_gas_CO2"] = 0 data["SM_gas_N2"] = 0 data["SM_gas_PH"] = 0 + data["SM_gas_CH4"] = 0 data["SM_gas_N2O"] = 0 else var/list/SMS = list() diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm index 04be140733f..e88ecbca9a5 100644 --- a/code/modules/vore/eating/living_vr.dm +++ b/code/modules/vore/eating/living_vr.dm @@ -753,6 +753,16 @@ gas = list( GAS_CO2 = 100) +/datum/gas_mixture/belly_air/methane_breather + volume = 2500 + temperature = 293.150 + total_moles = 104 + +/datum/gas_mixture/belly_air/methane_breather/New() + . = ..() + gas = list( + GAS_CH4 = 100) + /mob/living/proc/feed_grabbed_to_self_falling_nom(var/mob/living/user, var/mob/living/prey) if(user.is_incorporeal()) return FALSE diff --git a/code/modules/xgm/xgm_gas_mixture.dm b/code/modules/xgm/xgm_gas_mixture.dm index d73ec26e80d..e88de6919ce 100644 --- a/code/modules/xgm/xgm_gas_mixture.dm +++ b/code/modules/xgm/xgm_gas_mixture.dm @@ -490,3 +490,36 @@ /datum/gas_mixture/proc/get_mass() for(var/g in gas) . += gas[g] * GLOB.gas_data.molar_mass[g] * group_multiplier + +// Global proc in this file so we can check for null turfs too +// This was copypastaed three times for multiple gas sensors checking for default safe atmos... Lets not. +/proc/get_gas_mixture_default_scan_data(var/turf/T) + if(isturf(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[GAS_O2]/total_moles + var/n2_level = environment.gas[GAS_N2]/total_moles + var/co2_level = environment.gas[GAS_CO2]/total_moles + var/phoron_level = environment.gas[GAS_PHORON]/total_moles + var/methane_level = environment.gas[GAS_CH4]/total_moles + var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level+methane_level) + + // entry is what the element is describing + // Type identifies which unit or other special characters to use + // Val is the information reported + // Bad_high/_low are the values outside of which the entry reports as dangerous + // Poor_high/_low are the values outside of which the entry reports as unideal + // Values were extracted from the template itself + return list( + list("entry" = "Pressure", "units" = "kPa", "val" = "[round(pressure, 0.1)]", "bad_high" = 120, "poor_high" = 110, "poor_low" = 95, "bad_low" = 80), + list("entry" = "Temperature", "units" = "°C", "val" = "[round(environment.temperature-T0C, 0.1)]","bad_high" = 35, "poor_high" = 25, "poor_low" = 15, "bad_low" = 5), + list("entry" = GASNAME_O2, "units" = "kPa", "val" = "[round(o2_level*100, 0.1)]", "bad_high" = 140, "poor_high" = 135, "poor_low" = 19, "bad_low" = 17), + list("entry" = GASNAME_N2, "units" = "kPa", "val" = "[round(n2_level*100, 0.1)]", "bad_high" = 105, "poor_high" = 85, "poor_low" = 50, "bad_low" = 40), + list("entry" = GASNAME_CO2, "units" = "kPa", "val" = "[round(co2_level*100, 0.1)]", "bad_high" = 10, "poor_high" = 5, "poor_low" = 0, "bad_low" = 0), + list("entry" = GASNAME_PHORON, "units" = "kPa", "val" = "[round(phoron_level*100, 0.01)]", "bad_high" = 0.5, "poor_high" = 0, "poor_low" = 0, "bad_low" = 0), + list("entry" = GASNAME_CH4, "units" = "kPa", "val" = "[round(methane_level*100, 0.01)]", "bad_high" = 0.5, "poor_high" = 0, "poor_low" = 0, "bad_low" = 0), + list("entry" = "Other", "units" = "kPa", "val" = "[round(unknown_level, 0.01)]", "bad_high" = 1, "poor_high" = 0.5, "poor_low" = 0, "bad_low" = 0) + ) + return list(list("entry" = "pressure", "units" = "kPa", "val" = "0", "bad_high" = 120, "poor_high" = 110, "poor_low" = 95, "bad_low" = 80)) diff --git a/icons/atmos/tank.dmi b/icons/atmos/tank.dmi index 0af35c321afe3b1d8f388103379959c569b07553..fa1fbc81e90a9425a19ded0e5cc97ea4ea9c7c9d 100644 GIT binary patch literal 27841 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

(D3Oa>%aZMr6J0i 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 literal 25231 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 diff --git a/icons/atmos/tank_vr.dmi b/icons/atmos/tank_vr.dmi deleted file mode 100644 index e7f6273a6b10aeff3a4226f665215a5fd9f590d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3113 zcma)82{e>#8=ggl!B`XejAe=}k&&%1`N)!emt{m@P&3vTX2vKx5z=B!k+MW8q$0~_ zZ&C?k8}g5Jvc*_u{?YfH|3CkB&VQcs-q(HI&;4BQ{XX~ezUNJ{wlwDD7Uu>40KBFq zhPG^MW?w~|V79%wk%a*OKvve~_D0Rk%~&ipIXPL#=$g2D4q8|^SzKICPtVrYHd2A7 zM2p|g&#$MaCp0uPK0aPh@6z$aAz@>zsC~Srpx~gqJVrz$PE1T&TboEE8W)p5nbJ|!-p%Rq*7B;jf{+Ze0=6FDHD`< z8<2ux&M9})p>=h2#l^)00zoFCSu&vPu+5DoIQ$6=79}bg6cps`?QLpm`q5P6rJi7h z8t=r!1R`UEa{6>aLc+Z3vFz;Z>gsA1izV)HM-u%+Dzx6UWb)3@qopv|YZ;kIcXwxJ zXD=_Wz`(%5!a{#E`d&^>krscgzF@nd5Ix$uudi<*H)@B{+tt;z-d?j*o)HNV$jHdZ z%gY-X8L6tO5_8Qw>htha8bvDP^=%1>B1y?%1mcy9jH9C?3WW*?2*}rjR-P4@yC~E8 zyAYX7rqO7Pjg2RghqW?CWun_7Ud>n(P=^#1M|5=Bjvb@naO0MiBoZknC#RT8sE1c{ z&R%@MQ{juL@Jbejjzu~>o}@ZEf7Clqzkb2>Af%96uwPZ1aFFLEM7UQB{^{7s90;VG zhsReyAY4c&SyVJ%T-@5)+SS$7&CRW-sOa6hcTrJMmE6MW>gsqrUQtmIgTYi*Rt^sj z4-E~O^6|;Z$>F%Ty1TpE+uO^^%II{u9UmW7Na)WC>nDO0Eo!5bHoORF@D-%SJtN$E+{K}>?PY(JE-;}s8dR0 z^AlZw;MBBwErc!N3&Kn)Zz{7b(_YH%#Hm`7q!h%l+Oi{^i0LVFMYCRuxavv&)ih3p zF4+qBeR=Oyu4gAYJ5{>LvSmE8HJhVtpqn~EZUwStE|NjrnMoQa3+2Q3$y0XEDyZ`_ zpj$Y=-1l3P;`-U_7lo5*YIx2*B9ES*<|=G-v?FO;$xhGENE>n zC}`BKR{P>b#p0MpVxxyrR4t$3*9*8uy|z|{DeAJ!YM*chF5GwKM-N?*%EaT2K6pfZQL}g3 zr~%a2z{aLVpsrVuX0nXCkXj!`;PT~6w)Ho3i9BHp@<-WBBBov+(7VNuFR@29=RD>{s8T1HgDjdU28fTWF2(t0F}l zPH;HKjmsJj97_k@7t6dqE?KFvO481L_)e91Io`;`62M>P>z<9YM*)6&wQ*+U#0PJyHKHRa{yjg3#A&V8^w-&`tLiYFgG zkMtX$_2t$D4u2jQ86AB)&>`gc09Xb1!h=09B7BG<0orzCT&a$+r}F}#>$-WTLE)<$Kd&r{ z-|OdrquL@5q%W#*MTA}lwx&o%jl!u(x<)(c}H+w)=EQlJ1 zQ{(nT7B>e(QIvO4j2`vQSMSC&z|Y^l@g)}w`eiIE9127%|B)NT_<>J3*zkS~lS{h3 z%Ak*E-aXjxnztIk??W*j5{qEG+uLC@S>15c*XnGHqgZ@sjN?11wJgmW{I_v~y}dnH zzm(GtWp!26YPJdm^AI~U%Cv4fF7p0 z@p+D;$HA;v?oC^BWGGg(1khr~eMBc1UJ^6;$T$lk)e6%NS1JK~CYk~JHH?0H3DF|7 z@blBHcW)RX7Zu;fJha46O}K%rV`j_pGqu*~r@*pu#;qNR09xzlicoxv-*Z86ILHen zCsY*u2+I*Iab_j|WX$T+lDBuIDMtixxl|ZQS>wonhERA?Q<+*gC9fS-;(6EbF=85I$=t5DIbgS8v`pUFj`QuaWGgsYE zZNL3Ct!dU05Xg4(^QScpu0`Pmu3yiZkiQxo?e*52%WLKP9mh=b$Je|jNLFxcV0T+Q+3(=60uqH^hzDt`>sF>zgGmfSkS zIu>F>l+%VBg5N+kJ6s;4)@<;H`OxG+#MiC#~!~|5OzOxgN()1^}NfK%@%n^^3+aR&0zC)S$-VZO`c7?Ng zbElXsm#|K}9Ab~+402`{Vf=puu8&RZC$fP|hhZmv*^zzwNv4qjP1Ku!ems=XXS5d? zs>j}{dGez*;N|^Z=0ksN;A}Kt*lnoLcm~Yw8uP3U47uM+8waodh=wQhZvlR_U|-NT z;NYlhTMK!Kt@oK`&MMRGAX;tiP|9bw0DSewngC=Nb#p1c>3LIf0hAi!x(Zp|1+p8z zxwHL`ltDlTv5x)VGvNJ`;H%JFqo2O79rstUi+>h->3lnk)>gkfoJUB0X%d89{>OV diff --git a/icons/inventory/back/mob.dmi b/icons/inventory/back/mob.dmi index c6d07be6c9d658298e8e1adbf907015fed353ae8..40606c6c6d3fda2d47ebf458568d2003be0dd3c3 100644 GIT binary patch delta 4338 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 delta 3752 zcmb7Hc|6qJ_aBKtMV1GTwFeneBwO~fWyvyGl06dHHAu)uNntEWmaNG>Ge-6;Mv*1^ zF56&|Wo#p38#D8ro}T{v{qZ}0+=Y5 z{@hChTD&mFG?J3ZTX;{hd1kzP%;mxVR z-k!xScLMwS$j~-FU0!~D0k6veK_hs>qB?qCsF<^4a^#0O@4RW=9>1BzV`y!~(|msW zE@Av^O+hWay*K2{o{FJc=A^L2g&fiib=lGf=9&BInp0a~7Gr1ZayLnAqZ=1GCzn=_ z!i3|1DoTf~J8_~`V>m-2#_^NW*&%l>QBl!t5?QfxQFe3;Jgn$k#6N=C^$71y_hd&O zYcPSXhVGs2*p$bD-W3+Q_HWJVi=D_F;L)tH>F~^ynvbSQSEY@O&HX^Emwk-R_IlNT z&0W!%gMj2l57o_9g(-r~}Y*Ae-#q3E{S^kva6({i8!U;>p%N$-8pLC=O?>_9D>L6$Gm4)g6i1w*f<-vzX@0gA{eD1j)ur`80Ax+c$Ox#RrN0Kw-!r|qN+A&Z7yLyUOtRKv3I(Q7 zL}6j!&h8vu+RaD5?fSeLkqqWP!Nt>jrCPOnHfUgkef%cx4+FF&4{UH309|g-{7#M3 z=Z;k49?Ks4ABfAMS6_-w1}!&4Y2^irN^`^ec3t*$GplqPSV666Pn4qKFJ-18Q%PY+ z%|78jJ!RasVre#&#zzG{9fW5t6q zJPfu6o?P3vG+W(sHcEqu_nJ|6b{vfoKffl&Tp z){PjYyBSn8?DN9mxEw_H(R)S0G!2`+lAXSIC3Qo;sDjR?mP(AmNavK{0 zZuS+*CScPmC^Y5ESlwJwHY-$b^1r#yh-w#)bBO2l-cp+1ba1r}M7-N9m_MJ2J*Ur7`kzr_FjBZtCA21w9A@clQeFt*XQy-&4mOKiTyWgZZ;5Bj+ zw*V1AcjI*07~i@LI=@Ly^_9|}B9)aB)bo(oqMXW!pbEJSUEXR-v&z2v#E~V>+pjZx zV~QXH&DdI6**fC+>27Y4f9xIk0fd^!;WeNV@(?8jJ#fU80U=sH2k=!av z#TC5i8|EIRc@D`~kzJm5K@qDz4@c+b9Fnw+Aoz1LUtte1sAIc3)ZROX4V4twGBL!m zd;;llMx3^4Y`4-ANb&u?;*}3;cCva?R&dPCUemS4QzR?`ru9~}67Ncc1Hfj>GQJC) z#Ep7ksZZvd%sc}o&dW>}E}FA{ zq@<))uePn9DG>&aq49e8?#lkqgV2!`Whj@f`lHRPe}4L=h$jQ%)YIWUaR z%_ZO`%3WsRJ+kuhV!O=`cC*|G#QQZxiM?S`R?1N8BMH#E54%tc)bOLk!p}3VjU95Q zFj(JHk9N<^3~|z0!RPV=*&1t3B}hRB=iS90I%-(I8;P69+V=i_?yPo^gd2b*NDMtUH$#s3g6=ty{DcB%1C$0 zZ6t%gr=+Bu{oB!Y33}@m2WH@c@MpSrrKQYL@Yv_!OiB+;I9whD1nB1izv01{t(7-C zAq9OUsoG*jq@v3usf>(W~2?R!dmj0}#Dn-;eEf@hl0q;A}DHmeGfx~xu7z^Jy6e6#m z($<{e6U>c{*5}F#ZB$&$8)2xoS#Em_Q$HFlfvy4=C1>w?#zW15t+V^ytDuhS}L!k(W1DziuUyOtREN z8C{6PTZ>der!Xv}_jF@Z(*hxQaC-XGHMRxpr&E7lIdt|(~GSaQ-|%&H7EG`{cZ>gw*}qi1X!U(E(lP*A8v zATB7J)z?_cd;eZ5_}Bs*YNZTX-`srBv&4~8o&nel*cN-etDxjgUfL7c z^k|C_B(J0dQ5TBQ85|sR`Z{sV-{1e3v_FoH8j<{QAw_SXd-UMfXTZw!6l0_oBkkXy zu+wT`b&NnD3PvvUhRkP6$h!S~$fpdk@oILiq{t=8Na;0BqNuyp0n}arG&*a~LPbsq z8}WTc_lL)B7Vppj3W2zlZBjf+HG6YCG_k8|c12lMg@#EVn@`>J3YR+_=lH+OK^DCcwfmCpXoBRbkJH(&;AD(H*N+1 diff --git a/icons/inventory/back/mob_teshari.dmi b/icons/inventory/back/mob_teshari.dmi index bdec7b1467794fa1be980543ec658e8a74bda21a..cce4a944e19a4cb623d89c39400b6ad41b6cb49c 100644 GIT binary patch literal 22592 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 N80nc^E!DAq`Y-1E@Lm7_ literal 21683 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 diff --git a/icons/obj/atmos.dmi b/icons/obj/atmos.dmi index 152280498c3a35405952df90d63ba9986e15c56a..873dc500699a2eb94333d213f5757e93f2b87861 100644 GIT binary patch literal 24275 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 _d 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 literal 24707 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