# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 yglop <95057024+yglop@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: BaseMail
  id: MailEMP
  suffix: EMP
  components:
  - type: Mail
    contents:
    - id: DelayedEMP
    - id: PaperMailNFEMPPreparedness

- type: entity
  parent: BaseMail
  id: MailSmoke
  suffix: Smoke
  components:
  - type: Mail
    contents:
    - id: DelayedSmoke

- type: entity
  parent: BaseMail
  id: MailPAI
  suffix: PAI
  components:
  - type: Mail
    contents:
    - id: PersonalAI
      orGroup: PAI
      prob: 0.75
    - id: ScrapPAI
      orGroup: PAI
      prob: 0.19
    - id: ScrapPAIGold
      orGroup: PAI
      prob: 0.19
      # Ultra rare
    - id: SyndicatePersonalAI
      orGroup: PAI
      prob: 0.01

- type: entity
  parent: BaseMail
  id: MailPlushie
  suffix: Plushies
  components:
  - type: Mail
    contents:
      # These are all grouped up now to guarantee at least one item received.
      # The downside is you're not going to get half a dozen plushies anymore.
    - id: PlushieBee
      orGroup: Plushie
    - id: PlushieRGBee
      prob: 0.5
      orGroup: Plushie
    - id: PlushieNuke
      orGroup: Plushie
    - id: PlushieArachind #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: PlushieAtmosian #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: PlushieXeno #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: PlushiePenguin #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: PlushieGhost #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: PlushieDiona #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: ToyMouse #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: PlushieRouny
      orGroup: Plushie
    - id: PlushieLizard
      orGroup: Plushie
    - id: PlushieSpaceLizard
      orGroup: Plushie
    - id: PlushieRatvar
      orGroup: Plushie
    - id: PlushieNar
      orGroup: Plushie
    - id: PlushieCarp
      orGroup: Plushie
    - id: PlushieHolocarp #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: PlushieRainbowCarp #DeltaV - Adds MORE PLUSHIE
      orGroup: Plushie
    - id: PlushieSlime
      orGroup: Plushie
    - id: PlushieSnake
      orGroup: Plushie
    - id: PlushieMoth
      prob: 0.5
      orGroup: Plushie

- type: entity
  parent: BaseMail
  id: MailNFVagueThreat
  suffix: Vague threat
  components:
  - type: Mail
    contents:
    - id: PaperMailNFVagueThreat1
      orGroup: Paper
    - id: PaperMailNFVagueThreat2
      orGroup: Paper
    - id: PaperMailNFVagueThreat3
      orGroup: Paper
    - id: PaperMailNFVagueThreat4
      orGroup: Paper
    - id: PaperMailNFVagueThreat5
      orGroup: Paper
    - id: PaperMailNFVagueThreat6
      orGroup: Paper
    - id: PaperMailNFVagueThreat7
      orGroup: Paper
    - id: PaperMailNFVagueThreat8
      orGroup: Paper
    - id: PaperMailNFVagueThreat9
      orGroup: Paper
    - id: PaperMailNFVagueThreat10
      orGroup: Paper
    - id: PaperMailNFVagueThreat11
      orGroup: Paper
    - id: PaperMailNFVagueThreat12
      orGroup: Paper
    - id: KitchenKnife
      orGroup: ThreateningObject
    - id: ButchCleaver
      orGroup: ThreateningObject
    - id: CombatKnife
      orGroup: ThreateningObject
    - id: SurvivalKnife
      orGroup: ThreateningObject
    - id: SoapHomemade
      orGroup: ThreateningObject
    - id: FoodMeat
      orGroup: ThreateningObject
    - id: OrganHumanHeart
      orGroup: ThreateningObject

- type: entity
  parent: BaseMail
  id: MailFigurines
  suffix: Figurines
  components:
  - type: Mail
    contents:
    - id: MysteryFigureBox
      amount: 3

- type: entity
  parent: BaseMailLarge
  id: MailPlushieThrongler
  suffix: Plushie Throngler
  components:
  - type: Mail
    contents:
    - id: PlushieThrongler

- type: entity
  parent: BaseMail
  id: MailInstrumentSmall
  suffix: Instruments
  components:
  - type: Mail
    contents:
    - id: TrumpetInstrument
      orGroup: Instrument
    - id: RecorderInstrument
      orGroup: Instrument
    - id: ClarinetInstrument
      orGroup: Instrument
    - id: FluteInstrument
      orGroup: Instrument
    - id: HarmonicaInstrument
      orGroup: Instrument
    - id: OcarinaInstrument
      orGroup: Instrument
    - id: PanFluteInstrument
      orGroup: Instrument
    - id: KalimbaInstrument
      orGroup: Instrument
    - id: WoodblockInstrument
      orGroup: Instrument
    - id: BikeHornInstrument
      orGroup: Instrument
    - id: MusicBoxInstrument
      orGroup: Instrument
    - id: MicrophoneInstrument
      orGroup: Instrument
    - id: MusicalLungInstrument
      orGroup: Instrument
    # Uncommon
    - id: PhoneInstrument
      orGroup: Instrument
      prob: 0.1
    # Rare
    - id: BananaPhoneInstrument
      orGroup: Instrument
      prob: 0.05
    # Ultra-rare
    - id: PhoneInstrumentSyndicate
      orGroup: Instrument
      prob: 0.01

- type: entity
  parent: BaseMail
  id: MailCritters
  suffix: Critters
  components:
  - type: Mail
    isFragile: true
    contents:
      # Bugs (weight: 2)
      - id: MobCockroach
        orGroup: Critter
        prob: 0.36
      - id: MobLootbug
        orGroup: Critter
        prob: 0.36
      - id: MobSlug
        orGroup: Critter
        prob: 0.36
      - id: MobArgocyteSlurva # honorary bug?
        orGroup: Critter
        prob: 0.36
      - id: MobBee
        orGroup: Critter
        prob: 0.36
      - id: MobButterfly
        orGroup: Critter
        prob: 0.36
        # Uncommon
      - id: MobMothroach
        orGroup: Critter
        prob: 0.2
      # Small reptiles (weight: 1)
      - id: MobLizard
        orGroup: Critter
        prob: 0.34
      - id: MobSnake
        orGroup: Critter
        prob: 0.33
      - id: MobFrog
        orGroup: Critter
        prob: 0.33
      # Small mammals (weight: 1)
      - id: MobMouse
        orGroup: Critter
        prob: 0.33
      - id: MobMouse1
        orGroup: Critter
        prob: 0.33
      - id: MobMouse2
        orGroup: Critter
        prob: 0.33
      - id: MobMousePlague
        orGroup: Critter
        prob: 0.05
      - id: MobMouseCancer
        orGroup: Critter
        prob: 0.01 # Rare

- type: entity
  parent: BaseMail
  id: MailFlowers
  suffix: Flowers
  components:
  - type: Mail
    contents:
    - id: ClothingHeadHatFlowerWreath
      orGroup: Flowers
    - id: FoodPoppy
      orGroup: Flowers
    - id: FoodLily

- type: entity
  parent: BaseMail
  id: MailCrayons
  suffix: Crayons
  components:
  - type: Mail
    contents:
    - id: CrayonBox

- type: entity
  parent: BaseMail
  id: MailLowMoney
  suffix: Money
  components:
  - type: Mail
    contents:
    - id: SpaceCash100
      orGroup: Cash
      prob: 0.1
      maxAmount: 10
    - id: SpaceCash500
      orGroup: Cash
      prob: 0.3
      maxAmount: 5
    - id: SpaceCash1000
      orGroup: Cash
      prob: 0.6
      maxAmount: 3
