Files
Bubberstation/code/datums/wires
vincentiusvin af4333bc47 Refactor air alarm TLV and modes. (#72315)
## About The Pull Request
#65902 but with a lot of fat trimmed.
Ditched the lazy initialization thing since the memory gains isn't worth
the increased code complexity.
Ditched the vent bitflag changes, that will come in the future maybe.
Ditched the thermomachine and alarm resubtyping. Will also maybe come in
the future.

Added the operating mode datums so we can reduce the amount of code in
the main air alarm page. The datums lets us write tidier code too.

Scope is much much more limited than the old PR. The diffs are mostly
just me splitting and moving the files around. Things to pay attention
to are:
- `_air_alarm.dm`'s UI procs and things that deals with TLV and modes.
- `air_alarm_variants.dm`'s coldroom and server room numbers
- `air_alarm_thresholds.dm`
- `air_alarm_modes.dm`

Smaller changes on:
- `air_alarm_interact.dm` should be untouched except for one select_mode
call.
- `air_alarm_circuit.dm`'s also untouched except the part that deals
with TLV and modes
- `wires/air_alarm.dm`'s also untouched except for the panic siphon
wire.

<details>
<summary>Images</summary>
<img
src="https://user-images.githubusercontent.com/54709710/209765698-47bd2564-cc6a-4829-9418-97d8814d9f7a.png"/>
<img
src="https://user-images.githubusercontent.com/54709710/209765764-7f59fa2d-66ad-4bc6-8687-a1024898823c.png"/>
<img
src="https://user-images.githubusercontent.com/54709710/210332278-17d286fe-6d78-44f2-ac6f-77deb0dac92e.png"/>
</details>

## Why It's Good For The Game
Cleaner code for the backend, static typing for the frontend, bugfixes.
New UI for the threshold thing.

## Changelog
🆑
qol: made the threshold page of air alarm use colloquial terms instead
of code terms. Added reset and disable buttons.
qol: Air alarm's gas breakdown now displays the moles, percentage, and
partial pressure.
fix: operating mode selection in air alarm will be red if the selected
mode is dangerous.
fix: fixed the area atmosphere alarm button on air alarm not working.
code: told the game that hyper nob isn't dangerous.
refactor: refactored the threshold values and operating mode of air
alarms in the backend. No changes expected except the ones stated above.
/🆑

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-01-06 12:31:17 -08:00
..