- type: entity
  id: BluespaceDungeonBase
  parent: BaseStationEventShortDelay
  name: Colossus Sector Bluespace Monitoring # This name shows up in the radio messages.
  abstract: true
  components:
  - type: StationEvent
    startRadioAnnouncement: station-event-bluespace-dungeon-start-announcement
    startRadioAnnouncementChannel: Supply
    warningRadioAnnouncement: station-event-bluespace-dungeon-warning-announcement
    warningRadioAnnouncementChannel: Supply
    endRadioAnnouncement: station-event-bluespace-dungeon-end-announcement
    endRadioAnnouncementChannel: Supply
    weight: 5
    duration: 1800 # 30 minutes
    maxDuration: 1800 # 30 minutes
    reoccurrenceDelay: 120 # 2 hours (some variety - at worst, alternates between four dungeon types)
  - type: ActiveRadio
    channels:
    - Supply

- type: entity
  id: BluespaceDungeonBasalt
  parent: BluespaceDungeonBase
  categories: [ HideSpawnMenu ]
  components:
  - type: BluespaceErrorRule
    groups:
      vgroid: !type:DungeonSpawnGroup
        nameDataset: NamesBorer
        minimumDistance: 1500
        maximumDistance: 5000 # Mono
        addComponents: &dungeonComponents
        - type: Gravity
          enabled: true
          inherent: true
        - type: IFF
        - type: LinkedLifecycleGridParent
        # Mono - make it movable
        #- type: ProtectedGrid
        #  preventArtifactTriggers: true
        #- type: PreventPilot
        ## FIXME: the dungeon dosen't pass FTL events even though it should FTL in
        ##        and we don't get a MapInitEvent, so this just forces static physics
        #- type: Physics
        #  bodyType: Static
        #  bodyStatus: OnGround
        - type: ClaimableGrid # Mono
        protos:
        - NFVGRoidBasalt

- type: entity
  id: BluespaceDungeonSnow
  parent: BluespaceDungeonBase
  categories: [ HideSpawnMenu ]
  components:
  - type: BluespaceErrorRule
    groups:
      vgroid: !type:DungeonSpawnGroup
        nameDataset: NamesBorer
        minimumDistance: 1500
        maximumDistance: 5000 # Mono
        addComponents: *dungeonComponents
        protos:
        - NFVGRoidSnow

- type: entity
  id: BluespaceDungeonCave
  parent: BluespaceDungeonBase
  categories: [ HideSpawnMenu ]
  components:
  - type: BluespaceErrorRule
    groups:
      vgroid: !type:DungeonSpawnGroup
        nameDataset: NamesBorer
        minimumDistance: 1500
        maximumDistance: 5000 # Mono
        addComponents: *dungeonComponents
        protos:
        - NFVGRoidCave

- type: entity
  id: BluespaceDungeonChromite
  parent: BluespaceDungeonBase
  categories: [ HideSpawnMenu ]
  components:
  - type: BluespaceErrorRule
    groups:
      vgroid: !type:DungeonSpawnGroup
        nameDataset: NamesBorer
        minimumDistance: 1500
        maximumDistance: 5000 # Mono
        addComponents: *dungeonComponents
        protos:
        - NFVGRoidChromite

- type: entity
  id: BluespaceDungeonScrap
  parent: BluespaceDungeonBase
  categories: [ HideSpawnMenu ]
  components:
  - type: BluespaceErrorRule
    groups:
      vgroid: !type:DungeonSpawnGroup
        nameDataset: NamesBorer
        minimumDistance: 1500
        maximumDistance: 5000 # Mono
        addComponents: *dungeonComponents
        protos:
        - NFVGRoidScrap
