# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 IrisTheAmped <iristheamped@gmail.com>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 floatingfeeling <karaadastra@gmail.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

## Parent File to easily add more attributes, here it's used for plasmaman mostly
- type: entity
  parent: ClothingOuterBase
  id: ClothingOuterModsuitBase
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/standard.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Tag
    tags:
    - PlasmamanSafe
  - type: IgniteFromGasImmunity
    parts:
    - BodyMiddle
    - Legs


- type: entity
  parent: ClothingOuterBase
  id: ClothingModsuitChestplateStandard
  name: standard modsuit chestplate
  description: A special modular suit spaceproof cover designed for compact folding inside modular suit control.
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/standard.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Clothing
    equipSound: /Audio/Mecha/mechmove03.ogg
    unequipSound: /Audio/Mecha/mechmove03.ogg
    slots: [ outerClothing ]
  - type: ClothingSpeedModifier
    walkModifier: 0.8
    sprintModifier: 0.8
  - type: SealableClothing
    sealUpPopup: sealable-clothing-seal-up-chestplate
    sealDownPopup: sealable-clothing-seal-down-chestplate
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-sealed
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-sealed-resomi   
  - type: StaminaResistance
    damageCoefficient: 0.9
  - type: Armor
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    traumaDeductions:
      Dismemberment: 0.2
      OrganDamage: 0.2
      BoneDamage: 0.2
      VeinsDamage: 0
      NerveDamage: 0
    modifiers:
      coefficients:
        Blunt: 0.85
        Slash: 0.85
        Piercing: 0.85
        Heat: 0.85
        Radiation: 0.2
  - type: ComponentToggler
    components:
    - type: PressureProtection
      highPressureMultiplier: 0.3
      lowPressureMultiplier: 1000
    - type: TemperatureProtection
      coolingCoefficient: 0.01
      heatingCoefficient: 0.01
  - type: FireProtection
    reduction: 0.5

- type: entity
  parent: ClothingOuterBase
  id: ClothingModsuitChestplateSecurity
  name: soldat modsuit chestplate
  description: A robust modular suit cover with ceramic inserts for extra protection.
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/security.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Clothing
    equipSound: /Audio/Mecha/mechmove03.ogg
    unequipSound: /Audio/Mecha/mechmove03.ogg
    slots: [ outerClothing ]
  - type: ClothingSpeedModifier
    walkModifier: 0.8
    sprintModifier: 0.8
  - type: SealableClothing
    sealUpPopup: sealable-clothing-seal-up-chestplate
    sealDownPopup: sealable-clothing-seal-down-chestplate
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-sealed
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-sealed-resomi
      outerClothing-vox:
      - state: equipped-OUTERCLOTHING-sealed-vox
  - type: ExplosionResistance
    damageCoefficient: 0.4
  - type: ModifyDelayedKnockdown
    delayDelta: 2.5
    knockdownTimeDelta: -2.5
  - type: StaminaResistance
    damageCoefficient: 0.7
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.3
      OrganDamage: 0.3
      BoneDamage: 0.3
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.6
        Slash: 0.6
        Piercing: 0.6
        Heat: 0.6
        Radiation: 0.6
  - type: ComponentToggler
    components:
    - type: PressureProtection
      highPressureMultiplier: 0.3
      lowPressureMultiplier: 1000
    - type: TemperatureProtection
      coolingCoefficient: 0.01
      heatingCoefficient: 0.01
  - type: FireProtection
    reduction: 0.5


- type: entity
  parent: ClothingOuterBase
  id: ClothingModsuitChestplateHeadOfSecurity
  name: bulwark modsuit chestplate
  description: A robust modular suit cover with EXTRA ceramic inserts for slightly more protection.
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/headofsecurity.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Clothing
    equipSound: /Audio/Mecha/mechmove03.ogg
    unequipSound: /Audio/Mecha/mechmove03.ogg
    slots: [ outerClothing ]
  - type: ClothingSpeedModifier
    walkModifier: 0.80
    sprintModifier: 0.80
  - type: SealableClothing
    sealUpPopup: sealable-clothing-seal-up-chestplate
    sealDownPopup: sealable-clothing-seal-down-chestplate
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-sealed
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-sealed-resomi
      outerClothing-vox:
      - state: equipped-OUTERCLOTHING-sealed-vox     
  - type: ExplosionResistance
    damageCoefficient: 0.4
  - type: ModifyDelayedKnockdown
    delayDelta: 3
    knockdownTimeDelta: -3
  - type: StaminaResistance
    damageCoefficient: 0.7
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.3
      OrganDamage: 0.3
      BoneDamage: 0.3
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.5
        Slash: 0.5
        Piercing: 0.45
        Heat: 0.5
        Caustic: 0.5
        Radiation: 0.5
  - type: ComponentToggler
    components:
    - type: PressureProtection
      highPressureMultiplier: 0.3
      lowPressureMultiplier: 1000
    - type: TemperatureProtection
      coolingCoefficient: 0.01
      heatingCoefficient: 0.01
  - type: FireProtection
    reduction: 0.5
  - type: ClothingAutoInject
    reagents:
      Epinephrine: 10
      Bicaridine: 10
      TranexamicAcid: 5
      Tramadol: 5

- type: entity
  parent: ClothingOuterBase
  id: ClothingModsuitChestplateParamedic
  name: sanitater modsuit chestplate
  description: A white and blue-ish-grey steel plate for keeping out the harsh void of space and the occasional bullet.
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/paramedic.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Clothing
    equipSound: /Audio/Mecha/mechmove03.ogg
    unequipSound: /Audio/Mecha/mechmove03.ogg
    slots: [ outerClothing ]
  - type: ClothingSpeedModifier
    walkModifier: 0.85
    sprintModifier: 0.85
  - type: SealableClothing
    sealUpPopup: sealable-clothing-seal-up-chestplate
    sealDownPopup: sealable-clothing-seal-down-chestplate
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-sealed
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-sealed-resomi
      outerClothing-vox:
      - state: equipped-OUTERCLOTHING-sealed-vox     
  - type: ExplosionResistance
    damageCoefficient: 0.85
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.2
      OrganDamage: 0.2
      BoneDamage: 0.2
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.85
        Heat: 0.8
        Caustic: 0.6
        Radiation: 0.3
  - type: ComponentToggler
    components:
    - type: PressureProtection
      highPressureMultiplier: 0.3
      lowPressureMultiplier: 1000
    - type: TemperatureProtection
      coolingCoefficient: 0.01
      heatingCoefficient: 0.01
  - type: ModifyDelayedKnockdown
    delayDelta: 1
    knockdownTimeDelta: -1
  - type: StaminaResistance
    damageCoefficient: 0.9
  - type: FireProtection
    reduction: 0.5

- type: entity
  parent: ClothingOuterBase
  id: ClothingModsuitChestplateEngineer
  name: sapper modsuit chestplate
  description: A tough armor plate to defend against harsh atmospheric conditions and shockwaves.
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/engineer.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Clothing
    equipSound: /Audio/Mecha/mechmove03.ogg
    unequipSound: /Audio/Mecha/mechmove03.ogg
    slots: [ outerClothing ]
  - type: ClothingSpeedModifier
    walkModifier: 0.75
    sprintModifier: 0.75
  - type: SealableClothing
    sealUpPopup: sealable-clothing-seal-up-chestplate
    sealDownPopup: sealable-clothing-seal-down-chestplate
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-sealed
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-sealed-resomi
      outerClothing-vox:
      - state: equipped-OUTERCLOTHING-sealed-vox     
  - type: ExplosionResistance
    damageCoefficient: 0.35
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.2
      OrganDamage: 0.2
      BoneDamage: 0.2
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.8
        Slash: 0.8
        Piercing: 0.8
        Heat: 0.7
        Shock: 0.8
        Caustic: 0.5
        Radiation: 0.01
  - type: ComponentToggler
    components:
    - type: PressureProtection
      highPressureMultiplier: 0.3
      lowPressureMultiplier: 1000
    - type: TemperatureProtection
      coolingCoefficient: 0.01
      heatingCoefficient: 0.01
  - type: ModifyDelayedKnockdown # Goobstation
    delayDelta: 1
    knockdownTimeDelta: -1
  - type: StaminaResistance
    damageCoefficient: 0.9
  - type: FireProtection
    reduction: 0.7

- type: entity
  parent: ClothingOuterBase
  id: ClothingModsuitChestplateAtmostech
  name: aeolus modsuit chestplate
  description: A fire-proof armor plate to defend against harsh atmospheric conditions.
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/atmostech.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Clothing
    equipSound: /Audio/Mecha/mechmove03.ogg
    unequipSound: /Audio/Mecha/mechmove03.ogg
    slots: [ outerClothing ]
  - type: ClothingSpeedModifier
    walkModifier: 0.75
    sprintModifier: 0.75
  - type: SealableClothing
    sealUpPopup: sealable-clothing-seal-up-chestplate
    sealDownPopup: sealable-clothing-seal-down-chestplate
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-sealed
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-sealed-resomi
      outerClothing-vox:
      - state: equipped-OUTERCLOTHING-sealed-vox     
  - type: ExplosionResistance
    damageCoefficient: 0.45
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.2
      OrganDamage: 0.2
      BoneDamage: 0.2
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.8
        Slash: 0.85
        Piercing: 0.85
        Heat: 0.2
        Radiation: 0.05
  - type: ComponentToggler
    components:
    - type: PressureProtection
      highPressureMultiplier: 0.3
      lowPressureMultiplier: 1000
    - type: TemperatureProtection
      coolingCoefficient: 0.001
      heatingCoefficient: 0.001
  - type: ModifyDelayedKnockdown # Goobstation
    delayDelta: 1
    knockdownTimeDelta: -1
  - type: StaminaResistance
    damageCoefficient: 0.9
  - type: FireProtection
    reduction: 0.75

- type: entity
  parent: ClothingOuterBase
  id: ClothingModsuitChestplateResearchDirector
  name: minerva modsuit chestplate
  description: A bulky bomb and bat proof chunk of steel.
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/researchdirector.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Clothing
    equipSound: /Audio/Mecha/mechmove03.ogg
    unequipSound: /Audio/Mecha/mechmove03.ogg
    slots: [ outerClothing ]
  - type: ClothingSpeedModifier
    walkModifier: 0.75
    sprintModifier: 0.75
  - type: SealableClothing
    sealUpPopup: sealable-clothing-seal-up-chestplate
    sealDownPopup: sealable-clothing-seal-down-chestplate
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-sealed
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-sealed-resomi
      outerClothing-vox:
      - state: equipped-OUTERCLOTHING-sealed-vox     
  - type: ExplosionResistance
    damageCoefficient: 0.1
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.2
      OrganDamage: 0.2
      BoneDamage: 0.2
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.55
        Slash: 0.75
        Piercing: 0.85
        Heat: 0.25
        Shock: 0.75
        Caustic: 0.25
        Radiation: 0.01
  - type: ComponentToggler
    components:
    - type: PressureProtection
      highPressureMultiplier: 0.3
      lowPressureMultiplier: 1000
    - type: TemperatureProtection
      coolingCoefficient: 0.01
      heatingCoefficient: 0.01
  - type: ModifyDelayedKnockdown
    delayDelta: 3
    knockdownTimeDelta: -3
  - type: StaminaResistance
    damageCoefficient: 0.5
  - type: FireProtection
    reduction: 0.5
  - type: GroupExamine

- type: entity
  parent: ClothingOuterBase
  id: ClothingModsuitChestplateCaptain
  name: magnate modsuit chestplate
  description: This shit is made out of DIAMONDS, man, this armor was forged with GEMS.
  categories: [ HideSpawnMenu ]
  components:
  - type: Appearance
  - type: AllowSuitStorage
  - type: GroupExamine
  - type: Sprite
    sprite: _Goobstation/Clothing/OuterClothing/Modsuits/captain.rsi
    layers:
    - state: chestplate
    - state: chestplate-sealed
      visible: false
      map: [ "sealed" ]
  - type: Clothing
    equipSound: /Audio/Mecha/mechmove03.ogg
    unequipSound: /Audio/Mecha/mechmove03.ogg
    slots: [ outerClothing ]
  - type: ClothingSpeedModifier
    walkModifier: 0.8
    sprintModifier: 0.8
  - type: SealableClothing
    sealUpPopup: sealable-clothing-seal-up-chestplate
    sealDownPopup: sealable-clothing-seal-down-chestplate
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      outerClothing:
      - state: equipped-OUTERCLOTHING-sealed
      outerClothing-resomi:
      - state: equipped-OUTERCLOTHING-sealed-resomi
      outerClothing-vox:
      - state: equipped-OUTERCLOTHING-sealed-vox     
  - type: ExplosionResistance
    damageCoefficient: 0.5
  - type: Armor
    traumaDeductions:
      Dismemberment: 0.3
      OrganDamage: 0.3
      BoneDamage: 0.3
      VeinsDamage: 0
      NerveDamage: 0
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.7
        Slash: 0.7
        Piercing: 0.55
        Heat: 0.5
        Radiation: 0.1
        Caustic: 0.5
  - type: ComponentToggler
    components:
    - type: PressureProtection
      highPressureMultiplier: 0.3
      lowPressureMultiplier: 1000
    - type: TemperatureProtection
      coolingCoefficient: 0.01
      heatingCoefficient: 0.01
  - type: ModifyDelayedKnockdown
    delayDelta: 3
    knockdownTimeDelta: -3
  - type: StaminaResistance
    damageCoefficient: 0.6
  - type: FireProtection
    reduction: 0.5
