# SPDX-License-Identifier: AGPL-3.0-or-later

# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@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 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 GMWQ <garethquaile@gmail.com>
# SPDX-FileCopyrightText: 2025 Gareth Quaile <garethquaile@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.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-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>

#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: ClothingHandsBase
  id: ClothingHandsGlovesChronoLegioneer
  name: futuristic gloves
  description: Futuristic gloves made of an unknown material that doesn't leave any trace
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/chronolegioneer.rsi
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/chronolegioneer.rsi
  - type: Insulated
  - type: FingerprintMask

- type: entity
  parent: ClothingHandsGlovesChronoLegioneer
  id: ClothingHandsGlovesChronoLegioneerUnremoveable
  suffix: Unremoveable
  components:
  - type: Unremoveable

- type: entity
  parent: ClothingHandsGlovesColorYellow
  id: ClothingHandsGlovesExplosiveShock
  suffix: Exploding
  components:
  - type: ExplosiveShock
    handsDamage:
      types:
        Blunt: 40
        Heat: 40
    armsDamage:
      types:
        Blunt: 10
        Heat: 10
  - type: Explosive
    explosionType: Default
    maxIntensity: 5
    intensitySlope: 5
    totalIntensity: 25
    maxTileBreak: 1
    canCreateVacuum: false
  - type: Tag
    tags: [] # ignore "WhitelistChameleon" tag

- type: entity
  parent: [ClothingHandsGlovesCombat, BaseCentcommContraband]
  id: ClothingHandsGlovesDeathsquad
  suffix: DO NOT MAP # Just don't...
  name: mk-3 "redactor" power gloves
  description: A pair of highly-advanced gauntlets capable of ripping open doors. Its retractable claws are laced with a potent neurotoxin.
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/deathsquad.rsi
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/deathsquad.rsi
    equippedPrefix: gauntlet
  - type: Fiber
    fiberMaterial: fibers-classified
    fiberColor: fibers-pitch-black
  - type: Item
    sprite: _Goobstation/Clothing/Hands/Gloves/deathsquad.rsi
    heldPrefix: gauntlet
  - type: ClothingGrantComponent
    component:
    - type: Prying
      pryPowered: true
      force: true
      speedModifier: 4.5
  - type: MeleeWeapon
    attackRate: 1.2
    damage:
      types:
        Blunt: 32
        Structural: 80
    mustBeEquippedToUse: true
    soundHit:
      path: /Audio/_Goobstation/Weapons/Effects/metalcrush.ogg
    canWideSwing: false
  - type: StaminaDamageOnHit
    damage: 45
    overtime: 80
  - type: Tag
    tags: [] # ignore "WhitelistChameleon" tag
  - type: ItemSwitch
    showLabel: true
    state: gauntlet
    states:
      gauntlet: !type:ItemSwitchState
        verb: gauntlet
        sprite:
          sprite: _Goobstation/Clothing/Hands/Gloves/deathsquad.rsi
          state: icon
        components:
          - type: MeleeWeapon
            attackRate: 1.2
            damage:
              types:
                Blunt: 32
                Structural: 80
            mustBeEquippedToUse: true
            soundHit:
              path: /Audio/_Goobstation/Weapons/Effects/metalcrush.ogg
            canWideSwing: false
          - type: StaminaDamageOnHit
            damage: 45
            overtime: 80
        soundStateActivate:
          collection: sparks
          params:
            variation: 0.125
            volume: -5

      claws: !type:ItemSwitchState
        verb: claws
        sprite:
          sprite: _Goobstation/Clothing/Hands/Gloves/deathsquad.rsi
          state: icon-on
        components:
          - type: MeleeWeapon
            attackRate: 2
            autoAttack: true
            damage:
              types:
                Slash: 25
                Structural: 50
                Cellular: 15 # Rip and tear until it is done.
            mustBeEquippedToUse: true
            soundHit:
              path: /Audio/Weapons/bladeslice.ogg
            canWideSwing: false
        soundStateActivate:
          collection: sparks
          params:
            variation: 0.125

- type: entity
  parent: ClothingHandsGlovesDeathsquad
  id: ClothingHandsGlovesDeathsquadUnremovable
  suffix: Unremovable
  components:
  - type: Unremoveable

- type: entity
  parent: [ClothingHandsGlovesColorYellow, BaseEngineeringContraband]
  id: ClothingHandsGlovesAtmosInsulated
  name: insulated atmos gloves
  description: Like normal insulated gloves, but simply better by virtue of being from the Atmospherics department.
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/atmos.rsi
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/atmos.rsi
  - type: Fiber
    fiberColor: fibers-blue

- type: entity
  parent: ClothingHandsBase
  id: ClothingHandsGlovesHeavyGoldenTrim
  name: heavy gold-trimmed gloves
  description: A pair of gold-trimmed gloves made for Central Command staff. These ones are insulated.
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/goldtrim.rsi
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/goldtrim.rsi
  - type: Insulated
  - type: Fiber
    fiberMaterial: fibers-classified
    fiberColor: fibers-white

- type: entity
  parent: ClothingHandsBase
  id: ClothingHandsGlovesGoldenTrim
  name: gold-trimmed gloves
  description: A pair of gold-trimmed gloves made for Central Command staff. Not insulated.
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/goldtrim.rsi
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/goldtrim.rsi
  - type: Fiber
    fiberMaterial: fibers-classified
    fiberColor: fibers-white

- type: entity
  parent: ClothingHandsBase
  id: ClothingHandsGlovesConquest
  name: viltrumite prosthetic
  description: Stand ready for my arrival, worm.
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/conquest.rsi
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/conquest.rsi
  - type: Insulated
  - type: MeleeWeapon
    attackRate: 0.8
    damage:
      types:
        Blunt: 80
        Structural: 120
    mustBeEquippedToUse: true
  - type: StaminaDamageOnHit
    damage: 45
    overtime: 80
  - type: Prying
    pryPowered: true
    force: true
    speedModifier: 8

- type: entity
  parent: ClothingHandsGlovesConquest
  id: ClothingHandsGlovesConquestUnremovable
  suffix: Unremovable
  name: viltrumite prosthetic
  description: Stand ready for my arrival, worm.
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/conquest.rsi
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/conquest.rsi
  - type: Insulated
  - type: Unremoveable

- type: entity
  parent: ClothingHandsGlovesColorYellow
  id: ClothingHandsGlovesColorYellowUnremovable
  suffix: Unremovable
  components:
  - type: Unremoveable

# Knuckle Dusters

- type: entity
  parent: BaseItem
  id: ClothingHandsKnuckleDustersBase
  abstract: true
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/knuckleduster.rsi
    state: knuckleduster
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/knuckleduster.rsi
    slots: [ gloves ]
  - type: Appearance
  - type: Item
    size: Small
    storedRotation: -90
  - type: MeleeWeapon
    attackRate: 1.5
    damage:
      types:
        Blunt: 12
    soundHit:
      collection: Punch
    animation: WeaponArcFist
    mustBeEquippedToUse: true
    canWideSwing: false
  - type: Tag
    tags:
    - WhitelistChameleon

- type: entity
  parent: [ClothingHandsKnuckleDustersBase, BaseMinorContraband]
  id: ClothingHandsKnuckleDusters
  name: knuckle dusters
  description: Sturdy plasteel knuckle-dusters. Adds a whole lot more weight to your punches.

- type: entity
  parent: [ClothingHandsKnuckleDustersBase, BaseMinorContraband] # Craftable Version
  id: ClothingHandsKnuckleDustersBrass
  name: brass knuckle dusters
  description: Brass knuckle dusters. Just like how they used to make em, and still hit just as hard.
  components:
  - type: Sprite
    state: brassknuckleduster
  - type: Construction
    graph: ClothingHandsKnuckleDustersBrass
    node: icon

- type: entity
  parent: [ClothingHandsKnuckleDustersBase, BaseSyndicateContraband]
  id: ClothingHandsKnuckleDustersSyndicate
  name: syndicate knuckle dusters
  description: Plastitanium knuckle dusters branded with the syndicate logo. A real man beats someone to death with these.
  components:
  - type: Sprite
    state: syndicateknuckleduster
  - type: MeleeWeapon
    damage:
      types:
        Blunt: 16

- type: entity
  parent: [ClothingHandsKnuckleDustersBase, BaseGrandTheftContraband]
  id: ClothingHandsKnuckleDustersQM
  suffix: DO NOT MAP
  name: quartermaster's engraved knuckleduster
  description: Forged by the finest craftsmen at the Quartermaster's request, this hard and dense knuckle-duster is designed to deliver bone-crushing blows and damage the internal organs of the unfortunate victim.
  components:
  - type: Sprite
    state: goldenknuckleduster
  - type: MeleeWeapon
    damage:
      types:
        Blunt: 12
  - type: PhysicalComposition
    materialComposition:
      Gold: 500
  - type: StaticPrice
    price: 1337
  - type: StaminaDamageOnHit
    damage: 18 # plus half the blunt (6) - 24 damage - 5 hits to stun
  - type: Tag
    tags:
    - WhitelistChameleon
    - HighRiskItem
  - type: StealTarget
    stealGroup: ClothingHandsKnuckleDustersQM

- type: entity
  parent: [ClothingHandsKnuckleDustersBase, BaseCentcommContraband]
  id: ClothingHandsKnuckleBoneCrushers
  name: bone crushers
  description: "Blessed by the Gods to break all those who don't obey."
  components:
  - type: Sprite
    state: goldenknuckleduster
  - type: MeleeWeapon
    attackRate: 2
    damage:
      types:
        Blunt: 35
  - type: Tag
    tags: [] # ignore "WhitelistChameleon" tag

- type: entity
  parent: [BaseSyndicateContraband, ClothingHandsGlovesCombat]
  id: ClothingHandsGlovesGuerrilla
  name: guerrilla gloves
  description: Top of the line quality syndicate combative gloves, good for grabs as well as absorbing electrical shocks. Seems to be powered by telecrystals.
  components:
  - type: Sprite
    sprite: _Goobstation/Clothing/Hands/Gloves/guerrilla.rsi
  - type: Clothing
    sprite: _Goobstation/Clothing/Hands/Gloves/guerrilla.rsi
    equipDelay: 2 #sadly this has to exist for telegraphing reasons
    unequipDelay: 2
  - type: Item
    inhandVisuals:
      left:
      - state: inhand-left
        color: "#940000"
      right:
      - state: inhand-right
        color: "#940000"
  - type: GrabModifier
    startingGrabStage: Hard
    grabEscapeModifier: -0.1
    grabEscapeMultiplier: 0.8
    grabMoveSpeedMultiplier: 2 # 0.8 speed modifier on hard grab
