# Shuttle Game Rule Tables -- If you dont add your rules to these they wont be used by the games schedulers.

- type: entityTable
  id: UnknownShuttlesFriendlyTable
  table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
    children:
    #- id: UnknownShuttleCargoLost # Sunrise-Edit
    - id: UnknownShuttleTravelingCuisine
    - id: UnknownShuttleDisasterEvacPod
    - id: UnknownShuttleHonki
    - id: UnknownShuttleNTQuark
    - id: UnknownShuttleCruiser
    - id: UnknownShuttleCryptid
    - id: UnknownShuttleEternal
    - id: UnknownShuttleFlatline
    #- id: UnknownShuttleGym # Sunrise-Edit
    - id: UnknownShuttleNTIncorporation
    - id: UnknownShuttleJoe
    - id: UnknownShuttleLambordeere
    - id: UnknownShuttleMeatZone
    - id: UnknownShuttleMicroshuttle
    - id: UnknownShuttleSpacebus

- type: entityTable
  id: UnknownShuttlesFreelanceTable
  table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
    children:
    - id: UnknownShuttleSyndieEvacPod

- type: entityTable
  id: UnknownShuttlesHostileTable
  table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp
    children:
    - id: LoneOpsSpawn
    - id: UnknownShuttleManOWar
    - id: UnknownShuttleInstigator
    - id: UnknownShuttlePirateSmall # Sunrise-Edit
    - id: UnknownShuttlePirateMedium # Sunrise-Edit

# Shuttle Game Rules

- type: entity
  abstract: true
  parent: BaseGameRule
  id: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming
    startAudio:
      path: /Audio/_Sunrise/Announcements/announce_dig.ogg # Sunrise-edit
    weight: 5
    reoccurrenceDelay: 30
    duration: 1
    maxOccurrences: 1 # should be the same as [copies] in shuttle_incoming_event.yml
  - type: RuleGrids
  - type: LoadMapRule

# Sunrise-Edit
#- type: entity
#  parent: BaseUnknownShuttleRule
#  id: UnknownShuttleCargoLost
#  components:
#  - type: StationEvent
#    maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
#  - type: LoadMapRule
#    preloadedGrid: ShuttleCargoLost

- type: entity
  parent: BaseUnknownShuttleRule
  id: UnknownShuttleTravelingCuisine
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming
    maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
  - type: LoadMapRule
    preloadedGrid: TravelingCuisine

- type: entity
  parent: BaseUnknownShuttleRule
  id: UnknownShuttleDisasterEvacPod
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming
    maxOccurrences: 3 # should be the same as [copies] in shuttle_incoming_event.yml
  - type: LoadMapRule
    preloadedGrid: DisasterEvacPod

# The power of 3 clowns proved too strong for the players and may need to be 1984'ed. Replace this with a more engaging clown shuttle.
- type: entity
  parent: BaseUnknownShuttleRule
  id: UnknownShuttleHonki
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
    weight: 2
  - type: LoadMapRule
    preloadedGrid: Honki

- type: entity
  parent: BaseUnknownShuttleRule
  id: UnknownShuttleSyndieEvacPod
  components:
  - type: StationEvent
    startAnnouncement: null # It should be silent.
    weight: 5 # lower because weird freelance roles
    maxOccurrences: 2 # should be the same as [copies] in shuttle_incoming_event.yml
  - type: LoadMapRule
    preloadedGrid: SyndieEvacPod

- type: entity
  id: UnknownShuttleNTQuark
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null # It should be silent.
    weight: .5 # Hopefully this is uncommon enough, it needs to be uncommon enough that people wont waste time metaknowledging it.
    earliestStart: 45 # late to hopefully have enough ghosts to fill all roles quickly.
    minimumPlayers: 25
  - type: LoadMapRule
    preloadedGrid: NTQuark

- type: entity
  id: UnknownShuttleCruiser
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
    weight: 2 # Its just a big ship, so it needs to be rarer to be interesting.
  - type: LoadMapRule
    preloadedGrid: Cruiser

- type: entity
  id: UnknownShuttleCryptid
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
  - type: LoadMapRule
    preloadedGrid: Cryptid

- type: entity
  id: UnknownShuttleEternal
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
  - type: LoadMapRule
    preloadedGrid: Eternal

- type: entity
  id: UnknownShuttleFlatline
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
  - type: LoadMapRule
    preloadedGrid: Flatline

#Sunrise-Edit
# - type: entity
#   id: UnknownShuttleGym
#   parent: BaseUnknownShuttleRule
#   components:
#   - type: StationEvent
#     startAnnouncement: station-event-unknown-shuttle-incoming #!!
#     weight: 5 # Its just a big ship, so it needs to be rarer to be interesting.
#   - type: LoadMapRule
#     preloadedGrid: Gym

- type: entity
  id: UnknownShuttleNTIncorporation
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
    weight: 2 # Its just a big ship, so it needs to be rarer to be interesting.
    earliestStart: 45 # late to hopefully have enough ghosts to fill all roles quickly. (5-6)
  - type: LoadMapRule
    preloadedGrid: NTIncorporation

#Sunrise-Start
- type: entity
  id: UnknownShuttlePirateSmall
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    weight: 2
    earliestStart: 35
    minimumPlayers: 40
  - type: LoadMapRule
    preloadedGrid: PirateSmall

- type: entity
  id: UnknownShuttlePirateMedium
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    weight: 2
    earliestStart: 20
    minimumPlayers: 70
  - type: LoadMapRule
    preloadedGrid: PirateMedium
#Sunrise-end

- type: entity
  id: UnknownShuttleInstigator
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null #dont nark on antags
    weight: 1 #  lower because antags.
    earliestStart: 50 # late to hopefully have enough ghosts to fill all roles quickly (3) and because antags
  - type: LoadMapRule
    preloadedGrid: Instigator

- type: entity
  id: UnknownShuttleJoe
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
  - type: LoadMapRule
    preloadedGrid: Joe

- type: entity
  id: UnknownShuttleLambordeere
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
  - type: LoadMapRule
    preloadedGrid: Lambordeere

- type: entity
  id: UnknownShuttleManOWar
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #Leaving this one because theyre like primitives and its funnier
    weight: 1 # lower because antags
    earliestStart: 50 # late to hopefully have enough ghosts to fill all roles quickly. (4) & antags
  - type: LoadMapRule
    preloadedGrid: ManOWar

- type: entity
  id: UnknownShuttleMeatZone
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
  - type: LoadMapRule
    preloadedGrid: Meatzone

- type: entity
  id: UnknownShuttleMicroshuttle
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
    weight: 11 # this is higher because its just a little generic personal shuttle
    maxOccurrences: 4
  - type: LoadMapRule
    preloadedGrid: Microshuttle

- type: entity
  id: UnknownShuttleSpacebus
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: station-event-unknown-shuttle-incoming #!!
  - type: LoadMapRule
    preloadedGrid: Spacebus

# Sunrise-Start
# Геймрулы что могут быть заспавнены только админом
- type: entity
  id: ERTShuttleSmallAmber
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    startAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
    duration: -0
    endAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/DSO/ERT/ERT-Small-Amber.yml"

- type: entity
  id: ERTShuttleMediumRed
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    startAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
    duration: -0
    endAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/DSO/ERT/ERT-Medium-Red.yml"

- type: entity
  id: ERTShuttleCBURNSmall
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    startAudio: /Audio/_Sunrise/Announcements/sunrise_outbreak5.ogg
    duration: -0
    endAudio: /Audio/_Sunrise/Announcements/sunrise_outbreak5.ogg
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/DSO/CBURN/ERT-Small-CBURN.yml"

- type: entity
  id: ERTShuttleAssaultAmber
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    startAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
    duration: -0
    endAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/DSO/ERT/ertall_amber.yml"

- type: entity
  id: ERTShuttleAssaultRed
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    startAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
    duration: -0
    endAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/DSO/ERT/ertall_red.yml"

- type: entity
  id: ERTShuttleAssaultGamma
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    startAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
    duration: -0
    endAudio: /Audio/_Sunrise/Announcements/sunrise_ert_accepted.ogg
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/DSO/ERT/ertall_gamma.yml"


- type: entity
  id: PirateMedium
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    # startAudio: /Audio/Ambience/Antag/pirate_start.ogg
    # duration: -0
    # endAudio: /Audio/Ambience/Antag/pirate_start.ogg
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/pirate_medium.yml"

- type: entity
  id: PirateSmall
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
    # startAudio: /Audio/Ambience/Antag/pirate_start.ogg
    # duration: -0
    # endAudio: /Audio/Ambience/Antag/pirate_start.ogg
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/pirate_small.yml"

- type: entity
  id: NukeopsInfiltrator
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
  - type: LoadMapRule
    gridPath: "/Maps/_Sunrise/Shuttles/Antag/infiltrator_raid.yml"

- type: entity
  id: NukeopsInstigator
  parent: BaseUnknownShuttleRule
  components:
  - type: StationEvent
    startAnnouncement: null
  - type: LoadMapRule
    gridPath: "/Maps/Shuttles/ShuttleEvent/instigator.yml"
# Sunrise-End
