# SPDX-FileCopyrightText: 2020 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2020 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Mith-randalf <84274729+Mith-randalf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Veritius <veritiusgaming@gmail.com>
# SPDX-FileCopyrightText: 2022 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 KingFroozy <140668342+KingFroozy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BeeRobynn <166929042+BeeRobynn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RedBookcase <Usualmoves@gmail.com>
# SPDX-FileCopyrightText: 2024 RedBookcase <crazykid1590@gmail.com>
# SPDX-FileCopyrightText: 2024 wafehling <wafehling@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 John <35928781+sporkyz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Michael <107807667+doc-michael@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Minemoder5000 <minemoder50000@gmail.com>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 kosticia <kosticia46@gmail.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

# Armor values heavily edited by Goobstation due to woundmed

#Web vest
- type: entity
  parent: [ClothingOuterStorageBase, AllowSuitStorageClothing, BaseSyndicateContraband]
  id: ClothingOuterVestWeb
  name: web vest
  description: A synthetic armor vest. This one has added webbing and ballistic plates.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Vests/webvest.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Vests/webvest.rsi
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.3
      OrganDamage: 0.3
      BoneDamage: 0.3
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    modifiers:
      coefficients:
        Blunt: 0.4
        Slash: 0.4
        Piercing: 0.2
        Heat: 0.8
  - type: ExplosionResistance
    damageCoefficient: 0.9
  - type: ModifyDelayedKnockdown # Goobstation
    delayDelta: 2.5
    knockdownTimeDelta: -2.5
  - type: StaminaResistance # Goobstation
    damageCoefficient: 0.6

#Elite web vest
- type: entity
  parent: [ClothingOuterStorageBase, AllowSuitStorageClothing, BaseSyndicateContraband]
  id: ClothingOuterVestWebElite
  name: elite web vest
  description: A synthetic armor vest. This one has added webbing and heat resistant fibers.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Vests/elitevest.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Vests/elitevest.rsi
  - type: TemperatureProtection
    heatingCoefficient: 0.1
    coolingCoefficient: 0.1
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.25
      OrganDamage: 0.25
      BoneDamage: 0.25
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    modifiers:
      coefficients:
        Blunt: 0.3
        Slash: 0.3
        Piercing: 0.55
        Heat: 0.2
        Radiation: 0.3
        Caustic: 0.3
  - type: ExplosionResistance
    damageCoefficient: 0.5
  - type: FireProtection
    reduction: 0.85
  - type: ModifyDelayedKnockdown # Goobstation
    delayDelta: 3
    knockdownTimeDelta: -3
  - type: StaminaResistance # Goobstation
    damageCoefficient: 0.4

#Mercenary web vest
- type: entity
  parent: [ BaseMajorContraband, ClothingOuterVestWeb] #web vest so it should have some pockets for ammo
  id: ClothingOuterVestWebMerc
  name: mercenary web vest
  description: A high-quality armored vest made from a hard synthetic material. It's surprisingly flexible and light, despite formidable armor plating.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.2
      OrganDamage: 0.2
      BoneDamage: 0.2
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    modifiers:
      coefficients:
        Blunt: 0.55
        Slash: 0.55
        Piercing: 0.3
        Heat: 0.8
  - type: ExplosionResistance
    damageCoefficient: 0.9
  - type: ModifyDelayedKnockdown # Goobstation
    delayDelta: 2.25
    knockdownTimeDelta: -2.25
  - type: StaminaResistance # Goobstation
    damageCoefficient: 0.65

#Detective's vest
- type: entity
  parent: [ClothingOuterArmorBase, BaseSecurityContraband]
  id: ClothingOuterVestDetective
  name: detective's vest
  description: A hard-boiled private investigator's armored vest.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Vests/detvest.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Vests/detvest.rsi

#Hazard vest
- type: entity
  parent: ClothingOuterStorageBase
  id: ClothingOuterVestHazard
  name: hi-viz vest
  description: A high-visibility vest used in work zones.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Vests/hazard.rsi
    layers:
    - state: icon
    - state: icon-unshaded
      shader: unshaded
    - state: icon-unshaded
      shader: shaded
      #This is a neat trick I found to sort of "hack" an emissive map into ss14. Basically, the icon-unshaded texture has an alpha channel.
      #Alpha doesn't work for unshaded, but for *shaded* it does, and by putting a shaded texture infront of the unshaded, we can dim the unshaded texture, effectively allowing brightness control.
      #I go further indepth on this in my PR, https://github.com/space-wizards/space-station-14/pull/37869
  - type: Clothing
    sprite: Clothing/OuterClothing/Vests/hazard.rsi
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING
      - state: equipped-OUTERCLOTHING-unshaded
        shader: unshaded
      - state: equipped-OUTERCLOTHING-unshaded
        shader: shaded
        #same trick here
  - type: Reflect
    reflectProb: 0.02
    reflects:
    - Energy
    reflectingInHands: false
  - type: Tag
    tags:
    - HiViz
    - WhitelistChameleon

#(Bartender) vest
- type: entity
  parent: ClothingOuterBase
  id: ClothingOuterVest
  name: vest
  description: A thick vest with a rubbery, water-resistant shell.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Vests/vest.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Vests/vest.rsi

#Tank Harness
- type: entity
  parent: [ClothingOuterBase, AllowSuitStorageClothingGasTanks]
  id: ClothingOuterVestTank
  name: tank harness
  description: A simple harness that can hold a gas tank.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Vests/tankharness.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Vests/tankharness.rsi
  - type: Item
    size: Normal # Make smaller than typical outer clothing
    shape:
    - 0, 0, 0, 1
