Adds fire/air alarms (#5018)

Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: E F R <602406+Efruit@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Flipp Syder
2022-01-01 20:56:24 -08:00
committed by GitHub
parent 903f796b0f
commit b1584793bf
71 changed files with 4340 additions and 29 deletions

View File

@@ -0,0 +1,23 @@
- type: entity
id: AirAlarmElectronics
parent: BaseItem
name: air alarm electronics
components:
- type: Tag
tags:
- AirAlarmElectronics
- type: Sprite
sprite: Objects/Misc/module.rsi
state: door_electronics
- type: entity
id: FireAlarmElectronics
parent: BaseItem
name: fire alarm electronics
components:
- type: Tag
tags:
- FireAlarmElectronics
- type: Sprite
sprite: Objects/Misc/module.rsi
state: door_electronics

View File

@@ -4,6 +4,16 @@
name: firelock
description: Apply crowbar.
components:
- type: AtmosAlarmable
alarmedBy:
- FireAlarm
- AirAlarm
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: DeviceNetworkComponent
deviceNetId: Apc
frequency: 1621
- type: ApcNetworkConnection
- type: InteractionOutline
- type: Damageable
damageContainer: Inorganic

View File

@@ -21,6 +21,15 @@
placement:
mode: SnapgridCenter
components:
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: DeviceNetworkComponent
deviceNetId: Apc
frequency: 1621
- type: ApcNetworkConnection
- type: AtmosAlarmable
alarmedBy:
- AirAlarm
- type: Sprite
netsync: false
drawdepth: FloorObjects
@@ -73,6 +82,15 @@
placement:
mode: SnapgridCenter
components:
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: DeviceNetworkComponent
deviceNetId: Apc
frequency: 1621
- type: ApcNetworkConnection
- type: AtmosAlarmable
alarmedBy:
- AirAlarm
- type: Sprite
netsync: false
drawdepth: FloorObjects

View File

@@ -0,0 +1,90 @@
- type: entity
id: AirAlarm
name: air alarm
description: An air alarm. Alarms... air?
components:
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: DeviceNetworkComponent
deviceNetId: Apc
frequency: 1621
- type: ApcNetworkConnection
- type: AtmosMonitor
temperatureThreshold: stationTemperature
pressureThreshold: stationPressure
gasThresholds:
Oxygen: stationOxygen
Nitrogen: ignore
CarbonDioxide: stationCO2
Plasma: danger # everything below is usually bad
Tritium: danger
WaterVapor: danger
- type: AtmosAlarmable
alarmedBy: ["AirAlarm"]
- type: AtmosDevice
- type: AirAlarm
- type: Clickable
- type: InteractionOutline
- type: UserInterface
interfaces:
- key: enum.SharedAirAlarmInterfaceKey.Key
type: AirAlarmBoundUserInterface
- key: enum.WiresUiKey.Key
type: WiresBoundUserInterface
- type: Wires
BoardName: "Air Alarm"
LayoutId: AirAlarm
- type: Physics
- type: Fixtures
fixtures:
- shape:
!type:PhysShapeAabb
bounds: "-0.25,-0.25,0.3,0.25"
layer: [ Passable ]
- type: AccessReader
access: [["Engineering"]]
- type: Appearance
visuals:
- type: AtmosMonitorVisualizer
layerMap: "airAlarmBase"
alarmStates:
Normal: alarm0
Warning: alarm2
Danger: alarm1
setOnDepowered:
airAlarmBase: alarmp
- type: WiresVisualizer
- type: Sprite
sprite: Structures/Wallmounts/air_monitors.rsi
layers:
- state: alarm0
map: ["airAlarmBase"] # TODO: fire alarm enum
- state: alarmx
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: Transform
anchored: true
- type: Construction
graph: air_alarm
node: air_alarm
placement:
mode: SnapgridCenter
snap:
- Wallmount
- type: entity
id: AirAlarmAssembly
name: air alarm assembly
description: An air alarm. Doesn't look like it'll be alarming air any time soon.
components:
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Structures/Wallmounts/air_monitors.rsi
state: alarm_b1
- type: Construction
graph: air_alarm
node: assembly
placement:
mode: SnapgridCenter
snap:
- Wallmount

View File

@@ -0,0 +1,73 @@
- type: entity
id: FireAlarm
name: fire alarm
description: A fire alarm. Spicy!
components:
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: DeviceNetworkComponent
deviceNetId: Apc
frequency: 1621
- type: ApcNetworkConnection
- type: AtmosMonitor
monitorFire: true
displayMaxAlarmInNet: true
- type: AtmosDevice
- type: AtmosAlarmable
alarmedBy: ["FireAlarm"] # alarm itself, network effect
- type: Clickable
- type: InteractionOutline
- type: FireAlarm
- type: Appearance
visuals:
- type: AtmosMonitorVisualizer
layerMap: "fireAlarmState"
alarmStates:
Normal: fire_off
Warning: fire_off # shouldn't be alarming at a warning
Danger: fire_on
hideOnDepowered: ["fireAlarmState"]
- type: WiresVisualizer
- type: UserInterface
interfaces:
- key: enum.WiresUiKey.Key
type: WiresBoundUserInterface
- type: Wires
BoardName: "Fire Alarm"
LayoutId: FireAlarm
- type: Sprite
sprite: Structures/Wallmounts/air_monitors.rsi
layers:
- state: fire0
map: ["fireAlarmBase"]
- state: fire_off
map: ["fireAlarmState"]
- state: fire_b2
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: Transform
anchored: true
- type: Construction
graph: fire_alarm
node: fire_alarm
placement:
mode: SnapgridCenter
snap:
- Wallmount
- type: entity
id: FireAlarmAssembly
name: fire alarm assembly
description: A fire alarm assembly. Very mild.
components:
- type: Clickable
- type: InteractionOutline
- type: Sprite
sprite: Structures/Wallmounts/air_monitors.rsi
state: fire_b1
- type: Construction
graph: fire_alarm
node: assembly
placement:
mode: SnapgridCenter
snap:
- Wallmount