Skip to content

Adding Air Alarm Variants - #5542

Merged
Rinary1 merged 14 commits into
ss14Starlight:starlight-devfrom
Omegalucky:air-alarm-variants
Aug 16, 2026
Merged

Adding Air Alarm Variants#5542
Rinary1 merged 14 commits into
ss14Starlight:starlight-devfrom
Omegalucky:air-alarm-variants

Conversation

@Omegalucky

@Omegalucky Omegalucky commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Short description

Adding chamber, chamber unlocked, and sauna variants of air alarms for mappers to use in the appropriate areas. Matching sensors, scrubbers and vents have been added which carry the same thresholds as the related air alarm. Both of these variants will no longer report back to the Atmospheric Alerts console due to them not being used for station atmosphere.

Also updates all air alarm variants names so they now reflect their function and will convey that to players in-game.

Why we need to add this

Variants added to support room types with non-standard room conditions, and to prevent them from creating false positive air alarms.

Intended Usage:
Chamber - Gas and burn chambers in Atmos.
ChamberUnlocked - Artifact chambers, Xenobiology, and Virology.
Sauna - Saunas or any rooms with water vapour in it as standard.

Media (Video/Screenshots)

image

Checks

  • I do not require assistance to complete the PR.
  • Before posting/requesting review of a PR, I have verified that the changes work.
  • I have added screenshots/videos of the changes, or this PR does not change in-game mechanics.
  • I affirm that my changes are licensed under the MIT License and grant permission for use in this repository under its conditions.

Changelog

🆑 OMEGA

  • add: Air alarm variants for Chamber, ChamberUnlocked, and Sauna for mapping use.
  • add: Scrubber and vent variants for Chamber, ChamberUnlocked, and Sauna for mapping use.
  • tweak: Changed all air alarm variants to reflect their function.

@Omegalucky
Omegalucky requested a review from a team August 6, 2026 13:14
@github-actions github-actions Bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M Changes: No C# Changes: Prototypes S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. labels Aug 6, 2026
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Summary

Adds chamber and sauna air alarm variants for non-station atmosphere areas.

  • Adds matching sensors, gas vents, gas scrubbers, and alternate pipe-layer variants.
  • Adds chamber pressure, sauna oxygen, sauna nitrogen, and sauna temperature thresholds.
  • Excludes water vapor from sauna sensor and scrubber behavior.
  • Disables automatic mode for the new air alarms.
  • Excludes the new air alarms from Atmospheric Alerts console queries.
  • Updates AirAlarmUnlocked with a disabled access reader and description.
  • Corrects device address prefixes for sensors, vents, and scrubbers.
  • Keeps chamber scrubbers disabled by default.

User impact

Mappers can place dedicated atmosphere equipment in chamber and sauna areas. These areas do not create false-positive Atmospheric Alerts console reports.

Notable file changes

  • Resources/Prototypes/_Starlight/Atmospherics/Thresholds/airalarms.yml
    • Adds chamber pressure and sauna gas and temperature thresholds.
  • Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/chamber.yml
    • Adds chamber sensors, vents, scrubbers, and alternate pipe-layer variants.
  • Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/sauna.yml
    • Adds sauna sensors, vents, scrubbers, and alternate pipe-layer variants.
  • Resources/Prototypes/_Starlight/Entities/Structures/Wallmounts/WallmountMachines/air_alarm.yml
    • Adds chamber alarm variants and updates AirAlarmUnlocked.
  • Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml
    • Defines the sensor device network prefix locally.
  • Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml
    • Moves the device network prefix from AirSensorBase to AirSensor.

Risk areas

  • Prototype inheritance may produce incorrect sensor, vent, or scrubber behavior.
  • Threshold exclusions may hide valid atmosphere problems if applied to the wrong variant.
  • Disabled scrubbers may require explicit mapper configuration.
  • Pipe-layer variants may cause map connectivity errors.
  • Device address prefix changes may affect network discovery or duplicate addresses.
  • The available PR context provides no test or validation results.

Guideline gaps

  • The PR does not state whether Shared-first placement was considered.
  • The PR does not include Starlight ownership comments.
  • The PR does not provide explanatory documentation for the new variants.
  • The PR does not mention localization changes or confirm that existing localization is sufficient.
  • The PR does not provide validation evidence.
  • The PR does not include changelog information or confirm the required changelog format.

Walkthrough

Added chamber and sauna atmospheric prototypes. Chamber sensors monitor chamber pressure. Sauna sensors use dedicated temperature and gas thresholds and exclude water vapor. New vents, scrubbers, and air alarms include alternate pipe layers and specialized settings. Sensor network prefixes now apply directly to concrete sensor prototypes.

Changes

Atmospherics prototype configuration

Layer / File(s) Summary
Sensor thresholds and monitoring
Resources/Prototypes/_Starlight/Atmospherics/Thresholds/airalarms.yml, Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml, Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml, Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/chamber.yml, Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/sauna.yml
Added chamber pressure, sauna oxygen, sauna nitrogen, and sauna temperature thresholds. Added chamber sensors with pressure-only monitoring. Added sauna sensors that exclude WaterVapor. Assigned sensor network prefixes to AirSensor and GasPipeSensor.
Chamber equipment and alarms
Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/chamber.yml, Resources/Prototypes/_Starlight/Entities/Structures/Wallmounts/WallmountMachines/air_alarm.yml
Added chamber vents, scrubbers, and air alarms with alternate pipe layers. Chamber alarms disable automatic mode and alert-console grouping. AirAlarmUnlocked disables its access reader.
Sauna equipment and alarms
Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/sauna.yml
Added sauna vents, scrubbers, and an air alarm. Sauna scrubbers exclude WaterVapor. The sauna alarm disables automatic mode and alert-console grouping.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant AirSensor
  participant Atmospherics
  participant AirAlarm
  participant AlertConsole
  AirSensor->>Atmospherics: monitor configured thresholds
  Atmospherics->>AirAlarm: provide atmospheric readings
  AirAlarm->>AlertConsole: report eligible alarm state
Loading

Possibly related PRs

Suggested labels: T: New Content

Suggested reviewers: redmushie, rinary1

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly summarizes the primary change: adding air alarm variants.
Description check ✅ Passed The description directly explains the added air alarm variants, matching atmospheric devices, thresholds, and intended mapping use.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/chamber.yml`:
- Around line 40-43: Replace every literal player-facing description in
Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/chamber.yml
lines 40-121, sauna.yml lines 38-151, and WallmountMachines/air_alarm.yml lines
8-32 with localization keys, reusing keys for identical descriptions. Add
matching Fluent entries for the chamber sensor, vent, scrubber, sauna sensor,
vent, scrubber, alarm, and unlocked/chamber air-alarm descriptions.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 36ece13a-3217-42bc-8414-aeb5ca61520f

📥 Commits

Reviewing files that changed from the base of the PR and between 05eb5d7 and 2f39e0c.

📒 Files selected for processing (4)
  • Resources/Prototypes/_Starlight/Atmospherics/Thresholds/airalarms.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/chamber.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/sauna.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Wallmounts/WallmountMachines/air_alarm.yml

@Omegalucky
Omegalucky requested a review from redmushie August 6, 2026 13:33
@Omegalucky

Copy link
Copy Markdown
Contributor Author

Added chamber warn and alarm thresholds per feedback from Caws

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml`:
- Around line 60-62: Replace the single Starlight-edit marker with
Starlight-start before the DeviceNetwork component and Starlight-end after its
prefix in
Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml lines
60-62. Apply the same start and end markers around the DeviceNetwork block in
Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml
lines 9-11.
- Around line 9-11: Restore device-address-prefix-sensor for sensor-only
descendants of AirSensorBase, including AirSensorFreezerBase,
AirSensorChamberBase, AirSensorSaunaBase, and AirSensorVoxBase, so they retain
sensor-prefixed addresses. Do not add the prefix to vent or scrubber descendants
that intentionally use only AtmosDevices.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 583276bc-00eb-4e75-9b48-91960e87b777

📥 Commits

Reviewing files that changed from the base of the PR and between ba2a0b4 and 4a9433e.

📒 Files selected for processing (4)
  • Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml
  • Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/chamber.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/sauna.yml
🚧 Files skipped from review as they are similar to previous changes (2)
  • Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/chamber.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Specific/Atmospherics/sauna.yml

Comment thread Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml Outdated
Comment thread Resources/Prototypes/Entities/Structures/Specific/Atmospherics/sensor.yml Outdated
@Omegalucky

Copy link
Copy Markdown
Contributor Author

Fix added in '4a9433e' to correct scrubbers and vents not having the correct prefix, this will impact all variants. Which previously were using incorrect prefixes. Thanks to @Ohelig for calling it out.

@Omegalucky

Copy link
Copy Markdown
Contributor Author

Changed Sauna variants oxygen and nitrogen alerts to account for water vapour occupying up to 30% of the total gas mix present before it will alert.

@Omegalucky Omegalucky closed this Aug 7, 2026
@Omegalucky Omegalucky reopened this Aug 7, 2026
@starlightgithub starlightgithub Bot added S: Approved Status: Reviewed and approved by at least one maintainer or dev; a PR may require another approval. and removed S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. labels Aug 16, 2026
@Rinary1
Rinary1 added this pull request to the merge queue Aug 16, 2026
Merged via the queue into ss14Starlight:starlight-dev with commit 97e4909 Aug 16, 2026
29 checks passed
starlightgithub Bot added a commit that referenced this pull request Aug 16, 2026
@CawsForConcern CawsForConcern mentioned this pull request Aug 21, 2026
4 tasks
RedSpeeds pushed a commit to RedSpeeds/space-station-14 that referenced this pull request Aug 28, 2026
## Short description
<!-- What do you propose to change with your PR? -->
Bugfixes and community suggestions. See changelog.

This PR also does a few not-strictly-Lobster-related-things:
- Fixes the `name` of the cold weather air alarm. It got set to be
obscenely long in ss14Starlight#5542 and I've reverted that.
- Adds a fax machine for Botany, `FaxMachineServiceBotany`

## Why we need to add this
<!-- What is the reason for adding these changes? Please post links to
Discussions as well as Bug Reports here. Please describe how this will
change the game balance. -->
- Bugfixes are good
- Implementing community feedback is good

## Media (Video/Screenshots)
<!--
If your PR contains in-game changes you must provide screenshots/videos
of the changes.
-->
<img width="1278" height="998" alt="image"
src="https://github.com/user-attachments/assets/1afb23ba-cf36-45a6-bee3-7ff4e891e84e"
/>

fig. 1 - Box shelving. I won't show every location this has been added
to, you get the idea. I've left some boxes off the shelf intentionally
to 'teach' players that boxes and shelves are interactable.

<img width="1044" height="697" alt="image"
src="https://github.com/user-attachments/assets/7935e567-8144-4dcf-bf4c-d084e1379eb3"
/>

fig. 2 - Fax for Engineering.

<img width="1157" height="990" alt="image"
src="https://github.com/user-attachments/assets/8ceadf6a-3196-4caf-8aba-706d888916c7"
/>

fig. 3 - More box shelving. I moved the materials silo closer to
Materials, and I moved the lathe out to Engineering front.

<img width="1279" height="981" alt="image"
src="https://github.com/user-attachments/assets/3a2695e7-1f5f-4187-affc-5bf77aa51b92"
/>

fig. 4 - Meteor protection for Science. I forgor originally.

<img width="1235" height="996" alt="image"
src="https://github.com/user-attachments/assets/de137574-dfd0-48c0-bda5-f06d5a09ca4d"
/>

fig. 5 - HyDrobe for Botany. I forgor.

<img width="1262" height="984" alt="image"
src="https://github.com/user-attachments/assets/638e57e5-462d-45e2-a0fb-6027339ad4c0"
/>

fig. 6 - Mailing unit for Brigmedic. Also seen in the bottom left is one
of the new TVs, this one being in the SEC break room.

<img width="1270" height="986" alt="image"
src="https://github.com/user-attachments/assets/fb8b05e5-5dd0-4143-a48b-f7b4737f15fb"
/>

fig. 7 - Box shelving of guidebooks for Librarian.

<img width="1285" height="998" alt="image"
src="https://github.com/user-attachments/assets/c7af9f36-8b7d-4476-a01c-a71e96bda786"
/>

fig. 8 - Surgical observation has been tweaked. Its maints door is now
properly Surgery-only access.

## Checks
<!-- check boxes for faster reviewing of your PR -->

- [x] I do not require assistance to complete the PR.
- [x] Before posting/requesting review of a PR, I have verified that the
changes work.
- [x] I have added screenshots/videos of the changes, or this PR does
not change in-game mechanics.
- [x] I affirm that my changes are licensed under the [MIT
License](https://github.com/ss14Starlight/space-station-14/blob/Starlight/LICENSE.TXT)
and grant permission for use in this repository under its conditions.

**Changelog**
<!--
If you want the players to know about changes made in this PR, specify
them using the template outside the comment. Short and informative.

:cl: STARLIGHT TEAM
- add: Added Starlight.
- remove: Removed SS13.
- tweak: Changed SS14.
- fix: Fixed Rinary.
-->
:cl: Caws
- add: (Novo Lobster) Added box shelving around the map, featuring
various useful supplies.
- add: (Novo Lobster) Fax machine added to Engineering front.
- add: (Novo LObster) Fax machine added to Botany.
- add: (Novo Lobster) Added missing Funding Allocation computers.
- add: (Novo Lobster) Added meteor protection for Science.
- add: (Novo Lobster) Added a HyDrobe to Botany.
- add: (Novo Lobster) Added emergency lighting to various indoor
locations.
- add: (Novo Lobster) Added more televisions around the station.
- add: (Novo Lobster) Updated pet beds with the new variants.
- add: (Novo Lobster) Added a microwave by the 'donut' part of the
kitchen, and a deep fryer by the 'general' part of the kitchen.
- add: (Novo Lobster) Added a mailing unit to Brigmedic.
- add: (Novo Lobster) Added boxes of office supplies and guidebooks to
Librarian.
- tweak: (Novo Lobster) Surgery's observation area has been updated so
that Medical personnel can't sneak into Surgery without Surgery access.
- tweak: (Novo Lobster) Engineering's techfab is now by Engineering
front and their material silo is now by Materials.
- fix: (Novo Lobster) An unpowered keycard auth. device and holopad in
Conference have been fixed.
- fix: (Novo Lobster) The wall medical vending machine by HOP is now a
civilian instead of departmental.
- fix: (Novo Lobster) Fixed an overlapping fuel tank and vending machine
in the Park's maints.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changes: No C# Changes: Prototypes S: Approved Status: Reviewed and approved by at least one maintainer or dev; a PR may require another approval. S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants