# SPDX-FileCopyrightText: 2023 Derby <Derby@ss14>
# SPDX-FileCopyrightText: 2023 DerbyX <50932435+DerbyX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
#
# SPDX-License-Identifier: MIT

- type: entity
  id: MysteryFigureBoxTrash
  parent: BaseItem
  name: unfolded cardboard box
  description: A small, unfolded cardboard toy box.
  components:
  - type: PhysicalComposition
    materialComposition:
      Cardboard: 50
  - type: Sprite
    sprite: Objects/Fun/figurines.rsi
    state: fig_box_unfolded
  - type: Tag
    tags:
    - Trash
  - type: SpaceGarbage

- type: entity
  parent: PresentRandom
  id: MysteryFigureBox
  name: mystery spacemen minifigure box
  description: A box containing a mystery minifigure. The side of the box depicts a few blacked-out 'rare' figures, including one with a large, non-humanoid shilouette.
  components:
  - type: Sprite
    sprite: Objects/Fun/figurines.rsi
    layers:
      - state: fig_box
  - type: SpawnItemsOnUse
    items:
      - id: MysteryFigureBoxTrash
      - id: ToyFigurinePassenger
        orGroup: SpacemenFig
      - id: ToyFigurineClown
        orGroup: SpacemenFig
      - id: ToyFigurineMime
        orGroup: SpacemenFig
      - id: ToyFigurineMusician
        orGroup: SpacemenFig
      - id: ToyFigurineBoxer
        orGroup: SpacemenFig
      - id: ToyFigurineCaptain
        orGroup: SpacemenFig
      - id: ToyFigurineHeadOfSecurity
        orGroup: SpacemenFig
      - id: ToyFigurineWarden
        orGroup: SpacemenFig
      - id: ToyFigurineDetective
        orGroup: SpacemenFig
      - id: ToyFigurineSecurity
        orGroup: SpacemenFig
      - id: ToyFigurineLawyer
        orGroup: SpacemenFig
      - id: ToyFigurineCargoTech
        orGroup: SpacemenFig
      - id: ToyFigurineSalvage
        orGroup: SpacemenFig
      - id: ToyFigurineQuartermaster
        orGroup: SpacemenFig
      - id: ToyFigurineChiefEngineer
        orGroup: SpacemenFig
      - id: ToyFigurineAtmosTech
        orGroup: SpacemenFig
      - id: ToyFigurineEngineer
        orGroup: SpacemenFig
      - id: ToyFigurineResearchDirector
        orGroup: SpacemenFig
      - id: ToyFigurineScientist
        orGroup: SpacemenFig
      - id: ToyFigurineChiefMedicalOfficer
        orGroup: SpacemenFig
      - id: ToyFigurineChemist
        orGroup: SpacemenFig
      - id: ToyFigurineParamedic
        orGroup: SpacemenFig
      - id: ToyFigurineMedicalDoctor
        orGroup: SpacemenFig
      - id: ToyFigurineHeadOfPersonnel
        orGroup: SpacemenFig
      - id: ToyFigurineLibrarian
        orGroup: SpacemenFig
      - id: ToyFigurineChaplain
        orGroup: SpacemenFig
      - id: ToyFigurineChef
        orGroup: SpacemenFig
      - id: ToyFigurineBartender
        orGroup: SpacemenFig
      - id: ToyFigurineBotanist
        orGroup: SpacemenFig
      - id: ToyFigurineJanitor
        orGroup: SpacemenFig
      - id: ToyFigurineNukie
        orGroup: SpacemenFig
      - id: ToyFigurineNukieElite
        orGroup: SpacemenFig
      - id: ToyFigurineDevil # Goobstation
        orGroup: SpacemenFig
      - id: ToyFigurineFootsoldier
        orGroup: SpacemenFig
      - id: ToyFigurineWizardFake
        orGroup: SpacemenFig
      - id: ToyFigurineSlime
        orGroup: SpacemenFig
      - id: ToyFigurineGreytider
        orGroup: SpacemenFig
      - id: ToyFigurineWizard
        prob: 0.50
        orGroup: SpacemenFig
      - id: ToyFigurineNukieCommander
        prob: 0.50
        orGroup: SpacemenFig
      - id: ToyGriffin
        prob: 0.50
        orGroup: SpacemenFig
      - id: ToyOwlman
        prob: 0.50
        orGroup: SpacemenFig
      - id: ToySkeleton
        prob: 0.50
        orGroup: SpacemenFig
      - id: ToyFigurineRatKing
        prob: 0.30
        orGroup: SpacemenFig
      - id: ToyFigurineRatServant
        prob: 0.40
        orGroup: SpacemenFig
      - id: ToyFigurineMouse
        prob: 0.50
        orGroup: SpacemenFig
      - id: ToyFigurineQueen
        prob: 0.25
        orGroup: SpacemenFig
      - id: ToyFigurineSpaceDragon
        prob: 0.10
        orGroup: SpacemenFig
      - id: ToyFigurineHamlet
        prob: 0.20
        orGroup: SpacemenFig
      - id: ToyFigurineCosmicCultist # DeltaV Figurine
        prob: 0.50
        orGroup: SpacemenFig

- type: entity
  parent: BaseItem
  id: MysteryLighterBox
  name: Novelty lighter mystery box
  suffix: Filled
  description: A box of discontinued promotional lighters, many of which have since been declared "contraband".
  components:
  - type: Sprite
    sprite: Objects/Fun/figurines.rsi
    layers:
    - state: fig_box
  - type: SpawnItemsOnUse
    items:
      - id: MysteryFigureBoxTrash
      - id: CybersunFlippo
        orGroup: Lighterbox
        weight: 0.15
      - id: InterdyneFlippo
        orGroup: Lighterbox
        weight: 0.15
      - id: NanotrasenFlippo
        orGroup: Lighterbox
        weight: 0.25
      - id: WaffleCoFlippo
        orGroup: Lighterbox
        weight: 0.35
      - id: HonkCoFlippo
        orGroup: Lighterbox
      - id: GorlexMatchbox
        orGroup: Lighterbox
        weight: 0.15
      - id: DonkcoLighter
        orGroup: Lighterbox
        weight: 0.25
      - id: SyndicateFlippo
        orGroup: Lighterbox
        weight: 0.15

- type: entity
  parent: MysteryLighterBox
  id: UplinkLighterBox
  suffix: Uplink
  components:
  - type: SpawnItemsOnUse
    items:
      - id: MysteryFigureBoxTrash
      - id: CybersunFlippo
        orGroup: Lighterbox
      - id: InterdyneFlippo
        orGroup: Lighterbox
      - id: WaffleCoFlippo
        orGroup: Lighterbox
      - id: GorlexMatchbox
        orGroup: Lighterbox
      - id: DonkcoLighter
        orGroup: Lighterbox
      - id: SyndicateFlippo
        orGroup: Lighterbox
