# SURVEILLANCE
- type: construction
  id: camera
  graph: SurveillanceCamera
  startNode: start
  targetNode: camera
  category: construction-category-utilities
  objectType: Structure
  placementMode: SnapgridCenter

- type: construction
  id: WallmountTelescreen
  graph: WallmountTelescreen
  startNode: start
  targetNode: Telescreen
  category: construction-category-utilities
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: true

- type: construction
  id: StationMap
  graph: StationMap
  startNode: start
  targetNode: station_map
  category: construction-category-structures
  placementMode: SnapgridCenter
  objectType: Structure
  canRotate: true
  canBuildInImpassable: true
  conditions:
  - !type:WallmountCondition {}

# POWER
- type: construction
  id: APC
  graph: APC
  startNode: start
  targetNode: apc
  category: construction-category-utilities
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: true

- type: construction
  id: CableTerminal
  graph: CableTerminal
  startNode: start
  targetNode: cable_terminal
  category: construction-category-utilities
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: WallmountSubstation
  graph: WallmountSubstation
  startNode: start
  targetNode: substation
  category: construction-category-utilities
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: true

- type: construction
  id: WallmountGenerator
  graph: WallmountGenerator
  startNode: start
  targetNode: generator
  category: construction-category-utilities
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: true

- type: construction
  id: WallmountGeneratorAPU
  graph: WallmountGenerator
  startNode: start
  targetNode: APU
  category: construction-category-utilities
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: true

# DISPOSALS
- type: construction
  id: DisposalUnit
  graph: DisposalMachine
  startNode: start
  targetNode: disposal_unit
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: MailingUnit
  graph: DisposalMachine
  startNode: start
  targetNode: mailing_unit
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: DisposalPipe
  graph: DisposalPipe
  startNode: start
  targetNode: pipe
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: DisposalTagger
  graph: DisposalPipe
  startNode: start
  targetNode: tagger
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: DisposalSignaller
  graph: DisposalPipe
  startNode: start
  targetNode: signaller
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: DisposalTrunk
  graph: DisposalPipe
  startNode: start
  targetNode: trunk
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: DisposalRouter
  graph: DisposalPipe
  startNode: start
  targetNode: router
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: DisposalRouterFlipped

- type: construction
  hide: true
  id: DisposalRouterFlipped
  graph: DisposalPipe
  startNode: start
  targetNode: routerflipped
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: DisposalRouter

- type: construction
  id: DisposalSignalRouter
  graph: DisposalPipe
  startNode: start
  targetNode: signal_router
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: DisposalSignalRouterFlipped

- type: construction
  hide: true
  id: DisposalSignalRouterFlipped
  graph: DisposalPipe
  startNode: start
  targetNode: signal_router_flipped
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: DisposalSignalRouter

- type: construction
  id: DisposalJunction
  graph: DisposalPipe
  startNode: start
  targetNode: junction
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: DisposalJunctionFlipped

- type: construction
  hide: true
  id: DisposalJunctionFlipped
  graph: DisposalPipe
  startNode: start
  targetNode: junctionflipped
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: DisposalJunction

- type: construction
  id: DisposalYJunction
  graph: DisposalPipe
  startNode: start
  targetNode: yJunction
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: DisposalXJunction
  graph: DisposalPipe
  startNode: start
  targetNode: xJunction
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: DisposalBend
  graph: DisposalPipe
  startNode: start
  targetNode: bend
  category: construction-category-utilities
  placementMode: SnapgridCenter
  canBuildInImpassable: false

# ATMOS
- type: construction
  id: AirAlarmFixture
  graph: AirAlarm
  startNode: start
  targetNode: air_alarm
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  objectType: Structure
  canRotate: true
  canBuildInImpassable: true
  conditions:
  - !type:WallmountCondition {}

- type: construction
  id: FireAlarm
  graph: FireAlarm
  startNode: start
  targetNode: fire_alarm
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  objectType: Structure
  canRotate: true
  canBuildInImpassable: true
  conditions:
  - !type:WallmountCondition {}

- type: construction
  id: AirSensor
  graph: AirSensor
  startNode: start
  targetNode: sensor
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  objectType: Structure
  canRotate: true

- type: construction
  id: GasPipeSensor
  graph: GasPipeSensor
  startNode: start
  targetNode: sensor
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  objectType: Structure
  canRotate: true
  alternativePrototypes:
  - GasPipeSensor
  - GasPipeSensorAlt1
  - GasPipeSensorAlt2

- type: construction
  id: GasPipeSensorAlt1
  hide: true
  graph: GasPipeSensor
  startNode: start
  targetNode: sensorAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  objectType: Structure
  canRotate: true
  alternativePrototypes:
  - GasPipeSensor
  - GasPipeSensorAlt1
  - GasPipeSensorAlt2

- type: construction
  id: GasPipeSensorAlt2
  hide: true
  graph: GasPipeSensor
  startNode: start
  targetNode: sensorAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  objectType: Structure
  canRotate: true
  alternativePrototypes:
  - GasPipeSensor
  - GasPipeSensorAlt1
  - GasPipeSensorAlt2

# ATMOS PIPES
- type: construction
  id: GasPipeHalf
  name: construction-recipe-gas-pipe-half
  graph: GasPipe
  startNode: start
  targetNode: half
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeHalf
  - GasPipeHalfAlt1
  - GasPipeHalfAlt2

- type: construction
  id: GasPipeHalfAlt1
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: halfAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeHalf
  - GasPipeHalfAlt1
  - GasPipeHalfAlt2

- type: construction
  id: GasPipeHalfAlt2
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: halfAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeHalf
  - GasPipeHalfAlt1
  - GasPipeHalfAlt2

- type: construction
  id: GasPipeStraight
  graph: GasPipe
  startNode: start
  targetNode: straight
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeStraight
  - GasPipeStraightAlt1
  - GasPipeStraightAlt2

- type: construction
  id: GasPipeStraightAlt1
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: straightAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeStraight
  - GasPipeStraightAlt1
  - GasPipeStraightAlt2

- type: construction
  id: GasPipeStraightAlt2
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: straightAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeStraight
  - GasPipeStraightAlt1
  - GasPipeStraightAlt2

- type: construction
  id: GasPipeBend
  name: construction-recipe-gas-pipe-bend
  graph: GasPipe
  startNode: start
  targetNode: bend
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeBend
  - GasPipeBendAlt1
  - GasPipeBendAlt2

- type: construction
  id: GasPipeBendAlt1
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: bendAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeBend
  - GasPipeBendAlt1
  - GasPipeBendAlt2

- type: construction
  id: GasPipeBendAlt2
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: bendAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeBend
  - GasPipeBendAlt1
  - GasPipeBendAlt2

- type: construction
  id: GasPipeTJunction
  name: construction-recipe-gas-pipe-t-junction
  graph: GasPipe
  startNode: start
  targetNode: tjunction
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeTJunction
  - GasPipeTJunctionAlt1
  - GasPipeTJunctionAlt2

- type: construction
  id: GasPipeTJunctionAlt1
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: tjunctionAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeTJunction
  - GasPipeTJunctionAlt1
  - GasPipeTJunctionAlt2

- type: construction
  id: GasPipeTJunctionAlt2
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: tjunctionAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeTJunction
  - GasPipeTJunctionAlt1
  - GasPipeTJunctionAlt2

- type: construction
  id: GasPipeFourway
  name: construction-recipe-gas-pipe-fourway
  graph: GasPipe
  startNode: start
  targetNode: fourway
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeFourway
  - GasPipeFourwayAlt1
  - GasPipeFourwayAlt2

- type: construction
  id: GasPipeFourwayAlt1
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: fourwayAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeFourway
  - GasPipeFourwayAlt1
  - GasPipeFourwayAlt2

- type: construction
  id: GasPipeFourwayAlt2
  hide: true
  graph: GasPipe
  startNode: start
  targetNode: fourwayAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: true
  alternativePrototypes:
  - GasPipeFourway
  - GasPipeFourwayAlt1
  - GasPipeFourwayAlt2

- type: construction
  id: GasPipeManifold
  graph: GasPipe
  startNode: start
  targetNode: manifold
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: true

# ATMOS UNARY
- type: construction
  id: GasVentPump
  graph: GasUnary
  startNode: start
  targetNode: ventpump
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile

- type: construction
  id: GasPassiveVent
  graph: GasUnary
  startNode: start
  targetNode: passivevent
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile

- type: construction
  id: GasVentScrubber
  graph: GasUnary
  startNode: start
  targetNode: ventscrubber
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile

- type: construction
  id: GasOutletInjector
  graph: GasUnary
  startNode: start
  targetNode: outletinjector
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile

# ATMOS BINARY
- type: construction
  id: GasPressurePump
  graph: GasBinary
  startNode: start
  targetNode: pressurepump
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPressurePump
  - GasPressurePumpAlt1
  - GasPressurePumpAlt2

- type: construction
  id: GasPressurePumpAlt1
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: pressurepumpAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPressurePump
  - GasPressurePumpAlt1
  - GasPressurePumpAlt2

- type: construction
  id: GasPressurePumpAlt2
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: pressurepumpAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPressurePump
  - GasPressurePumpAlt1
  - GasPressurePumpAlt2

- type: construction
  id: GasVolumePump
  graph: GasBinary
  startNode: start
  targetNode: volumepump
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasVolumePump
  - GasVolumePumpAlt1
  - GasVolumePumpAlt2

- type: construction
  id: GasVolumePumpAlt1
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: volumepumpAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasVolumePump
  - GasVolumePumpAlt1
  - GasVolumePumpAlt2

- type: construction
  id: GasVolumePumpAlt2
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: volumepumpAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasVolumePump
  - GasVolumePumpAlt1
  - GasVolumePumpAlt2

- type: construction
  id: GasPassiveGate
  graph: GasBinary
  startNode: start
  targetNode: passivegate
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPassiveGate
  - GasPassiveGateAlt1
  - GasPassiveGateAlt2

- type: construction
  id: GasPassiveGateAlt1
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: passivegateAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPassiveGate
  - GasPassiveGateAlt1
  - GasPassiveGateAlt2

- type: construction
  id: GasPassiveGateAlt2
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: passivegateAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPassiveGate
  - GasPassiveGateAlt1
  - GasPassiveGateAlt2

- type: construction
  id: GasPressureRegulator
  graph: GasBinary
  startNode: start
  targetNode: pressureregulator
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPressureRegulator
  - GasPressureRegulatorAlt1
  - GasPressureRegulatorAlt2

- type: construction
  id: GasPressureRegulatorAlt1
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: pressureregulatorAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPressureRegulator
  - GasPressureRegulatorAlt1
  - GasPressureRegulatorAlt2

- type: construction
  id: GasPressureRegulatorAlt2
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: pressureregulatorAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasPressureRegulator
  - GasPressureRegulatorAlt1
  - GasPressureRegulatorAlt2

- type: construction
  id: GasValve
  graph: GasBinary
  startNode: start
  targetNode: valve
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
    - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasValve
  - GasValveAlt1
  - GasValveAlt2

- type: construction
  id: GasValveAlt1
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: valveAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
    - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasValve
  - GasValveAlt1
  - GasValveAlt2

- type: construction
  id: GasValveAlt2
  hide: true
  graph: GasBinary
  startNode: start
  targetNode: valveAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
    - !type:NoUnstackableInTile
  alternativePrototypes:
  - GasValve
  - GasValveAlt1
  - GasValveAlt2

- type: construction
  id: SignalControlledValve
  graph: GasBinary
  startNode: start
  targetNode: signalvalve
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
  - !type:NoUnstackableInTile
  alternativePrototypes:
  - SignalControlledValve
  - SignalControlledValveAlt1
  - SignalControlledValveAlt2

- type: construction
  id: SignalControlledValveAlt1
  graph: GasBinary
  startNode: start
  targetNode: signalvalveAlt1
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
    - !type:NoUnstackableInTile
  alternativePrototypes:
  - SignalControlledValve
  - SignalControlledValveAlt1
  - SignalControlledValveAlt2

- type: construction
  id: SignalControlledValveAlt2
  graph: GasBinary
  startNode: start
  targetNode: signalvalveAlt2
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: AlignAtmosPipeLayers
  canBuildInImpassable: false
  conditions:
    - !type:NoUnstackableInTile
  alternativePrototypes:
  - SignalControlledValve
  - SignalControlledValveAlt1
  - SignalControlledValveAlt2

- type: construction
  id: GasPort
  graph: GasBinary
  startNode: start
  targetNode: port
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
    - !type:NoUnstackableInTile

- type: construction
  id: GasDualPortVentPump
  graph: GasBinary
  startNode: start
  targetNode: dualportventpump
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: HeatExchanger
  graph: GasBinary
  startNode: start
  targetNode: radiator
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  id: HeatExchangerBend
  name: construction-recipe-heat-exchanger-bend
  graph: GasBinary
  startNode: start
  targetNode: bendradiator
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false

# ATMOS TRINARY
- type: construction
  id: GasFilter
  graph: GasTrinary
  startNode: start
  targetNode: filter
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: GasFilterFlipped
  conditions:
    - !type:NoUnstackableInTile

- type: construction
  id: GasFilterFlipped
  hide: true
  graph: GasTrinary
  startNode: start
  targetNode: filterflipped
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: GasFilter
  conditions:
    - !type:NoUnstackableInTile

- type: construction
  id: GasMixer
  graph: GasTrinary
  startNode: start
  targetNode: mixer
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: GasMixerFlipped
  conditions:
    - !type:NoUnstackableInTile

- type: construction
  id: GasMixerFlipped
  hide: true
  graph: GasTrinary
  startNode: start
  targetNode: mixerflipped
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  mirror: GasMixer
  conditions:
    - !type:NoUnstackableInTile

- type: construction
  id: PressureControlledValve
  graph: GasTrinary
  startNode: start
  targetNode: pneumaticvalve
  category: construction-category-atmospherics # DeltaV - Moving Atmos Recipes to Atmospherics Category
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
    - !type:NoUnstackableInTile

# INTERCOM
- type: construction
  id: IntercomAssembly
  graph: Intercom
  startNode: start
  targetNode: intercom
  category: construction-category-structures
  placementMode: SnapgridCenter
  objectType: Structure
  canRotate: true
  canBuildInImpassable: true
  conditions:
  - !type:WallmountCondition {}

# TIMERS
- type: construction
  id: SignalTimer
  graph: Timer
  startNode: start
  targetNode: signal
  category: construction-category-utilities
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: true
  conditions:
  - !type:WallmountCondition

- type: construction
  id: ScreenTimer
  graph: Timer
  startNode: start
  targetNode: screen
  category: construction-category-utilities
  objectType: Structure
  canRotate: false
  placementMode: SnapgridCenter
  canBuildInImpassable: true
  conditions:
  - !type:WallmountCondition

- type: construction
  id: BrigTimer
  graph: Timer
  startNode: start
  targetNode: brig
  category: construction-category-utilities
  objectType: Structure
  canRotate: false
  placementMode: SnapgridCenter
  canBuildInImpassable: true
  conditions:
  - !type:WallmountCondition

# DEFENSES
- type: construction
  id: WeaponEnergyTurretControlPanel
  graph: WeaponEnergyTurretControlPanel
  startNode: start
  targetNode: finish
  category: construction-category-utilities
  objectType: Structure
  canRotate: true
  placementMode: SnapgridCenter
  canBuildInImpassable: true
  conditions:
  - !type:WallmountCondition
