# SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lanse12 <cloudability.ez@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Theodore Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: regenerating pie cannon
  parent: BaseStorageItem
  id: LauncherCreamPieRegenerating
  description: A self-regenerating pie cannon.
  suffix: Regenerating
  components:
  - type: PacifismAllowedGun
  - type: Sprite
    sprite: Objects/Weapons/Guns/Cannons/pie_cannon.rsi
    layers:
    - state: piecannon
  - type: Gun
    fireRate: 2 # Lower fire-rate than the old one
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    - FullAuto
    soundGunshot:
      path: /Audio/Effects/thunk.ogg
    soundEmpty:
      path: /Audio/Items/hiss.ogg
    clumsyProof: true # It would be extremely, nay, extraordinarily funny if this was false
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 10
    rechargeSound:
      path: /Audio/Items/bikehorn.ogg
  - type: BasicEntityAmmoProvider
    proto: FoodPieBananaCream
    capacity: 2
    count: 2
  - type: Item
    size: Large
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []

# Lollypop stuff

- type: entity
  name: tricordrazine lollypop dispenser
  parent: LauncherLollypopRegenerating
  id: LauncherLollypopRegeneratingTricordazine
  description: Utilizes a in-built fabricator to generate tricordrazine lollypops from energy.
  suffix: Regenerating, DO NOT MAP
  categories: [ DoNotMap ]
  components:
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 30
    rechargeSound:
      path: /Audio/Items/pen_click.ogg
  - type: BasicEntityAmmoProvider
    proto: FoodSnackLollypopWrappedTricordrazine
    capacity: 3
    count: 3

- type: entity
  name: omnizine lollypop dispenser
  parent: LauncherLollypopRegenerating
  id: LauncherLollypopRegeneratingOmnizine
  description: Utilizes a in-built fabricator to generate omnizine lollypops from energy.
  suffix: Regenerating, DO NOT MAP
  categories: [ DoNotMap ]
  components:
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 90
    rechargeSound:
      path: /Audio/Items/pen_click.ogg
  - type: BasicEntityAmmoProvider
    proto: FoodSnackLollypopWrappedOmnizine
    capacity: 2
    count: 2

- type: entity
  name: weh! lollypop dispenser
  parent: LauncherLollypopRegenerating
  id: LauncherLollypopRegeneratingWeh
  description: Utilizes a in-built fabricator to generate Weh! lollypops from energy. Weh!
  suffix: Regenerating, DO NOT MAP
  categories: [ DoNotMap ]
  components:
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 20
    rechargeSound:
      path: /Audio/Items/pen_click.ogg
  - type: BasicEntityAmmoProvider
    proto: FoodSnackLollypopWrappedWeh
    capacity: 3
    count: 3

- type: entity
  name: mystery lollypop dispenser
  parent: LauncherLollypopRegenerating
  id: LauncherLollypopRegeneratingMystery
  description: Utilizes a in-built fabricator to generate randomized lollypops from energy.
  suffix: Regenerating, DO NOT MAP
  categories: [ DoNotMap ]
  components:
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 20
    rechargeSound:
      path: /Audio/Items/pen_click.ogg
  - type: BasicEntityAmmoProvider
    proto: FoodSnackLollypopWrappedMystery
    capacity: 3
    count: 3

- type: entity
  name: lollypop dispenser
  parent: BaseStorageItem
  id: LauncherLollypopRegenerating
  description: Utilizes a in-built fabricator to generate lollypops from energy.
  suffix: Regenerating, DO NOT MAP
  categories: [ DoNotMap ]
  components:
  - type: PacifismAllowedGun
  - type: Sprite
    sprite: _Goobstation/Objects/Consumable/Food/lollypop.rsi
    state: lollypop-dispenser
  - type: Gun
    fireRate: 2
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    - FullAuto
    soundGunshot:
      path: /Audio/Effects/thunk.ogg
    soundEmpty:
      path: /Audio/Items/hiss.ogg
    clumsyProof: true
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 10
    rechargeSound:
      path: /Audio/Items/pen_click.ogg
  - type: BasicEntityAmmoProvider
    proto: FoodSnackLollypopWrapped
    capacity: 5
    count: 5
  - type: Item
    size: Large
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []

- type: entity
  parent: LauncherCreamPieRegenerating
  id: SantaCannonRegenerating
  name: Santa's merry pneumatic cannon
  suffix: DO NOT MAP
  description: The only thing you'll need to spread christmas cheer!
  components:
  - type: BasicEntityAmmoProvider
    proto: PresentRandomUnsafe
    capacity: 2
    count: 2
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 5
    rechargeSound:
      path: /Audio/_Goobstation/Weapons/Guns/Gunshots/merrychristmas.ogg
