# SPDX-FileCopyrightText: 2020 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Ygg01 <daniel.fath7@gmail.com>
# SPDX-FileCopyrightText: 2021 Galactic Chimp <GalacticChimpanzee@gmail.com>
# SPDX-FileCopyrightText: 2021 Metal Gear Sloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2021 Paul Ritter <ritter.paul1@gmail.com>
# SPDX-FileCopyrightText: 2021 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2022 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Fishfish458 <47410468+Fishfish458@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Justin Trotter <trotter.justin@gmail.com>
# SPDX-FileCopyrightText: 2022 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Moony <moonheart08@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Morb <14136326+Morb0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 fishfish458 <fishfish458>
# SPDX-FileCopyrightText: 2022 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2023 NonchalantNoob <59374558+NonchalantNoob@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Puro <103608145+PuroSlavKing@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Sailor <109166122+Equivocateur@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 potato1234_x <79580518+potato1234x@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 potato1234x <79580518+potato1234x@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 vanx <#vanxxxx>
# SPDX-FileCopyrightText: 2023 vanx <61917534+Vaaankas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 vanx <vanx#5477>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Fishbait <Fishbait@git.ml>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 fishbait <gnesse@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: ClothingBackpack
  id: ClothingBackpackDuffel
  name: duffel bag
  description: A large duffel bag for holding extra things.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/duffel.rsi
  - type: Storage
    maxItemSize: Huge
    grid:
    - 0,0,7,4
  - type: ClothingSpeedModifier
    walkModifier: 1
    sprintModifier: 0.9
  - type: HeldSpeedModifier

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelEngineering
  name: engineering duffel bag
  description: A large duffel bag for holding extra tools and supplies.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/engineering.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelAtmospherics
  name: atmospherics duffel bag
  description: A large duffel bag made of fire resistant fibers. Smells like plasma.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/atmospherics.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelMedical
  name: medical duffel bag
  description: A large duffel bag for holding extra medical supplies.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/medical.rsi

- type: entity
  parent: [ClothingBackpackDuffel, BaseCommandContraband]
  id: ClothingBackpackDuffelCaptain
  name: captain's duffel bag
  description: A large duffel bag for holding extra captainly goods.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/captain.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelClown
  name: clown duffel bag
  description: A large duffel bag for holding extra honk goods.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/clown.rsi
  - type: Storage
    storageOpenSound:
      collection: BikeHorn

- type: entity
  parent: [ClothingBackpackDuffel, BaseSecurityContraband]
  id: ClothingBackpackDuffelSecurity
  name: security duffel bag
  description: A large duffel bag for holding extra security related goods.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/security.rsi

- type: entity
  parent: [ClothingBackpackDuffel, BaseSecurityContraband]
  id: ClothingBackpackDuffelBrigmedic
  name: brigmedic duffel bag
  description: A large duffel bag for holding extra medical related goods.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/brigmedic.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelChemistry
  name: chemistry duffel bag
  description: A large duffel bag for holding extra beakers and test tubes.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/chemistry.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelVirology
  name: virology duffel bag
  description: A large duffel bag made of hypo-allergenic fibers. It's designed to help prevent the spread of disease. Smells like monkey.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/virology.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelGenetics
  name: genetics duffel bag
  description: A large duffel bag for holding extra genetic mutations.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/genetics.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelMime
  name: mime duffel bag
  description: A large duffel bag for holding... mime... stuff.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/mime.rsi
  - type: Storage
    storageOpenSound:
      collection: null
    storageInsertSound:
      collection: null

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelScience
  name: science duffel bag
  description: A large duffel bag for holding extra science related goods.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/science.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelHydroponics
  name: hydroponics duffel bag
  description: A large duffel bag for holding extra gardening tools.
  components:
    - type: Sprite
      sprite: Clothing/Back/Duffels/hydroponics.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelCargo
  name: cargo duffel bag
  description: A large duffel bag for stealing cargo's precious loot.
  components:
    - type: Sprite
      sprite: Clothing/Back/Duffels/cargo.rsi

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelSalvage
  name: salvage duffel bag
  description: A large duffel bag for holding extra exotic treasures.
  components:
    - type: Sprite
      sprite: Clothing/Back/Duffels/salvage.rsi

- type: entity
  parent: [ClothingBackpackDuffel, BaseSyndicateContraband]
  id: ClothingBackpackDuffelSyndicate
  name: syndicate duffel bag
  description: A large duffel bag for holding various traitor goods.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/syndicate.rsi
  - type: ExplosionResistance
    damageCoefficient: 0.1
  - type: Storage
    grid:
    - 0,0,8,4

- type: entity
  parent: [ ClothingBackpackDuffelSyndicate, BaseSyndicateContraband ]
  id: ClothingBackpackDuffelSyndicateBundle
  abstract: true
  components:
  - type: Tag
    tags: [] # ignore "WhitelistChameleon" tag

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelBundle
  abstract: true
  components:
  - type: Tag
    tags: [] # ignore "WhitelistChameleon" tag

- type: entity
  parent: ClothingBackpackDuffelSyndicate
  id: ClothingBackpackDuffelSyndicateAmmo
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/syndicate.rsi
    state: icon-ammo
  - type: Item
    heldPrefix: ammo
  - type: Clothing
    equippedPrefix: ammo

- type: entity
  parent: ClothingBackpackDuffelSyndicateAmmo
  id: ClothingBackpackDuffelSyndicateAmmoBundle
  abstract: true
  components:
    - type: Tag
      tags: [] # ignore "WhitelistChameleon" tag

- type: entity
  parent: ClothingBackpackDuffelSyndicate
  id: ClothingBackpackDuffelSyndicateMedical
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/syndicate.rsi
    state: icon-med
  - type: Item
    heldPrefix: med
  - type: Clothing
    equippedPrefix: med

- type: entity
  parent: ClothingBackpackDuffelSyndicateMedical
  id: ClothingBackpackDuffelSyndicateMedicalBundle
  abstract: true
  components:
    - type: Tag
      tags: [] # ignore "WhitelistChameleon" tag

- type: entity
  parent: ClothingBackpackDuffel
  id: ClothingBackpackDuffelHolding
  name: duffelbag of holding
  description: A duffelbag that opens into a localized pocket of bluespace.
  components:
  - type: Sprite
    sprite: Clothing/Back/Duffels/holding.rsi
    state: icon
    layers:
    - state: icon
    - state: icon-unlit
      shader: unshaded
  - type: Item
    size: Ginormous
  - type: Storage
    maxItemSize: Huge
    grid:
    - 0,0,19,9
  - type: ClothingSpeedModifier
    sprintModifier: 1 # makes its stats identical to other variants of bag of holding
  - type: HeldSpeedModifier
  - type: PhysicalComposition #Goobstation - Recycle update
    materialComposition:
      Steel: 500
      Silver: 187
      Plasma: 375
      Uranium: 37
      BSCrystal: 50
  - type: StaticPrice #Goobstation - Recycle update
    price: 1850
  - type: HideContrabandContent #Goobstation Contraband detector

- type: entity
  parent: [ ClothingBackpackDuffel, BaseCentcommContraband ]
  id: ClothingBackpackDuffelCBURN
  name: biohazard containment duffel bag # Goobstation
  description: A duffel bag containing a variety of biological containment equipment.
  components:
  - type: Storage
    maxItemSize: Huge
    grid: # Goobstation
    - 0,0,8,4
  - type: Sprite
    sprite: /Textures/_Goobstation/Clothing/Back/Duffels/cburn.rsi # Goobstation
  - type: ClothingSpeedModifier
    walkModifier: 1
    sprintModifier: 1
  - type: HeldSpeedModifier
  - type: ExplosionResistance # Goobstation
    damageCoefficient: 0.1
  #- type: Tag # Goobstation - Fuck you
  #  tags: [] # ignore "WhitelistChameleon" tag
