- type: entity
  id: PresentBase
  name: present
  description: A little box with incredible surprises inside.
  abstract: true
  components:
  - type: Sprite
    sprite: Objects/Decoration/present.rsi
    layers:
      - state: present

- type: entity
  id: Present
  parent: [PresentBase, BaseStorageItem]
  suffix: Empty
  components:
  - type: Item
    size: Normal

- type: entity
  id: PresentRandomUnsafe
  parent: [PresentBase, BaseItem]
  suffix: Filled, any item
  components:
  - type: RandomGift
    wrapper: PresentTrash
    sound:
      path: /Audio/Effects/unwrap.ogg
    insaneMode: false
    contentsViewers:
      components:
      - Ghost
      - Santa

- type: entity
  id: PresentRandomInsane
  parent: PresentRandomUnsafe
  suffix: Filled, any entity
  components:
    - type: RandomGift
      insaneMode: true

- type: entity
  id: PresentRandom
  parent: [PresentBase, BaseItem]
  suffix: Filled Safe
  components:
  - type: SpawnItemsOnUse
    items:
      - id: PresentTrash
      - id: Bucket
        orGroup: GiftPool
      - id: JetpackMiniFilled
        orGroup: GiftPool
      - id: PlushieGhost
        orGroup: GiftPool
      - id: PlushieBee
        orGroup: GiftPool
      - id: PlushieRGBee
        orGroup: GiftPool
      - id: PlushieNuke
        orGroup: GiftPool
      - id: PlushieRouny
        orGroup: GiftPool
      - id: PlushieLizard #Weh!
        orGroup: GiftPool
      - id: PlushieRainbowLizard
        orGroup: GiftPool
      - id: PlushieNar
        orGroup: GiftPool
      - id: PlushieCarp
        orGroup: GiftPool
      - id: PlushieMagicarp
        orGroup: GiftPool
      - id: PlushieHolocarp
        orGroup: GiftPool
      - id: PlushieRainbowCarp
        orGroup: GiftPool
      - id: PlushieSlime
        orGroup: GiftPool
      - id: PlushieSnake
        orGroup: GiftPool
      - id: PlushieVox
        orGroup: GiftPool
      - id: PlushieRatvar
        orGroup: GiftPool
      - id: PlushieSpaceLizard
        orGroup: GiftPool
      - id: PlushieSharkBlue
        orGroup: GiftPool
      - id: PlushieSharkPink
        orGroup: GiftPool
      - id: PlushieSharkGrey
        orGroup: GiftPool
      - id: ToyAmongPequeno
        orGroup: GiftPool
      - id: PlushieDiona
        orGroup: GiftPool
      - id: PlushieArachind
        orGroup: GiftPool
      - id: ClothingNeckCloakMoth
        orGroup: GiftPool
      - id: TennisBall
        orGroup: GiftPool
      - id: ToyMouse
        orGroup: GiftPool
      - id: ToyAi
        orGroup: GiftPool
      - id: ToyNuke
        orGroup: GiftPool
      - id: ToyFigurinePassenger
        orGroup: GiftPool
      - id: ToyFigurineGriffin
        orGroup: GiftPool
      - id: ToyHonk
        orGroup: GiftPool
      - id: ToyIan
        orGroup: GiftPool
      - id: ToyMarauder
        orGroup: GiftPool
      - id: ToyMauler
        orGroup: GiftPool
      - id: ToyGygax
        orGroup: GiftPool
      - id: ToyOdysseus
        orGroup: GiftPool
      - id: ToyFigurineOwlman
        orGroup: GiftPool
      - id: ToyDeathRipley
        orGroup: GiftPool
      - id: ToyPhazon
        orGroup: GiftPool
      - id: ToyFireRipley
        orGroup: GiftPool
      - id: ToyReticence
        orGroup: GiftPool
      - id: ToyRipley
        orGroup: GiftPool
      - id: ToySeraph
        orGroup: GiftPool
      - id: ToyDurand
        orGroup: GiftPool
      - id: ToyFigurineSkeleton
        orGroup: GiftPool
      - id: FoamBlade
        orGroup: GiftPool
      - id: AcousticGuitarInstrument
        orGroup: GiftPool
      - id: ViolinInstrument
        orGroup: GiftPool
      - id: TrumpetInstrument
        orGroup: GiftPool
      - id: ElectricGuitarInstrument
        orGroup: GiftPool
      - id: AccordionInstrument
        orGroup: GiftPool
      - id: HarmonicaInstrument
        orGroup: GiftPool
      - id: TromboneInstrument
        orGroup: GiftPool
      - id: FrenchHornInstrument
        orGroup: GiftPool
      - id: BanjoInstrument
        orGroup: GiftPool
      - id: SaxophoneInstrument
        orGroup: GiftPool
      - id: GlockenspielInstrument
        orGroup: GiftPool
      - id: RecorderInstrument
        orGroup: GiftPool
      - id: FluteInstrument
        orGroup: GiftPool
      - id: ClarinetInstrument
        orGroup: GiftPool
      - id: CelloInstrument
        orGroup: GiftPool
      - id: KalimbaInstrument
        orGroup: GiftPool
      - id: MicrophoneInstrument
        orGroup: GiftPool
      - id: BassGuitarInstrument
        orGroup: GiftPool
      - id: OcarinaInstrument
        orGroup: GiftPool
      - id: PanFluteInstrument
        orGroup: GiftPool
      - id: SynthesizerInstrument
        orGroup: GiftPool
      - id: BagpipeInstrument
        orGroup: GiftPool
      - id: GunpetInstrument
        orGroup: GiftPool
      - id: RockGuitarInstrument
        orGroup: GiftPool
      - id: MusicBoxInstrument
        orGroup: GiftPool
      - id: ViolaInstrument
        orGroup: GiftPool
      - id: ClothingNeckCloakTrans
        orGroup: GiftPool
      - id: ClothingNeckCloakAdmin
        orGroup: GiftPool
      - id: ToyFigurineSkeleton
        orGroup: GiftPool
      - id: Basketball
        orGroup: GiftPool
      - id: Football
        orGroup: GiftPool
      - id: BalloonCorgi
        orGroup: GiftPool
      - id: PonderingOrb
        orGroup: GiftPool
      - id: Skub
        orGroup: GiftPool
      - id: ClothingEyesGlassesGarGiga
        orGroup: GiftPool
      - id: ClothingEyesGlassesGarOrange
        orGroup: GiftPool
      - id: ClothingEyesGlassesGar
        orGroup: GiftPool
      - id: ClothingNeckBling
        orGroup: GiftPool
      - id: ClothingHeadHelmetCosmonaut
        orGroup: GiftPool
      - id: ClothingShoeSlippersDuck
        orGroup: GiftPool
      - id: ClothingUnderSocksBee
        orGroup: GiftPool
      - id: ClothingUnderSocksCoder
        orGroup: GiftPool
      - id: ClothingBeltUtilityFilled
        orGroup: GiftPool
      - id: WeaponFlareGun
        orGroup: GiftPool
      - id: ResearchDisk
        orGroup: GiftPool
      - id: Machete
        orGroup: GiftPool
      - id: BaseBallBat
        orGroup: GiftPool
      - id: CombatKnife
        orGroup: GiftPool
      - id: FlashlightLantern
        orGroup: GiftPool
      - id: Spear
        orGroup: GiftPool
      - id: LidSalami
        orGroup: GiftPool
      - id: Soap
        orGroup: GiftPool
      - id: SoapHomemade
        orGroup: GiftPool
      - id: SoapNT
        orGroup: GiftPool
      - id: SoapDeluxe
        orGroup: GiftPool
      - id: SoapSyndie
        orGroup: GiftPool
      - id: SoapOmega
        orGroup: GiftPool
      - id: BedsheetCosmos
        orGroup: GiftPool
      - id: BedsheetIan
        orGroup: GiftPool
      - id: FoodBoxDonkpocket
        orGroup: GiftPool
      - id: FoodBoxDonkpocketSpicy
        orGroup: GiftPool
      - id: FoodBoxDonkpocketTeriyaki
        orGroup: GiftPool
      - id: FoodBoxDonkpocketPizza
        orGroup: GiftPool
      - id: FoodBoxDonkpocketStonk
        orGroup: GiftPool
      - id: FoodBoxDonkpocketCarp
        orGroup: GiftPool
      - id: FoodBoxDonkpocketBerry
        orGroup: GiftPool
      - id: FoodBoxDonkpocketHonk
        orGroup: GiftPool
      - id: FoodBoxDonkpocketMoth
        orGroup: GiftPool
      - id: ClothingHandsGlovesColorPurple
        orGroup: GiftPool
      - id: ClothingHandsGlovesColorYellow
        orGroup: GiftPool
      - id: ClothingHandsGlovesColorYellowBudget
        orGroup: GiftPool
      - id: ClothingEyesGlassesSunglasses
        orGroup: GiftPool
      - id: ClothingHeadHatOutlawHat
        orGroup: GiftPool
      - id: ClothingHeadHatSantahat
        orGroup: GiftPool
      - id: ClothingHeadHatUshanka
        orGroup: GiftPool
      - id: ClothingHeadHatXmasCrown
        orGroup: GiftPool
      - id: ClothingHeadHatBunny
        orGroup: GiftPool
      - id: ClothingHeadHatFlowerWreath
        orGroup: GiftPool
      - id: FoodPoppy
        orGroup: GiftPool
      - id: ClothingMaskClown
        orGroup: GiftPool
      - id: ClothingOuterCoatGentle
        orGroup: GiftPool
      - id: ClothingOuterCoatJensen
        orGroup: GiftPool
      - id: ClothingOuterHoodieBlack
        orGroup: GiftPool
      - id: ClothingOuterHoodieGrey
        orGroup: GiftPool
      - id: ClothingOuterVestWebMerc
        orGroup: GiftPool
      - id: ClothingShoesFlippers
        orGroup: GiftPool
      - id: ClothingUniformJumpsuitAncient
        orGroup: GiftPool
      - id: ClothingUniformJumpsuitDetectiveGrey
        orGroup: GiftPool
      - id: ClothingUniformJumpsuitColorMaroon
        orGroup: GiftPool
      - id: ClothingUniformColorRainbow
        orGroup: GiftPool
      - id: ClothingUniformJumpskirtColorRainbow
        orGroup: GiftPool
      - id: ClothingUniformOveralls
        orGroup: GiftPool
      - id: ClothingUniformJumpskirtDetectiveGrey
        orGroup: GiftPool
      - id: ClothingUniformJumpskirtColorMaroon
        orGroup: GiftPool
      - id: ClothingUniformJumpskirtJanimaid
        orGroup: GiftPool
      - id: PersonalAI
        orGroup: GiftPool
      - id: DiceBag
        orGroup: GiftPool
      - id: CrayonBox
        orGroup: GiftPool
      - id: ClothingHeadHatCatEars
        orGroup: GiftPool
      - id: ClothingHeadHatDogEars
        orGroup: GiftPool
      - id: ToySword
        orGroup: GiftPool
      - id: RevolverCapGun
        orGroup: GiftPool
      - id: Ash
        orGroup: GiftPool
      - id: Coal1
        orGroup: GiftPool
      - id: MiningDrill
        orGroup: GiftPool
      - id: CowToolboxFilled
        orGroup: GiftPool
      - id: ClothingUniformJumpsuitEngineeringHazard
        orGroup: GiftPool
      - id: Bola
        orGroup: GiftPool
      - id: GlowstickGreen
        orGroup: GiftPool
      - id: GlowstickBlue
        orGroup: GiftPool
      - id: GlowstickPurple
        orGroup: GiftPool
      - id: GlowstickRed
        orGroup: GiftPool
      - id: GlowstickYellow
        orGroup: GiftPool
      - id: ToyRubberDuck
        orGroup: GiftPool
      - id: BalloonSyn
        orGroup: GiftPool
      - id: RGBStaff
        orGroup: GiftPool
    sound:
      path: /Audio/Effects/unwrap.ogg

- type: entity
  id: PresentRandomCoal
  parent: [PresentBase, BaseItem]
  suffix: Filled Coal
  components:
  - type: SpawnItemsOnUse
    items:
      - id: PresentTrash
      - id: Coal1
        orGroup: GiftPool
      - id: Coal5
        prob: .4
        orGroup: GiftPool
      - id: Coal10
        prob: .2
        orGroup: GiftPool
      - id: Coal15
        prob: .1
        orGroup: GiftPool
    sound:
      path: /Audio/Effects/unwrap.ogg

- type: entity
  id: PresentRandomCash
  parent: [PresentBase, BaseItem]
  suffix: Filled Cash
  components:
  - type: SpawnItemsOnUse
    items:
      - id: PresentTrash
      - id: SpaceCash
        prob: .01
        orGroup: GiftPool
      - id: SpaceCash10
        prob: .1
        orGroup: GiftPool
      - id: SpaceCash100
        prob: .5
        orGroup: GiftPool
      - id: SpaceCash500
        orGroup: GiftPool
      - id: SpaceCash1000
        prob: .01
        orGroup: GiftPool
      - id: SpaceCash2500
        prob: .004
        orGroup: GiftPool
      - id: SpaceCash5000
        prob: .002
        orGroup: GiftPool
      - id: SpaceCash10000
        prob: .001
        orGroup: GiftPool
      - id: SpaceCash1000000
        prob: .000001
        orGroup: GiftPool
    sound:
      path: /Audio/Effects/unwrap.ogg

- type: entity
  id: PresentTrash
  categories: [ HideSpawnMenu ]
  parent: BaseItem
  name: wrapping paper
  description: Carefully folded, taped, and tied with a bow. Then ceremoniously ripped apart and tossed on the floor.
  components:
  - type: Sprite
    sprite: Objects/Decoration/present.rsi
    layers:
      - state: unwrapped
  - type: Tag
    tags:
    - Trash
  - type: SpaceGarbage
