- type: entity
  parent: BaseItem
  id: FloorTileItemBase
  description: These could work as a pretty decent throwing weapon.
  abstract: true
  components:
  - type: Sprite
    sprite: Objects/Tiles/tile.rsi
  - type: Item
    sprite: Objects/Tiles/tile.rsi
    size: Normal
  - type: DamageOtherOnHit
    damage:
      types:
        Blunt: 5
  - type: Stack
    count: 1
  - type: Damageable
  - type: Injurable
    damageContainer: Inorganic
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 20
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalBreak
          params:
            volume: -8
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: DamageOnLand
    damage:
      types:
        Blunt: 5
  - type: GuideHelp
    guides:
    - ExpandingRepairingStation

- type: entity
  name: steel dark checker tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelCheckerDark
  components:
  - type: Sprite
    state: checker-dark
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelCheckerDark
  - type: Stack
    stackType: FloorTileSteelCheckerDark

- type: entity
  name: steel light checker tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelCheckerLight
  components:
  - type: Sprite
    state: checker-light
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelCheckerLight
  - type: Stack
    stackType: FloorTileSteelCheckerLight

- type: entity
  name: dark tile
  parent: FloorTileItemBase
  id: FloorTileItemDark
  components:
  - type: Sprite
    state: dark
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
      - Plating
      - FloorDark
  - type: Stack
    stackType: FloorTileDark
  - type: Construction
    graph: TileDark
    node: darktile

- type: entity
  name: dark steel herringbone
  parent: FloorTileItemDark
  id: FloorTileItemDarkHerringbone
  components:
  - type: Sprite
    state: dark-herringbone
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkHerringbone
  - type: Stack
    stackType: FloorTileDarkHerringbone

- type: entity
  name: dark steel mini tile
  parent: FloorTileItemDark
  id: FloorTileItemDarkMini
  components:
  - type: Sprite
    state: dark-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkMini
  - type: Stack
    stackType: FloorTileDarkMini

- type: entity
  name: dark steel mono tile
  parent: FloorTileItemDark
  id: FloorTileItemDarkMono
  components:
  - type: Sprite
    state: dark-mono
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkMono
  - type: Stack
    stackType: FloorTileDarkMono

- type: entity
  name: dark steel pavement
  parent: FloorTileItemDark
  id: FloorTileItemDarkPavement
  components:
  - type: Sprite
    state: dark-pavement
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkPavement
  - type: Stack
    stackType: FloorTileDarkPavement

- type: entity
  name: dark steel vertical pavement
  parent: FloorTileItemDark
  id: FloorTileItemDarkPavementVertical
  components:
  - type: Sprite
    state: dark-pavement-vertical
  - type: FloorTile
    outputs:
      - Plating
      - FloorDarkPavementVertical
  - type: Stack
    stackType: FloorTileDarkPavementVertical

- type: entity
  parent: FloorTileItemDark
  id: FloorTileItemDarkVerticalSlatsBordered
  name: dark steel bordered vertical slat tile
  components:
  - type: Sprite
    state: dark-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorDarkVerticalSlatsBordered
  - type: Stack
    stackType: FloorTileDarkVerticalSlatsBordered

- type: entity
  parent: FloorTileItemDark
  id: FloorTileItemDarkHorizontalSlatsBordered
  name: dark steel bordered horizontal slat tile
  components:
  - type: Sprite
    state: dark-horizontal-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorDarkHorizontalSlatsBordered
  - type: Stack
    stackType: FloorTileDarkHorizontalSlatsBordered

- type: entity
  name: steel tile
  parent: FloorTileItemBase
  id: FloorTileItemSteel
  components:
  - type: Sprite
    state: steel
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteel
  - type: Stack
    stackType: FloorTileSteel
  - type: Construction
    graph: TileSteel
    node: steeltile

- type: entity
  name: steel mono tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelMono
  components:
  - type: Sprite
    state: steel-mono
  - type: FloorTile
    outputs:
    - Plating
    - FloorSteelMono
  - type: Stack
    stackType: FloorTileSteelMono

- type: entity
  parent: FloorTileItemSteel
  id: FloorTileItemSteelVerticalSlatsBordered
  name: steel vertical bordered slat tile
  components:
  - type: Sprite
    state: steel-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorSteelVerticalSlatsBordered
  - type: Stack
    stackType: FloorTileSteelVerticalSlatsBordered

- type: entity
  parent: FloorTileItemSteel
  id: FloorTileItemSteelHorizontalSlatsBordered
  name: steel horizontal bordered slat tile
  components:
  - type: Sprite
    state: steel-horizontal-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorSteelHorizontalSlatsBordered
  - type: Stack
    stackType: FloorTileSteelHorizontalSlatsBordered

- type: entity
  name: steel herringbone
  parent: FloorTileItemSteel
  id: FloorTileItemSteelHerringbone
  components:
  - type: Sprite
    state: steel-herringbone
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelHerringbone
  - type: Stack
    stackType: FloorTileSteelHerringbone

- type: entity
  name: steel mini tile
  parent: FloorTileItemSteel
  id: FloorTileItemSteelMini
  components:
  - type: Sprite
    state: steel-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelMini
  - type: Stack
    stackType: FloorTileSteelMini

- type: entity
  name: steel pavement
  parent: FloorTileItemSteel
  id: FloorTileItemSteelPavement
  components:
  - type: Sprite
    state: steel-pavement
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelPavement
  - type: Stack
    stackType: FloorTileSteelPavement

- type: entity
  name: steel vertical pavement
  parent: FloorTileItemSteel
  id: FloorTileItemSteelPavementVertical
  components:
  - type: Sprite
    state: steel-pavement-vertical
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelPavementVertical
  - type: Stack
    stackType: FloorTileSteelPavementVertical

- type: entity
  name: white tile
  parent: FloorTileItemBase
  id: FloorTileItemWhite
  components:
  - type: Sprite
    state: white
  - type: Item
    heldPrefix: white
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhite
  - type: Stack
    stackType: FloorTileWhite
  - type: Construction
    graph: TileWhite
    node: whitetile

- type: entity
  name: white steel herringbone
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteHerringbone
  components:
  - type: Sprite
    state: white-herringbone
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteHerringbone
  - type: Stack
    stackType: FloorTileWhiteHerringbone

- type: entity
  name: white steel mini tile
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteMini
  components:
  - type: Sprite
    state: white-mini
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteMini
  - type: Stack
    stackType: FloorTileWhiteMini

- type: entity
  name: white steel mono tile
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteMono
  components:
  - type: Sprite
    state: white-mono
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhiteMono
  - type: Stack
    stackType: FloorTileWhiteMono

- type: entity
  name: white steel pavement
  parent: FloorTileItemWhite
  id: FloorTileItemWhitePavement
  components:
  - type: Sprite
    state: white-pavement
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhitePavement
  - type: Stack
    stackType: FloorTileWhitePavement

- type: entity
  name: white steel vertical pavement
  parent: FloorTileItemWhite
  id: FloorTileItemWhitePavementVertical
  components:
  - type: Sprite
    state: white-pavement-vertical
  - type: FloorTile
    outputs:
      - Plating
      - FloorWhitePavementVertical
  - type: Stack
    stackType: FloorTileWhitePavementVertical

- type: entity
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteVerticalSlatsBordered
  name: white steel vertical bordered slat tile
  components:
  - type: Sprite
    state: white-vertical-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorWhiteVerticalSlatsBordered
  - type: Stack
    stackType: FloorTileWhiteVerticalSlatsBordered

- type: entity
  parent: FloorTileItemWhite
  id: FloorTileItemWhiteHorizontalSlatsBordered
  name: white steel horizontal bordered slat tile
  components:
  - type: Sprite
    state: white-horizontal-slats
  - type: FloorTile
    outputs:
    - Plating
    - FloorWhiteHorizontalSlatsBordered
  - type: Stack
    stackType: FloorTileWhiteHorizontalSlatsBordered

- type: entity
  name: steel tile
  parent: FloorTileItemBase
  id: FloorTileItemMetalDiamond
  components:
  - type: Sprite
    state: metaldiamond
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorMetalDiamond
  - type: Stack
    stackType: FloorTileMetalDiamond
#  - type: Construction
#    graph: TileSteel
#    node: steeltile

- type: entity
  name: wood floor
  parent: FloorTileItemBase
  id: FloorTileItemWood
  components:
  - type: Sprite
    state: wood
  - type: Item
    heldPrefix: wood
  - type: FloorTile
    outputs:
      - Plating
      - FloorWood
  - type: Stack
    stackType: FloorTileWood
  - type: Construction
    graph: TileWood
    node: woodtile

- type: entity
  parent: FloorTileItemBase
  id: FloorTileItemTechmaintDark
  name: dark techmaint floor
  components:
  - type: Sprite
    state: techfloordark
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
    - Plating
    - FloorTechMaintDark
  - type: Stack
    stackType: FloorTileTechmaintDark

# TODO add a catwalk tile item once tile smoothing is supported

- type: entity
  parent: FloorTileItemSteel
  id: FloorTileItemPlastic
  name: plastic floor
  components:
  - type: Sprite
    state: steel-plastic
  - type: FloorTile
    outputs:
    - Plating
    - FloorPlastic
  - type: Stack
    stackType: FloorTileStackPlastic

- type: entity
  parent: FloorTileItemDark
  id: FloorTileItemDarkPlastic
  name: dark plastic floor
  components:
  - type: Sprite
    state: dark-plastic
  - type: FloorTile
    outputs:
    - Plating
    - FloorDarkPlastic
  - type: Stack
    stackType: FloorTileStackDarkPlastic

- type: entity
  parent: FloorTileItemWhite
  id: FloorTileItemWhitePlastic
  name: white plastic floor
  components:
  - type: Sprite
    state: white-plastic
  - type: FloorTile
    outputs:
    - Plating
    - FloorWhitePlastic
  - type: Stack
    stackType: FloorTileStackWhitePlastic

- type: entity
  name: linoleum floor
  parent: FloorTileItemBase
  id: FloorTileItemLino
  components:
  - type: Sprite
    state: lino
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorLino
  - type: Stack
    stackType: FloorTileLino

- type: entity
  name: blue tile
  parent: FloorTileItemBase
  id: FloorTileItemBlue
  components:
  - type: Sprite
    state: blue
  - type: Item
    heldPrefix: carpet-blue
  - type: FloorTile
    outputs:
      - Plating
      - FloorBlue
  - type: Stack
    stackType: FloorTileBlue

- type: entity
  name: lime tile
  parent: FloorTileItemBase
  id: FloorTileItemLime
  components:
  - type: Sprite
    state: lime
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorSteelLime
  - type: Stack
    stackType: FloorTileLime

# Departmental
- type: entity
  name: freezer tile
  parent: FloorTileItemBase
  id: FloorTileItemFreezer
  components:
  - type: Sprite
    state: showroom
  - type: Item
    heldPrefix: showroom
  - type: FloorTile
    outputs:
      - Plating
      - FloorFreezer
  - type: Stack
    stackType: FloorTileFreezer

- type: entity
  name: bar tile
  parent: FloorTileItemBase
  id: FloorTileItemBar
  components:
  - type: Sprite
    state: bar
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorBar
  - type: Stack
    stackType: FloorTileBar

- type: entity
  name: clown tile
  parent: FloorTileItemBase
  id: FloorTileItemClown
  components:
  - type: Sprite
    state: clown
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorClown
  - type: Stack
    stackType: FloorTileClown

- type: entity
  name: mime tile
  parent: FloorTileItemBase
  id: FloorTileItemMime
  components:
  - type: Sprite
    state: mime
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorMime
  - type: Stack
    stackType: FloorTileMime

- type: entity
  name: kitchen tile
  parent: FloorTileItemBase
  id: FloorTileItemKitchen
  components:
  - type: Sprite
    state: kitchen
  - type: Item
    heldPrefix: dark
  - type: FloorTile
    outputs:
      - Plating
      - FloorKitchen
  - type: Stack
    stackType: FloorTileKitchen

- type: entity
  name: laundry tile
  parent: FloorTileItemBase
  id: FloorTileItemLaundry
  components:
  - type: Sprite
    state: laundry
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorLaundry
  - type: Stack
    stackType: FloorTileLaundry

# Carpets
- type: entity
  name: blue arcade floor
  parent: FloorTileItemBase
  id: FloorTileItemArcadeBlue
  components:
  - type: Sprite
    state: arcadeblue
  - type: Item
    heldPrefix: arcadeblue
  - type: FloorTile
    outputs:
      - Plating
      - FloorArcadeBlue
  - type: Stack
    stackType: FloorTileStackArcadeBlue

- type: entity
  name: red arcade floor
  parent: FloorTileItemBase
  id: FloorTileItemArcadeRed
  components:
  - type: Sprite
    state: arcadered
  - type: Item
    heldPrefix: arcadered
  - type: FloorTile
    outputs:
      - Plating
      - FloorArcadeRed
  - type: Stack
    stackType: FloorTileStackArcadeRed

- type: entity
  name: clown carpet floor
  parent: FloorTileItemBase
  id: FloorTileItemCarpetClown
  components:
  - type: Sprite
    state: carpetclown
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorCarpetClown
  - type: Stack
    stackType: FloorTileStackCarpetClown

- type: entity
  name: office carpet floor
  parent: FloorTileItemBase
  id: FloorTileItemCarpetOffice
  components:
  - type: Sprite
    state: carpetoffice
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorCarpetOffice
  - type: Stack
    stackType: FloorTileStackCarpetOffice

- type: entity
  name: boxing ring floor
  parent: FloorTileItemBase
  id: FloorTileItemBoxing
  components:
  - type: Sprite
    state: boxing
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorBoxing
  - type: Stack
    stackType: FloorTileStackBoxing

- type: entity
  name: gym floor
  parent: FloorTileItemBase
  id: FloorTileItemGym
  components:
  - type: Sprite
    state: gym
  - type: Item
    heldPrefix: generic
  - type: FloorTile
    outputs:
      - Plating
      - FloorGym
  - type: Stack
    stackType: FloorTileStackGym

# Materials
- type: entity
  name: gold floor
  parent: FloorTileItemBase
  id: FloorTileItemGold
  components:
  - type: Sprite
    state: gold
  - type: Item
    heldPrefix: gold
  - type: FloorTile
    outputs:
      - Plating
      - FloorGold
  - type: Stack
    stackType: FloorTileGold

- type: entity
  name: silver tile
  parent: FloorTileItemBase
  id: FloorTileItemSilver
  components:
  - type: Sprite
    state: silver
  - type: Item
    heldPrefix: silver
  - type: FloorTile
    outputs:
      - Plating
      - FloorSilver
  - type: Stack
    stackType: FloorTileSilver

# Terrain
- type: entity
  name: grass tile
  parent: FloorTileItemBase
  id: FloorTileItemGrass
  components:
  - type: Sprite
    state: grass
  - type: Item
    heldPrefix: grass
  - type: FloorTile
    outputs:
      - Plating
      - FloorGrass
  - type: Stack
    stackType: FloorTileGrass

- type: entity
  name: jungle grass tile
  parent: FloorTileItemBase
  id: FloorTileItemGrassJungle
  components:
  - type: Sprite
    state: grassjungle
  - type: Item
    heldPrefix: grassjungle
  - type: FloorTile
    outputs:
      - Plating
      - FloorGrassJungle
  - type: Stack
    stackType: FloorTileGrassJungle

- type: entity
  name: snow tile
  parent: FloorTileItemBase
  id: FloorTileItemSnow
  components:
  - type: Sprite
    state: snow
  - type: Item
    heldPrefix: snow
  - type: FloorTile
    outputs:
      - Plating
      - FloorSnow
  - type: Stack
    stackType: FloorTileSnow

- type: entity
  name: wood pattern floor
  parent: FloorTileItemBase
  id: FloorTileItemWoodPattern
  components:
  - type: Sprite
    state: woodpatternfloor
  - type: Item
    heldPrefix: wood
  - type: FloorTile
    outputs:
      - Plating
      - FloorWoodTile
  - type: Stack
    stackType: FloorTileWoodPattern

- type: entity
  id: FloorTileItemFlesh
  parent: FloorTileItemBase
  name: flesh floor
  components:
  - type: Sprite
    state: meat
  - type: Item
    heldPrefix: meat
  - type: FloorTile
    outputs:
    - Plating
    - FloorFlesh
  - type: Stack
    stackType: FloorTileFlesh
  - type: Construction
    graph: TileFlesh
    node: fleshTile

- type: entity
  name: steel maint floor
  parent: FloorTileItemBase
  id: FloorTileItemSteelMaint
  components:
  - type: Sprite
    state: steelmaintfloor
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorTechMaint2
  - type: Stack
    stackType: FloorTileSteelMaint

- type: entity
  name: grating maint floor
  parent: FloorTileItemBase
  id: FloorTileItemGratingMaint
  components:
  - type: Sprite
    state: gratingmaintfloor
  - type: Item
    heldPrefix: steel
  - type: FloorTile
    outputs:
      - Plating
      - FloorTechMaint3
  - type: Stack
    stackType: FloorTileGratingMaint

- type: entity
  name: web tile
  parent: FloorTileItemBase
  id: FloorTileItemWeb
  components:
  - type: Sprite
    sprite: Objects/Tiles/web.rsi
    state: icon
  - type: FloorTile
    outputs:
      - FloorWebTile
  - type: Stack
    stackType: FloorTileWeb
  - type: Construction
    graph: WebObjects
    node: tile
