- type: construction
  name: girder
  id: Girder
  graph: Girder
  startNode: start
  targetNode: girder
  category: Structures
  description: A large structural assembly made out of metal.
  icon:
    sprite: /Textures/Structures/Walls/solid.rsi
    state: wall_girder
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: wall
  id: Wall
  graph: Girder
  startNode: start
  targetNode: wall
  category: Structures
  description: Keeps the air in and the greytide out.
  icon:
    sprite: Structures/Walls/solid.rsi
    state: full
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: reinforced wall
  id: ReinforcedWall
  graph: Girder
  startNode: start
  targetNode: reinforcedWall
  category: Structures
  description: Keeps the air in and the greytide out.
  icon:
    sprite: Structures/Walls/solid.rsi
    state: rgeneric
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: grille
  id: Grille
  graph: Grille
  startNode: start
  targetNode: grille
  category: Structures
  description: A flimsy framework of iron rods.
  conditions:
    - !type:TileNotBlocked
  icon:
    sprite: Structures/Walls/grille.rsi
    state: grille
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false

- type: construction
  name: window
  id: Window
  graph: Window
  startNode: start
  targetNode: window
  category: Structures
  description: Clear.
  canBuildInImpassable: true
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/window.rsi
    state: full
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false

- type: construction
  name: reinforced window
  id: ReinforcedWindow
  graph: Window
  startNode: start
  targetNode: reinforcedWindow
  category: Structures
  description: Clear but tough.
  canBuildInImpassable: true
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/reinforced_window.rsi
    state: full
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false

- type: construction
  name: tinted window
  id: TintedWindow
  graph: Window
  startNode: start
  targetNode: tintedWindow
  category: Structures
  description: Not clear but tough.
  canBuildInImpassable: true
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/tinted_window.rsi
    state: full
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false

- type: construction
  name: plasma window
  id: PlasmaWindow
  graph: Window
  startNode: start
  targetNode: plasmaWindow
  category: Structures
  canBuildInImpassable: true
  description: Clear and even tougher, with a purple tint.
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/plasma_window.rsi
    state: full
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false

- type: construction
  name: reinforced plasma window
  id: ReinforcedPlasmaWindow
  graph: Window
  startNode: start
  targetNode: reinforcedPlasmaWindow
  category: Structures
  canBuildInImpassable: true
  description: Fire resistant and even tougher, with a purple tint.
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/reinforced_plasma_window.rsi
    state: full
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false

- type: construction
  name: directional window
  id: WindowDirectional
  graph: WindowDirectional
  startNode: start
  targetNode: windowDirectional
  category: Structures
  description: Clear.
  canBuildInImpassable: true
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/directional.rsi
    state: window
  objectType: Structure
  placementMode: SnapgridCenter

- type: construction
  name: directional reinforced window
  id: WindowReinforcedDirectional
  graph: WindowDirectional
  startNode: start
  targetNode: windowReinforcedDirectional
  category: Structures
  description: Clear but tough.
  canBuildInImpassable: true
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/directional.rsi
    state: reinforced_window
  objectType: Structure
  placementMode: SnapgridCenter

- type: construction
  name: directional plasma window
  id: PlasmaWindowDirectional
  graph: WindowDirectional
  startNode: start
  targetNode: plasmaWindowDirectional
  category: Structures
  canBuildInImpassable: true
  description: Clear and even tougher, with a purple tint.
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/directional.rsi
    state: plasma_window
  objectType: Structure
  placementMode: SnapgridCenter

- type: construction
  name: directional reinforced plasma window
  id: PlasmaReinforcedWindowDirectional
  graph: WindowDirectional
  startNode: start
  targetNode: plasmaReinforcedWindowDirectional
  category: Structures
  canBuildInImpassable: true
  description: Fire resistant and even tougher, with a purple tint.
  conditions:
    - !type:EmptyOrWindowValidInTile
    - !type:NoWindowsInTile
  icon:
    sprite: Structures/Windows/directional.rsi
    state: plasma_reinforced_window
  objectType: Structure
  placementMode: SnapgridCenter

- type: construction
  name: firelock
  id: Firelock
  graph: Firelock
  startNode: start
  targetNode: Firelock
  category: Structures
  description: This is a firelock - it locks an area when a fire alarm in the area is triggered. Don't get squished!
  icon:
    sprite: Structures/Doors/Airlocks/Standard/firelock.rsi
    state: closed
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: shutter
  id: Shutters
  graph: Shutters
  startNode: start
  targetNode: Shutters
  category: Structures
  description: This is a shutter - connect it to a button to open and close it.
  icon:
    sprite: Structures/Doors/Shutters/shutters.rsi
    state: closed
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: true


- type: construction
  name: catwalk
  id: Catwalk
  graph: Catwalk
  startNode: start
  targetNode: Catwalk
  category: Structures
  description: Just like a lattice. Except it looks better.
  conditions:
    - !type:TileNotBlocked
    - !type:TileType
      targets:
        - lattice
        - plating
        - underplating
  icon:
    sprite: Structures/catwalk.rsi
    state: catwalk_preview
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false

- type: construction
  name: wooden barricade
  id: Barricade
  graph: Barricade
  startNode: start
  targetNode: barricadewooden
  category: Structures
  description: An improvised barricade made out of wooden planks.
  icon:
    sprite: Structures/Walls/barricades.rsi
    state: barricadewooden
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: railing
  id: Railing
  graph: Railing
  startNode: start
  targetNode: railing
  category: Structures
  description: Basic railing meant to protect idiots like you from falling.
  icon:
    sprite: Structures/Walls/railing.rsi
    state: side
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
  - !type:TileNotBlocked

- type: construction
  name: railing corner
  id: RailingCorner
  graph: Railing
  startNode: start
  targetNode: railingCorner
  category: Structures
  description: Basic railing meant to protect idiots like you from falling.
  icon:
    sprite: Structures/Walls/railing.rsi
    state: corner
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
  - !type:TileNotBlocked

- type: construction
  name: railing corner small
  id: RailingCornerSmall
  graph: Railing
  startNode: start
  targetNode: railingCornerSmall
  category: Structures
  description: Basic railing meant to protect idiots like you from falling.
  icon:
    sprite: Structures/Walls/railing.rsi
    state: corner_small
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
  - !type:TileNotBlocked

- type: construction
  name: airlock
  id: Airlock
  graph: Airlock
  startNode: start
  targetNode: airlock
  category: Structures
  description: It opens, it closes, and maybe crushes you.
  icon:
    sprite: Structures/Doors/Airlocks/Standard/basic.rsi
    state: assembly
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: windoor
  id: Windoor
  graph: Windoor
  startNode: start
  targetNode: windoor
  category: Structures
  description: It opens, it closes, and you can see through it!
  icon:
    sprite: Structures/Doors/Windoors/windoor.rsi
    state: closed
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: secure windoor
  id: SecureWindoor
  graph: Windoor
  startNode: start
  targetNode: windoorSecure
  category: Structures
  description: It opens, it closes, and you can see through it! This one looks tough.
  icon:
    sprite: Structures/Doors/Windoors/windoor.rsi
    state: closed
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked


#lighting
- type: construction
  name: wall light
  id: LightTubeFixture
  graph: LightFixture
  startNode: start
  targetNode: tubeLight
  category: Structures
  description: A wall light fixture. Use light tubes.
  icon:
    sprite: Structures/Wallmounts/Lighting/light_tube.rsi
    state: off
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: false
  conditions:
  # Need an *additional* condition here that forces there to be a wall in the opposite direction to the one used for placement.
  # Also see below. Didn't add it b/c construction ECS work going on. Cheers, - 20kdc
    - !type:TileNotBlocked

- type: construction
  name: small wall light
  id: LightSmallFixture
  graph: LightFixture
  startNode: start
  targetNode: bulbLight
  category: Structures
  description: A wall light fixture. Use light bulbs.
  icon:
    sprite: Structures/Wallmounts/Lighting/light_small.rsi
    state: off
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: false
  conditions:
  # Same here. - 20kdc
    - !type:TileNotBlocked

- type: construction
  name: ground light post
  id: LightGroundFixture
  graph: LightFixture
  startNode: start
  targetNode: groundLight
  category: Structures
  description: A ground light fixture. Use light bulbs.
  icon:
    sprite: Structures/Decoration/LightPosts/small_light_post.rsi
    state: off
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: false
  canBuildInImpassable: false
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: light switch
  id: LightSwitchRecipe
  graph: LightSwitch
  startNode: start
  targetNode: lightSwitch
  category: Structures
  description: A switch for toggling lights that are connected to the same apc.
  icon:
    sprite: Structures/Wallmounts/switch.rsi
    state: on
  objectType: Structure
  placementMode: SnapgridCenter
  canRotate: true
  canBuildInImpassable: true
  conditions:
    - !type:WallmountCondition


#conveyor
- type: construction
  name: conveyor belt
  id: ConveyorBelt
  graph: ConveyorGraph
  startNode: start
  targetNode: entity
  category: Structures
  description: A conveyor belt, commonly used to transport large numbers of items elsewhere quite quickly.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/conveyor.rsi
    state: conveyor_stopped_cw
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: two-way lever
  id: TwoWayLever
  graph: LeverGraph
  startNode: start
  targetNode: lever
  category: Structures
  description: A lever to control machines. It has 3 modes.
  objectType: Structure
  canBuildInImpassable: false
  icon:
    sprite: Structures/conveyor.rsi
    state: switch-off
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: metal door
  id: MetalDoor
  graph: DoorGraph
  startNode: start
  targetNode: metalDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/metal_door.rsi
    state: closed
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: wooden door
  id: WoodDoor
  graph: DoorGraph
  startNode: start
  targetNode: woodDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/wood_door.rsi
    state: closed
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: plasma door
  id: PlasmaDoor
  graph: DoorGraph
  startNode: start
  targetNode: plasmaDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/plasma_door.rsi
    state: closed
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: diamond door
  id: DiamondDoor
  graph: DoorGraph
  startNode: start
  targetNode: diamondDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/diamond_door.rsi
    state: closed
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: uranium door
  id: UraniumDoor
  graph: DoorGraph
  startNode: start
  targetNode: uraniumDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/uranium_door.rsi
    state: closed
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: gold door
  id: GoldDoor
  graph: DoorGraph
  startNode: start
  targetNode: goldDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/gold_door.rsi
    state: closed
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: silver door
  id: SilverDoor
  graph: DoorGraph
  startNode: start
  targetNode: silverDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/silver_door.rsi
    state: closed
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: sandstone door
  id: SandstoneDoor
  graph: DoorGraph
  startNode: start
  targetNode: sandstoneDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/sandstone_door.rsi
    state: closed
  conditions:
    - !type:TileNotBlocked

- type: construction
  name: paper door
  id: PaperDoor
  graph: DoorGraph
  startNode: start
  targetNode: paperDoor
  category: Structures
  description: A primitive door with manual operation like the cavemen used.
  objectType: Structure
  placementMode: SnapgridCenter
  canBuildInImpassable: false
  icon:
    sprite: Structures/Doors/MineralDoors/paper_door.rsi
    state: closed

- type: construction
  name: plastic flaps
  id: PlasticFlapsClear
  graph: PlasticFlapsGraph
  startNode: start
  targetNode: plasticFlaps
  category: Structures
  placementMode: SnapgridCenter
  description: A plastic flap to let items through and keep people out.
  objectType: Structure
  canBuildInImpassable: false
  icon:
    sprite: Structures/plastic_flaps.rsi
    state: plasticflaps
  conditions:
    - !type:TileNotBlocked
