# Base configs
- type: dungeonConfig
  id: PlanetBase
  layers:
  - !type:PrefabDunGen
    presets:
    - Bucket
    - Wow
    - SpaceShip
    - Tall

  - !type:CorridorDunGen
    width: 3

  - !type:DungeonEntranceDunGen
    count: 2

  - !type:RoomEntranceDunGen

  - !type:EntranceFlankDunGen

  - !type:ExternalWindowDunGen

  - !type:WallMountDunGen

  - !type:BoundaryWallDunGen

  - !type:JunctionDunGen
    width: 1

  - !type:JunctionDunGen

  - !type:AutoCablingDunGen

  - !type:CornerClutterDunGen

  - !type:CorridorDecalSkirtingDunGen
    cardinalDecals:
      South: BrickTileWhiteLineS
      East: BrickTileWhiteLineE
      North: BrickTileWhiteLineN
      West: BrickTileWhiteLineW
    cornerDecals:
      SouthEast: BrickTileWhiteCornerSe
      SouthWest: BrickTileWhiteCornerSw
      NorthEast: BrickTileWhiteCornerNe
      NorthWest: BrickTileWhiteCornerNw
    pocketDecals:
      SouthWest: BrickTileWhiteInnerSw
      SouthEast: BrickTileWhiteInnerSe
      NorthWest: BrickTileWhiteInnerNw
      NorthEast: BrickTileWhiteInnerNe

# Setups
- type: dungeonConfig
  id: Experiment
  data:
    colors:
      Decals: "#D381C996"
    entities:
      Cabling: CableApcExtension
      CornerWalls: WallReinforced
      Walls: WallSolid
    spawnGroups:
      CornerClutter: BaseClutter
      Entrance: BaseAirlock
      EntranceFlank: BaseWindow
      Junction: BaseAirlock
      WallMounts: ScienceLabsWalls
      Window: BaseWindow
    tiles:
      FallbackTile: FloorSteel
    whitelists:
      Rooms:
        tags:
        - SalvageExperiment
  layers:
  - !type:PrototypeDunGen
    proto: PlanetBase

- type: dungeonConfig
  id: Haunted
  data:
    entities:
      Walls: WallRock
    tiles:
      FallbackTile: FloorCaveDrought
    whitelists:
      Rooms:
        tags:
        - Mineshaft
  layers:
  - !type:PrefabDunGen
    presets:
    - Bucket
    - Wow
    - SpaceShip
    - Tall

  - !type:WormCorridorDunGen
    width: 3

  - !type:CorridorClutterDunGen
    contents:
    - id: FloraStalagmite

  - !type:BoundaryWallDunGen

- type: dungeonConfig
  id: LavaBrig
  data:
    colors:
      Decals: "#DE3A3A96"
    entities:
      Cabling: CableApcExtension
      CornerWalls: WallReinforced
      Walls: WallSolid
    spawnGroups:
      CornerClutter: BaseClutter
      Entrance: LavaBrigEntrance
      EntranceFlank: BaseWindow
      Junction: BaseAirlock
      WallMounts: ScienceLabsWalls
      Window: BaseWindow
    tiles:
      FallbackTile: FloorDark
    whitelists:
      Rooms:
        tags:
        - LavaBrig
  layers:
  - !type:PrototypeDunGen
    proto: PlanetBase

- type: dungeonConfig
  id: Mineshaft
  data:
    entities:
      Cabling: Catwalk
    spawnGroups:
      CornerClutter: MineshaftClutter
      Entrance: BaseWoodWall
      EntranceFlank: BaseWoodWall
      Junction: BaseWoodSupport
      Window: BaseWoodWall
    tiles:
      FallbackTile: FloorCaveDrought
    whitelists:
      Rooms:
        tags:
        - Mineshaft
  layers:
  - !type:PrototypeDunGen
    proto: PlanetBase

- type: dungeonConfig
  id: SnowyLabs
  data:
    colors:
      Decals: "#4cc7aa96"
    entities:
      Cabling: CableApcExtension
      CornerWalls: WallSilver
      Walls: WallSilver
    spawnGroups:
      CornerClutter: BaseClutter
      Entrance: SnowyLabsEntrance
      EntranceFlank: BaseWindow
      Junction: BaseAirlock
      WallMounts: SnowyLabsWalls
      Window: BaseWindow
    tiles:
      FallbackTile: FloorSteel
    whitelists:
      Rooms:
        tags:
        - SnowyLabs
  layers:
  - !type:PrototypeDunGen
    proto: PlanetBase

# Spawn groups
# Basic
- type: entitySpawnEntry
  id: BaseClutter
  entries:
  - id: PottedPlantRandom
    amount: 1

- type: entitySpawnEntry
  id: BaseAirlock
  entries:
  - id: CableApcExtension
  - id: AirlockGlass

- type: entitySpawnEntry
  id: BaseWindow
  entries:
  - id: Grille
  - id: Window

# Lava brig
- type: entitySpawnEntry
  id: LavaBrigEntrance
  entries:
  - id: CableApcExtension
  - id: AirlockSecurityGlassLocked

# Mineshaft
- type: entitySpawnEntry
  id: BaseWoodWall
  entries:
  - id: RandomWoodenWall

- type: entitySpawnEntry
  id: BaseWoodSupport
  entries:
  - id: RandomWoodenSupport

- type: entitySpawnEntry
  id: MineshaftClutter
  entries:
  - id: RandomStalagmiteOrCrystal
    amount: 1

- type: entitySpawnEntry
  id: MineshaftWalls
  entries:
  # Ore
  - id: WallRockSalt
    prob: 0.6
    orGroup: content
  - id: WallRockCoal
    prob: 0.6
    orGroup: content
  - id: WallRockTin
    prob: 0.4
    orGroup: content
  - id: WallMining
    prob: 0.8
    orGroup: content

# Science lab
- type: entitySpawnEntry
  id: ScienceLabsWalls
  entries:
  # Posters
  - id: RandomPosterLegit
    orGroup: content
  - id: ExtinguisherCabinetFilled
    prob: 0.2
    orGroup: content
  - id: RandomPainting
    prob: 0.05
    orGroup: content
  - id: IntercomCommon
    prob: 0.1
    orGroup: content

# Snowy labs
- type: entitySpawnEntry
  id: SnowyLabsEntrance
  entries:
  - id: CableApcExtension
  - id: AirlockFreezerHydroponicsLocked

- type: entitySpawnEntry
  id: SnowyLabsWalls
  entries:
  # Posters
  - id: RandomPosterLegit
    orGroup: content
  - id: ExtinguisherCabinetFilled
    prob: 0.2
    orGroup: content
  - id: RandomPainting
    prob: 0.05
    orGroup: content
  - id: IntercomScience
    prob: 0.1
    orGroup: content
