- type: entity
  id: BaseStation
  abstract: true
  components:
    - type: StationData

- type: entity
  id: BaseStationCargo
  abstract: true
  components:
    - type: StationBankAccount
    - type: StationCargoOrderDatabase
    - type: StationCargoBountyDatabase

- type: entity
  id: BaseStationJobsSpawning
  abstract: true
  components:
    - type: StationJobs
      availableJobs: {}
    - type: StationSpawning

- type: entity
  id: BaseStationRecords
  abstract: true
  components:
    - type: StationRecords

- type: entity
  id: BaseStationArrivals
  abstract: true
  components:
    - type: StationArrivals

- type: entity
  id: BaseStationGateway
  abstract: true
  components:
    - type: GatewayGenerator

- type: entity
  id: BaseStationShuttles
  abstract: true
  components:
    - type: StationCargoShuttle
      path: /Maps/Shuttles/cargo.yml
    - type: GridSpawn
      groups:
        trade: !type:GridSpawnGroup
          addComponents:
            - type: ProtectedGrid
            - type: TradeStation
          paths:
            - /Maps/Shuttles/trading_outpost.yml
        # Spawn last
        ruins: !type:GridSpawnGroup
          hide: true
          nameGrid: true
          minCount: 2
          maxCount: 2
          stationGrid: false
          paths:
          - /Maps/Ruins/abandoned_outpost.yml
          - /Maps/Ruins/chunked_tcomms.yml
          - /Maps/Ruins/biodome_satellite.yml
          - /Maps/Ruins/derelict.yml
          - /Maps/Ruins/djstation.yml
          - /Maps/Ruins/empty_flagship.yml
          - /Maps/Ruins/old_ai_sat.yml
          - /Maps/Ruins/ruined_prison_ship.yml
          - /Maps/Ruins/syndicate_dropship.yml
          - /Maps/Ruins/whiteship_ancient.yml
          - /Maps/Ruins/whiteship_bluespacejumper.yml
          - /Maps/Ruins/wrecklaimer.yml
        # vgroid: !type:DungeonSpawnGroup # Frontier
          # minimumDistance: 300 # Frontier
          # maximumDistance: 350 # Frontier
          # nameDataset: NamesBorer # Frontier
          # stationGrid: false # Frontier
          # addComponents: # Frontier
          # - type: Gravity # Frontier
            # enabled: true # Frontier
            # inherent: true # Frontier
          # protos: # Frontier
          # - VGRoid # Frontier

- type: entity
  id: BaseStationCentcomm
  abstract: true
  components:
    - type: StationCentcomm

- type: entity
  id: BaseStationEvacuation
  abstract: true
  components:
    - type: StationEmergencyShuttle

- type: entity
  id: BaseStationAlertLevels
  abstract: true
  components:
    - type: AlertLevel
      alertLevelPrototype: stationAlerts

- type: entity
  id: BaseStationExpeditions
  abstract: true
  components:
    - type: SalvageExpeditionData

- type: entity
  id: BaseStationMagnet
  abstract: true
  components:
    - type: SalvageMagnetData

- type: entity
  id: BaseStationSiliconLawCrewsimov
  abstract: true
  components:
  - type: SiliconLawProvider
    laws: Crewsimov

- type: entity
  id: BaseStationNews
  abstract: true
  components:
    - type: StationNews

- type: entity
  id: BaseStationAllEventsEligible
  abstract: true
  components:
    - type: StationEventEligible # For when someone makes this more granular in the future.
