# SPDX-FileCopyrightText: 2020 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 Galactic Chimp <GalacticChimpanzee@gmail.com>
# SPDX-FileCopyrightText: 2021 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2022 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2022 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 FunkySphere <89979928+FunkySphere@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 Pancake <Pangogie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Cody ~ Aexxie <125095677+Aexxie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 crazybrain23 <44417085+crazybrain23@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 deltanedas <deltanedas@laptop>
# SPDX-FileCopyrightText: 2023 deltanedas <user@zenith>
# SPDX-FileCopyrightText: 2023 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Golinth <amh2023@gmail.com>
# SPDX-FileCopyrightText: 2024 Hannah Giovanna Dawson <karakkaraz@gmail.com>
# SPDX-FileCopyrightText: 2024 Krunklehorn <42424291+Krunklehorn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 LittleNyanCat <littlenyancat204@gmail.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 mubururu_ <139181059+muburu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 John <35928781+sporkyz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 PuroSlavKing <103608145+PuroSlavKing@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 boxxie79 <88395316+boxxie79@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: ClothingShoesBaseButcherable
  id: ClothingShoesChef
  name: chef shoes
  description: Sturdy shoes that minimize injury from falling objects or knives.
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/chef.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/chef.rsi

# stuff common to all clown & jester shoes
- type: entity
  abstract: true
  parent: [ClothingShoesBaseButcherable, ClothingSlotBase]
  id: ClothingShoesClownBase
  components:
  - type: WaddleWhenWorn # Goobstation
  - type: ItemSlots
    slots:
      item:
        name: clothing-boots-sidearm
        whitelist:
          tags:
          - Knife
          - ToySidearm
        blacklist:
          components:
          - Sharp

- type: entity
  parent: ClothingShoesClownBase
  id: ClothingShoesClown
  name: clown shoes
  description: "The prankster's standard-issue clowning shoes. Damn they're huge!"
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/clown.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/clown.rsi
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepClown
      params:
        variation: 0.17
  # for H.O.N.K. construction
  - type: Tag
    tags:
    - ClownShoes
    - WhitelistChameleon

- type: entity
  parent: ClothingShoesClown
  id: ClothingShoesClownBanana
  name: banana clown shoes
  description: "When humor and footwear combine into new levels of absurdity."
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/clown_banana.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/clown_banana.rsi
  - type: FootstepModifier # Goobstation - uncommented, dog dying sound is peak
    footstepSoundCollection:
      collection: FootstepSlip
      params:
        volume: -10
        variation: 0.10
  - type: Construction
    graph: BananaClownShoes
    node: shoes
  - type: Skates
    minimumSpeed: 20
    acceleration: 5

- type: entity
  parent: ClothingShoesClownBase
  id: ClothingShoesBling
  name: bling clown shoes
  description: Made of refined bananium and shined with the pulp of a fresh banana peel. These make a flashy statement.
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/bling.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/bling.rsi
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepClown
      params:
        variation: 0.17
  - type: PointLight
    enabled: true
    radius: 3
    energy: 2
    color: "#FFD800"
    netsync: false

- type: entity
  parent: ClothingShoesBaseButcherable
  id: ClothingShoesCult
  name: cult shoes
  description: A pair of boots worn by the followers of Nar'Sie.
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/cult.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/cult.rsi

- type: entity
  parent: [ ClothingShoesBase, BaseJanitorContraband ]
  id: ClothingShoesGaloshes
  name: galoshes
  description: Rubber boots.
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/galoshes.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/galoshes.rsi
  - type: NoSlip
  - type: SlowedOverSlippery
    slowdownModifier: 0.7
  - type: SpeedModifierContactCapClothing
    maxContactSprintSlowdown: 0.7
    maxContactWalkSlowdown: 0.7
  - type: ClothingGrantComponent # Goobstation
    component:
    - type: NoFootprints


- type: entity
  parent: [ClothingShoesBaseButcherable, BaseMajorContraband]
  id: ClothingShoesSpaceNinja
  name: space ninja shoes
  description: A pair of nano-enhanced boots with built-in magnetic suction cups.
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/spaceninja.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/spaceninja.rsi
  - type: NoSlip
  - type: Magboots # always have gravity because le suction cups
  - type: ClothingSpeedModifier
    # ninja are masters of sneaking around relatively quickly, won't break cloak
    walkModifier: 1.3 # Goob Edit
    #sprintModifier: 1.3 They can sprint so this is kinda op.
  - type: FootstepModifier
    footstepSoundCollection: null

- type: entity
  parent: ClothingShoesBaseButcherable
  id: ClothingShoesSwat
  name: swat shoes
  description: When you want to turn up the heat.
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/swat.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/swat.rsi

- type: entity
  parent: ClothingShoesBaseButcherable
  id: ClothingShoesWizard
  name: wizard shoes
  description: A pair of magic shoes.
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/wizard.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/wizard.rsi

- type: entity
  parent: ClothingShoesBase
  id: ClothingShoesChameleon
  name: black shoes
  suffix: Chameleon
  description: Stylish black shoes.
  components:
    - type: Tag
      tags: [] # ignore "WhitelistChameleon" tag
    - type: Sprite
      sprite: Clothing/Shoes/color.rsi
      layers:
      - state: icon
        color: "#3f3f3f"
      - state: soles-icon
    - type: Clothing
      sprite: Clothing/Shoes/color.rsi
      clothingVisuals:
        shoes:
        - state: equipped-FEET
          color: "#1d1d1d"
        - state: soles-equipped-FEET
    - type: Item
      inhandVisuals:
        left:
        - state: inhand-left
          color: "#3f3f3f"
        - state: soles-inhand-left
        right:
        - state: inhand-right
          color: "#3f3f3f"
        - state: soles-inhand-right
    - type: ChameleonClothing
      slot: [FEET]
      default: ClothingShoesColorBlack
    - type: UserInterface
      interfaces:
        enum.ChameleonUiKey.Key:
          type: ChameleonBoundUserInterface

- type: entity
  parent: ClothingShoesChameleon
  id: ClothingShoesChameleonNoSlips
  name: black shoes #actual name and description in uplink_catalog.yml
  suffix: No-slip, Chameleon
  description: Stylish black shoes.
  components:
  - type: NoSlip

- type: entity
  parent: ClothingShoesClown
  id: ClothingShoesJester
  name: jester shoes
  description: A court jester's shoes, updated with modern squeaking technology.
  components:
    - type: Sprite
      sprite: Clothing/Shoes/Specific/jester.rsi
    - type: Clothing
      sprite: Clothing/Shoes/Specific/jester.rsi
    - type: FootstepModifier
      footstepSoundCollection:
        collection: FootstepJester
        params:
          variation: 0.07

- type: entity
  parent: ClothingShoesClown
  id: ClothingShoesCluwne
  name: cluwne shoes
  suffix: Unremoveable
  description: "Cursed pair of cluwne shoes."
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/cluwne.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/cluwne.rsi
  - type: Unremoveable

- type: entity
  parent: ClothingShoesClown
  id: ClothingShoesClownLarge
  name: large clown shoes
  description: "When you need to stand out in a room full of clowns!"
  components:
  - type: Sprite
    state: "icon"
    sprite: Clothing/Shoes/Specific/large_clown.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/large_clown.rsi
    clothingVisuals:
      shoes:
      - state: equipped-FEET
        offset: "0, -0.02"
      - state: equipped-FEET-reptilian # WWDP
        offset: "0, -0.02"
  - type: Item
    size: Small
    sprite: Clothing/Shoes/Specific/large_clown.rsi
  - type: ClothingSpeedModifier
    walkModifier: 0.8
    sprintModifier: 0.8

- type: entity
  parent: ClothingShoesBaseButcherable
  id: ClothingShoesSkates
  name: roller skates
  description: "Get your skates on!"
  components:
  - type: Sprite
    sprite: Clothing/Shoes/Specific/skates.rsi
  - type: Clothing
    sprite: Clothing/Shoes/Specific/skates.rsi
    clothingVisuals:
      shoes:
      - state: equipped-FEET
        offset: "0, -0.04"
      - state: equipped-FEET-reptilian # WWDP
        offset: "0, -0.04"
  - type: Item
    sprite: Clothing/Shoes/Specific/skates.rsi
  - type: ClothingSpeedModifier
    walkModifier: 1.2 # Goob edit
    sprintModifier: 1.2 # Goob edit
  - type: Skates
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepSkates
      params:
        variation: 0.08
