# Tables --  Add your new event to this Table if you want it to happen via the basic/ramping schedulers.

- type: entityTable
  id: CargoGiftsTable
  table: !type:GroupSelector # ~~we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp~~ But we arent doing that shit yet, it picks a random one StationEventComp be damned.
    children:
    - id: GiftsEngineering
    - id: GiftsFireProtection
    - id: GiftsJanitor
    - id: GiftsMedical
    - id: GiftsPizzaPartyLarge
    - id: GiftsPizzaPartySmall
    - id: GiftsSecurityGuns
    - id: GiftsSecurityRiot
    - id: GiftsSpacingSupplies
    - id: GiftsVendingRestock

# Game Rules

- type: entity
  id: CargoGiftsBase
  parent: BaseGameRule
  abstract: true
  components:
  - type: GameRule
    delay:
      min: 10
      max: 10
  - type: StationEvent
    startColor: "#18abf5"
    startAudio:
      path: /Audio/Announcements/announce.ogg
  - type: CargoGiftsRule
    sender: cargo-gift-default-sender

- type: entity
  id: GiftsPizzaPartySmall
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 5
    duration: 120
    earliestStart: 20
  - type: CargoGiftsRule
    description: cargo-gift-pizza-small
    dest: cargo-gift-dest-bar
    gifts:
      FoodPizza: 1      # 4 pizzas (32 slices total)
      FoodSoftdrinks: 1 # 16 sodas

- type: entity
  id: GiftsPizzaPartyLarge
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 2
    duration: 240
    earliestStart: 20
    minimumPlayers: 40
  - type: CargoGiftsRule
    description: cargo-gift-pizza-large
    dest: cargo-gift-dest-bar
    gifts:
      FoodPizza: 4      # 16 pizzas (128 slices total)
      FoodSoftdrinks: 2 # 32 sodas

- type: entity
  id: GiftsEngineering
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 5
    duration: 240
    earliestStart: 30
    minimumPlayers: 10
  - type: CargoGiftsRule
    description: cargo-gift-eng
    dest: cargo-gift-dest-eng
    gifts:
      EngineeringCableBulk: 1
      AirlockKit: 1
      MaterialSteel: 1
      MaterialPlasteel: 1
      MaterialGlass: 1
      CrateVendingMachineRestockEngineering: 1

- type: entity
  id: GiftsVendingRestock
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 4
    duration: 120
    minimumPlayers: 40
    earliestStart: 30
  - type: CargoGiftsRule
    description: cargo-gift-vending
    dest: cargo-gift-dest-supp
    gifts:
      CrateVendingMachineRestockHotDrinks: 3
      CrateVendingMachineRestockBooze: 1
      CrateVendingMachineRestockNutriMax: 1
      CrateVendingMachineRestockRobustSoftdrinks: 2
      CrateVendingMachineRestockVendomat: 1
      CrateVendingMachineRestockGetmoreChocolateCorp: 1

- type: entity
  id: GiftsJanitor
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 6
    duration: 120
    minimumPlayers: 30
    earliestStart: 20
  - type: CargoGiftsRule
    description: cargo-gift-cleaning
    dest: cargo-gift-dest-janitor
    gifts:
      JanitorialSupplies: 2
      JanitorialLightsReplacement: 2
      JanitorialBiosuit: 1

- type: entity
  id: GiftsMedical
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 8
    duration: 120
    earliestStart: 20
    minimumPlayers: 30
  - type: CargoGiftsRule
    description: cargo-gift-medical-supply
    dest: cargo-gift-dest-med
    gifts:
      MedicalSupplies: 1
      MedicalChemistrySupplies: 1
      EmergencyBruteKit: 1
      EmergencyAdvancedKit: 1
      MedicalBiosuit: 1

- type: entity
  id: GiftsSpacingSupplies
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 4
    duration: 120
    earliestStart: 10
    minimumPlayers: 40
  - type: CargoGiftsRule
    description: cargo-gift-space-protection
    dest: cargo-gift-dest-supp
    gifts:
      EmergencyEVA: 2
      EmergencyInflatablewall: 1
      EmergencyAdvancedKit: 1
      MedicalBiosuit: 1
      EmergencyO2Kit: 1

- type: entity
  id: GiftsFireProtection
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 4
    duration: 120
    earliestStart: 20
    minimumPlayers: 40
  - type: CargoGiftsRule
    description: cargo-gift-fire-protection
    dest: cargo-gift-dest-supp
    gifts:
      EmergencyFire: 2
      EmergencyBurnKit: 1
      EmergencyBruteKit: 1

- type: entity
  id: GiftsSecurityGuns
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 3
    duration: 120
    earliestStart: 20
    minimumPlayers: 50
  - type: CargoGiftsRule
    description: cargo-gift-security-guns
    dest: cargo-gift-dest-sec
    gifts:
      SecurityArmor: 3
      ArmorySmg: 1
      ArmoryShotgun: 1
      ArmoryLaser: 1
      ArmoryRifle: 1

- type: entity
  id: GiftsSecurityRiot
  parent: CargoGiftsBase
  components:
  - type: StationEvent
    weight: 4
    duration: 120
    earliestStart: 20
    minimumPlayers: 50
  - type: CargoGiftsRule
    description: cargo-gift-security-riot
    dest: cargo-gift-dest-sec
    gifts:
      SecurityRiot: 2
      SecurityRestraints: 2
      SecurityNonLethal: 2
      SecurityNonlethalThrowables: 1
