Adds Water Vapor and the Electrolyzer (#30875)

* this will work first try (adds water vapor and the electrolyzer)

* naming fix

* removes a warn

* makes water vapor able to be seen and adds it to the tiny_test atmos map

* Build Rust library

* adds the electrolyzer to all maps, and linter fix

* linter fix part 2

* electrolyzer tweak and more work on the test_atmos map

* tgui rebuilding

* re
rebuilding tgui

* makes the electrolyzer consume power and some small test atmos touch ups

* im axing the test_tiny because i don't want to map it

* clarifies how much power the electrolyzer uses

* Build Rust library

* suggestionss

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com>
Signed-off-by: Hayden Redacted <91229275+haydenredacted@users.noreply.github.com>

* updating the SM manual

* electrolyzer tweaks

* dg suggestions pt. 2

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: Hayden Redacted <91229275+haydenredacted@users.noreply.github.com>

* removed unused code

---------

Signed-off-by: Hayden Redacted <91229275+haydenredacted@users.noreply.github.com>
Co-authored-by: paradisess13[bot] <165046124+paradisess13[bot]@users.noreply.github.com>
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com>
This commit is contained in:
Hayden Redacted
2025-12-10 00:04:11 +00:00
committed by GitHub
co-authored by DGamerL JimKil3 paradisess13[bot] <165046124+paradisess13[bot]@users.noreply.github.com> warriorstar-orion
parent be48d7598f
commit 5728e0c46f
54 changed files with 671 additions and 117 deletions
+7 -1
View File
@@ -750,6 +750,7 @@ SLIME SCANNER
var/sleeping_agent = 0
var/agent_b = 0
var/hydrogen = 0
var/water_vapor = 0
if(detailed)// Present all mixtures one by one
for(var/datum/gas_mixture/air as anything in airs)
@@ -773,7 +774,9 @@ SLIME SCANNER
if(air.agent_b() && (milla_turf_details || air.agent_b() / total_moles > 0.01))
message += " <span class='agent_b'>Agent B: [round(air.agent_b(), 0.01)] moles ([round(air.agent_b() / total_moles * 100, 0.01)] %)</span>"
if(air.hydrogen() && (milla_turf_details || air.hydrogen() / total_moles > 0.01))
message += " <span class='plasma'>Hydrogen: [round(air.hydrogen(), 0.01)] moles ([round(air.hydrogen() / total_moles * 100, 0.01)] %)</span>"
message += " <span class='hydrogen'>Hydrogen: [round(air.hydrogen(), 0.01)] moles ([round(air.hydrogen() / total_moles * 100, 0.01)] %)</span>"
if(air.water_vapor() && (milla_turf_details || air.water_vapor() / total_moles > 0.01))
message += " <span class='water_vapor'>Water Vapor: [round(air.water_vapor(), 0.01)] moles ([round(air.water_vapor() / total_moles * 100, 0.01)] %)</span>"
message += "<span class='notice'>Temperature: [round(air.temperature()-T0C)] &deg;C ([round(air.temperature())] K)</span>"
message += "<span class='notice'>Volume: [round(volume)] Liters</span>"
message += "<span class='notice'>Pressure: [round(pressure, 0.1)] kPa</span>"
@@ -798,6 +801,7 @@ SLIME SCANNER
sleeping_agent += air.sleeping_agent()
agent_b += air.agent_b()
hydrogen += air.hydrogen()
water_vapor += air.water_vapor()
var/temperature = heat_capacity ? thermal_energy / heat_capacity : 0
pressure = volume ? total_moles * R_IDEAL_GAS_EQUATION * temperature / volume : 0
@@ -818,6 +822,8 @@ SLIME SCANNER
message += " <span class='agent_b'>Agent B: [round(agent_b, 0.01)] moles ([round(agent_b / total_moles * 100, 0.01)] %)</span>"
if(hydrogen && (milla_turf_details || hydrogen / total_moles > 0.01))
message += " <span class='hydrogen'>Hydrogen: [round(hydrogen, 0.01)] moles ([round(hydrogen / total_moles * 100, 0.01)] %)</span>"
if(water_vapor && (milla_turf_details || (water_vapor / total_moles > 0.01)))
message += " <span class='water_vapor'>Water Vapor: [round(water_vapor, 0.01)] moles ([round(water_vapor / total_moles * 100, 0.01)] %)</span>"
message += "<span class='notice'>Temperature: [round(temperature-T0C)] &deg;C ([round(temperature)] K)</span>"
message += "<span class='notice'>Volume: [round(volume)] Liters</span>"
message += "<span class='notice'>Pressure: [round(pressure, 0.1)] kPa</span>"
+5 -3
View File
@@ -133,9 +133,11 @@
D-3: About 250 moles of CO2 are released by the crystal</br></br></br>
C Class: Events with mild effects to standard setups. Operator intervention MAY be required. Engineering will be alerted on telecomms.</br></br>
C-1: 250 moles of oxygen are released by the crystal</br>
C-2: 250 moles of plasma are released by the crystal</br>
C-3: The temperature at which the engine starts to lose integrity is lowered for a few minutes.</br></br></br>
C-1: 2000 moles of oxygen are released by the crystal</br>
C-2: 2000 moles of plasma are released by the crystal</br>
C-3: The temperature at which the engine starts to lose integrity is lowered for a few minutes.
C-4: 2000 moles of hydrogen are released by the crystal.
C-5: 2000 moles of water vapor are released by the crystal.</br></br></br>
B Class: Events with significant effects to standard setups. Action may need to be taken to prevent a delamination event.</br></br>
B-1: The amount of plasma and O2 released by the engine is doubled for a few minutes.</br>