Gas pipe sensors (#33128)

* Initial commit

* Monitored pipe node is now referenced by name

* Review changes

* Simplified construction

* Tweaked deconstruction to match other binary atmos devices

* Helper function removal

* Updated attribution
This commit is contained in:
chromiumboy
2024-11-21 21:46:10 -06:00
committed by GitHub
parent 38c70d6c9b
commit 403528cbf3
11 changed files with 196 additions and 2 deletions

View File

@@ -0,0 +1,84 @@
- type: entity
parent: [AirSensorBase, GasPipeBase]
id: GasPipeSensor
name: gas pipe sensor
description: Reports on the status of the gas in the attached pipe network.
placement:
mode: SnapgridCenter
components:
- type: Sprite
sprite: Structures/Piping/Atmospherics/gas_pipe_sensor.rsi
drawdepth: BelowFloor
layers:
- sprite: Structures/Piping/Atmospherics/pipe.rsi
map: [ "enum.PipeVisualLayers.Pipe" ]
state: pipeStraight
- map: ["base"]
state: base
- map: [ "enum.PowerDeviceVisualLayers.Powered" ]
state: lights
shader: unshaded
- type: Appearance
- type: GenericVisualizer
visuals:
enum.PowerDeviceVisuals.Powered:
enum.PowerDeviceVisualLayers.Powered:
False: { state: blank }
True: { state: lights }
- type: AtmosMonitor
monitorsPipeNet: true
- type: ApcPowerReceiver
- type: ExtensionCableReceiver
- type: Construction
graph: GasPipeSensor
node: sensor
- type: NodeContainer
nodes:
monitored:
!type:PipeNode
nodeGroupID: Pipe
pipeDirection: Longitudinal
- type: Tag
tags:
- AirSensor
- Unstackable
- type: entity
parent: GasPipeSensor
id: GasPipeSensorDistribution
suffix: Distribution
components:
- type: Label
currentLabel: gas-pipe-sensor-distribution-loop
- type: entity
parent: GasPipeSensor
id: GasPipeSensorWaste
suffix: Waste
components:
- type: Label
currentLabel: gas-pipe-sensor-waste-loop
- type: entity
parent: GasPipeSensor
id: GasPipeSensorMixedAir
suffix: Mixed air
components:
- type: Label
currentLabel: gas-pipe-sensor-mixed-air
- type: entity
parent: GasPipeSensor
id: GasPipeSensorTEGHot
suffix: TEG hot
components:
- type: Label
currentLabel: gas-pipe-sensor-teg-hot-loop
- type: entity
parent: GasPipeSensor
id: GasPipeSensorTEGCold
suffix: TEG cold
components:
- type: Label
currentLabel: gas-pipe-sensor-teg-cold-loop

View File

@@ -0,0 +1,29 @@
- type: constructionGraph
id: GasPipeSensor
start: start
graph:
- node: start
edges:
- to: sensor
steps:
- material: Steel
amount: 2
doAfter: 1
- node: sensor
entity: GasPipeSensor
actions:
- !type:SetAnchor
edges:
- to: start
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 2
- !type:DeleteEntity
conditions:
- !type:EntityAnchored
anchored: false
steps:
- tool: Welding
doAfter: 1

View File

@@ -366,6 +366,21 @@
objectType: Structure
canRotate: true
- type: construction
name: gas pipe sensor
id: GasPipeSensor
graph: GasPipeSensor
startNode: start
targetNode: sensor
category: construction-category-structures
description: Reports on the status of the gas within the attached pipe network.
icon:
sprite: Structures/Piping/Atmospherics/gas_pipe_sensor.rsi
state: icon
placementMode: SnapgridCenter
objectType: Structure
canRotate: true
# ATMOS PIPES
- type: construction
name: gas pipe half