Files
SyncIt21 27e868a3da Refactors how air sensors & atmos monitors connect (#92849)
## About The Pull Request
**1. Qol**
- Air sensors(maploaded & hand crafted) now auto connect to any input
ports & output valves that are within a 4 tile radius from it meaning
there is no need for these ports to have unique IDs attached to them &
you don't need a multitool to link them together if you first placed
those ports & then placed the air sensor close to them
- Atmos control monitors now finds all air sensors that are closest to
it within the same z level meaning you can have/place multiple air
sensors of the same type on the same z level & the monitor will locate
them correctly without any ambiguity

**2. Refactor**
- Removed var `chamber_id` from both injectors & vents meaning you don't
need to have unique ids assigned to them. As long as mappers/players put
them within 4 tile radius from the air sensor it will auto connect to
them
- Removed var `GLOB.map_loaded_sensors`

## Changelog
🆑
qol: hand crafted air sensors now auto connect to input & output ports
if they are located within a 4 tile radius from it
qol: atmos control monitors now locate all air sensors nearest to in on
that same z level meaning you can have multiple air sensors of the same
type on the same map
refactor: refactored how air sensors & atmos monitors connect to each
other. Please report any atmos computers that have missing input
valves/output ports on their connected air sensors or those that don't
list any air sensors at all on github
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-09-10 01:06:36 -07:00

66 lines
2.9 KiB
Plaintext

// ATMOSIA GAS MONITOR SUITE TAGS
// Things that use these include atmos control monitors, sensors, inputs, and outlets.
// They last three adds _sensor, _in, and _out respectively to the id_tag variable.
// Don't put underscores here, we use them as delimiters.
#define ATMOS_GAS_MONITOR_O2 GAS_O2
#define ATMOS_GAS_MONITOR_PLAS GAS_PLASMA
#define ATMOS_GAS_MONITOR_AIR GAS_AIR
#define ATMOS_GAS_MONITOR_MIX "mix"
#define ATMOS_GAS_MONITOR_N2O GAS_N2O
#define ATMOS_GAS_MONITOR_N2 GAS_N2
#define ATMOS_GAS_MONITOR_CO2 GAS_CO2
#define ATMOS_GAS_MONITOR_BZ GAS_BZ
#define ATMOS_GAS_MONITOR_FREON GAS_FREON
#define ATMOS_GAS_MONITOR_HALON GAS_HALON
#define ATMOS_GAS_MONITOR_HEALIUM GAS_HEALIUM
#define ATMOS_GAS_MONITOR_H2 GAS_HYDROGEN
#define ATMOS_GAS_MONITOR_HYPERNOBLIUM GAS_HYPER_NOBLIUM
#define ATMOS_GAS_MONITOR_MIASMA GAS_MIASMA
#define ATMOS_GAS_MONITOR_NITRIUM GAS_NITRIUM
#define ATMOS_GAS_MONITOR_PLUOXIUM GAS_PLUOXIUM
#define ATMOS_GAS_MONITOR_PROTO_NITRATE GAS_PROTO_NITRATE
#define ATMOS_GAS_MONITOR_TRITIUM GAS_TRITIUM
#define ATMOS_GAS_MONITOR_H2O GAS_WATER_VAPOR
#define ATMOS_GAS_MONITOR_ZAUKER GAS_ZAUKER
#define ATMOS_GAS_MONITOR_HELIUM GAS_HEALIUM
#define ATMOS_GAS_MONITOR_ANTINOBLIUM GAS_ANTINOBLIUM
#define ATMOS_GAS_MONITOR_INCINERATOR "incinerator"
#define ATMOS_GAS_MONITOR_ORDNANCE_BURN "ordnanceburn"
#define ATMOS_GAS_MONITOR_ORDNANCE_FREEZER "ordnancefreezer"
#define ATMOS_GAS_MONITOR_DISTRO "distro"
#define ATMOS_GAS_MONITOR_WASTE "waste"
#define ATMOS_GAS_MONITOR_ENGINE "engine"
// Human-readble names of these funny tags.
GLOBAL_LIST_INIT(station_gas_chambers, list(
ATMOS_GAS_MONITOR_O2 = "Oxygen Supply",
ATMOS_GAS_MONITOR_PLAS = "Plasma Supply",
ATMOS_GAS_MONITOR_AIR = "Mixed Air Supply",
ATMOS_GAS_MONITOR_N2O = "Nitrous Oxide Supply",
ATMOS_GAS_MONITOR_N2 = "Nitrogen Supply",
ATMOS_GAS_MONITOR_CO2 = "Carbon Dioxide Supply",
ATMOS_GAS_MONITOR_BZ = "BZ Supply",
ATMOS_GAS_MONITOR_FREON = "Freon Supply",
ATMOS_GAS_MONITOR_HALON = "Halon Supply",
ATMOS_GAS_MONITOR_HEALIUM = "Healium Supply",
ATMOS_GAS_MONITOR_H2 = "Hydrogen Supply",
ATMOS_GAS_MONITOR_HYPERNOBLIUM = "Hypernoblium Supply",
ATMOS_GAS_MONITOR_MIASMA = "Miasma Supply",
ATMOS_GAS_MONITOR_NITRIUM = "Nitrium Supply",
ATMOS_GAS_MONITOR_PLUOXIUM = "Pluoxium Supply",
ATMOS_GAS_MONITOR_PROTO_NITRATE = "Proto-Nitrate Supply",
ATMOS_GAS_MONITOR_TRITIUM = "Tritium Supply",
ATMOS_GAS_MONITOR_H2O = "Water Vapor Supply",
ATMOS_GAS_MONITOR_ZAUKER = "Zauker Supply",
ATMOS_GAS_MONITOR_HELIUM = "Helium Supply",
ATMOS_GAS_MONITOR_ANTINOBLIUM = "Antinoblium Supply",
ATMOS_GAS_MONITOR_MIX = "Mix Chamber",
ATMOS_GAS_MONITOR_INCINERATOR = "Incinerator Chamber",
ATMOS_GAS_MONITOR_ORDNANCE_BURN = "Ordnance Burn Chamber",
ATMOS_GAS_MONITOR_ORDNANCE_FREEZER = "Ordnance Freezer Chamber",
ATMOS_GAS_MONITOR_DISTRO = "Distribution Loop",
ATMOS_GAS_MONITOR_WASTE = "Waste Loop",
ATMOS_GAS_MONITOR_ENGINE = "Supermatter Engine Chamber",
))