# SPDX-FileCopyrightText: 2020 FrostMando <68990565+FrostMando@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2020 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Ygg01 <daniel.fath7@gmail.com>
# SPDX-FileCopyrightText: 2020 a.rudenko <creadth@gmail.com>
# SPDX-FileCopyrightText: 2020 creadth <creadth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Elijahrane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Mith-randalf <84274729+Mith-randalf@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 CommieFlowers <rasmus.cedergren@hotmail.com>
# SPDX-FileCopyrightText: 2022 ElectroJr <leonsfriedrich@gmail.com>
# SPDX-FileCopyrightText: 2022 Julian Giebel <juliangiebel@live.de>
# SPDX-FileCopyrightText: 2022 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Moony <moonheart08@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Pancake <Pangogie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 efzapa <102577236+efzapa@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 moonheart08 <moonheart08@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 rolfero <45628623+rolfero@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 CrigCrag <137215465+CrigCrag@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 HerCoyote23 <131214189+HerCoyote23@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Kevin Zheng <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2023 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Slava0135 <40753025+Slava0135@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Ubaser <134914314+UbaserB@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 12rabbits <53499656+12rabbits@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArZarLordOfMango <96249677+ArZarLordOfMango@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Dimastra <65184747+Dimastra@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Dimastra <dimastra@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 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <51352440+JIPDawg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <JIPDawg93@gmail.com>
# SPDX-FileCopyrightText: 2024 K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 Moomoobeef <62638182+Moomoobeef@users.noreply.github.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 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers@gmail.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 PopGamer46 <yt1popgamer@gmail.com>
# SPDX-FileCopyrightText: 2024 PursuitInAshes <pursuitinashes@gmail.com>
# SPDX-FileCopyrightText: 2024 QueerNB <176353696+QueerNB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Saphire Lattice <lattice@saphi.re>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spessmann <156740760+Spessmann@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Verm <32827189+Vermidia@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# 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 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stellar-novas <stellar_novas@riseup.net>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# 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 <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 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Killerqu00 <killerqueen1777@gmail.com>
# SPDX-FileCopyrightText: 2025 PJB3005 <pieterjan.briers+git@gmail.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 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: ClothingOuterBaseLarge
  id: ClothingOuterSuitBomb
  name: bomb suit
  description: A heavy suit designed to withstand the pressure generated by a bomb and any fragments the bomb may produce.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/bombsuit.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/bombsuit.rsi
  - type: ClothingSpeedModifier
    walkModifier: 0.8
    sprintModifier: 0.8
  - type: Armor
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.9
        Heat: 0.8
  - type: ExplosionResistance
    damageCoefficient: 0.15
  - type: GroupExamine
  - type: Tag
    tags:
    - Hardsuit
    - WhitelistChameleon
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit

- type: entity
  parent: ClothingOuterSuitBomb
  id: ClothingOuterSuitJanitorBomb
  name: janitorial bomb suit
  description: Heavy body armor designed to withstand explosions formed from reactions between chemicals.
  categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/janitor_bombsuit.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/janitor_bombsuit.rsi

- type: entity
  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
  id: ClothingOuterSuitFire
  name: fire suit
  description: A suit that helps protect against hazardous temperatures.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/fire.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/fire.rsi
  - type: PressureProtection
    highPressureMultiplier: 0.04
  - type: TemperatureProtection
    heatingCoefficient: 0.005
    coolingCoefficient: 0.05
  - type: FireProtection
    reduction: 0.65 # doesnt have a full seal so not as good
  - type: Armor
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    traumaDeductions: # having a suit on saves your limbs
      Dismemberment: 0.2
      OrganDamage: 0.2
      BoneDamage: 0.2
      VeinsDamage: 0
      NerveDamage: 0
    modifiers:
      coefficients:
        Slash: 0.9
        Heat: 0.8
        Cold: 0.8
  - type: ClothingSpeedModifier
    walkModifier: 0.7
    sprintModifier: 0.7
  - type: HeldSpeedModifier
  - type: GroupExamine
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit

- type: entity
  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
  id: ClothingOuterSuitAtmosFire
  name: atmos fire suit
  description: An expensive firesuit that protects against even the most deadly of station fires. Designed to protect even if the wearer is set aflame.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/atmos_firesuit.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/atmos_firesuit.rsi
  - type: PressureProtection
    highPressureMultiplier: 0.02
    lowPressureMultiplier: 1000
  - type: TemperatureProtection
    heatingCoefficient: 0.001
    coolingCoefficient: 0.05
  - type: FireProtection
    reduction: 0.8 # atmos firesuit offers best protection, hardsuits are a little vulnerable
  - type: Armor
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    traumaDeductions: # having a suit on saves your limbs
      Dismemberment: 0.2
      OrganDamage: 0.2
      BoneDamage: 0.2
      VeinsDamage: 0
      NerveDamage: 0
    modifiers:
      coefficients:
        Blunt: 0.95
        Slash: 0.85
        Piercing: 0.95
        Heat: 0.75
        Cold: 0.75
  - type: ClothingSpeedModifier
    walkModifier: 0.85 # Goob edit
    sprintModifier: 0.85
  - type: HeldSpeedModifier
  - type: GroupExamine
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit
  - type: Tag
    tags:
    - CorgiWearable
    - WhitelistChameleon

- type: entity
  parent: [ ClothingOuterBaseLarge, GeigerCounterClothing, AllowSuitStorageClothing, ClothingOuterBaseToggleable ]
  id: ClothingOuterSuitRad
  name: radiation suit
  description: "A suit that protects against radiation. The label reads, 'Made with lead. Please do not consume insulation.'"
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/rad.rsi
  - type: Armor
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Heat: 0.85
        Radiation: 0.01
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/rad.rsi
  - type: GroupExamine
  - type: ToggleableClothing # Goobstation - Modsuits change
    clothingPrototypes:
      head: ClothingHeadHatHoodRad
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit

- type: entity
  parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing, BaseToggleClothing, BaseMajorContraband]
  id: ClothingOuterSuitSpaceNinja
  name: space ninja suit
  description: This black technologically advanced, cybernetically-enhanced suit provides many abilities like invisibility or teleportation.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/spaceninja.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/spaceninja.rsi
  # hardsuit stuff
  - type: PressureProtection
    highPressureMultiplier: 0.6
    lowPressureMultiplier: 1000
  - type: TemperatureProtection
    heatingCoefficient: 0.01
    coolingCoefficient: 0.01
  - type: Armor
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    modifiers:
      coefficients:
        Blunt: 0.8
        Slash: 0.8
        Piercing: 0.8
        Heat: 0.8
  # phase cloak
  - type: ToggleClothing
    action: ActionTogglePhaseCloak
    disableOnUnequip: true
  - type: ComponentToggler
    parent: true
    components:
    - type: Stealth
      maxVisibility: 0.1
      hadOutline: true
      thermalsImmune: true # Goobstation
    - type: StealthOnMove
      invisibilityPenalty: 3
      maxInvisibilityPenalty: 1.6
      passiveVisibilityRate: -1 # cloak very fast
      movementVisibilityRate: 0.15 # only some cloak if moving
  - type: PowerCellDraw
    drawRate: 3.6 # 100 seconds on the default cell # Goob edit
  - type: ToggleCellDraw
  # throwing star ability
  - type: ItemCreator
    action: ActionCreateThrowingStar
    charge: 14.4
    spawnedPrototype: ThrowingStarNinja
    noPowerPopup: ninja-no-power
  # core ninja suit stuff
  - type: NinjaSuit
  - type: UseDelay
    delay: 5 # disable time
  - type: PowerCellSlot
    cellSlotId: cell_slot
    # throwing in a recharger would bypass glove charging mechanic
    fitsInCharger: false
  - type: ContainerContainer
    containers:
      cell_slot: !type:ContainerSlot
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellSmall
        disableEject: true
        whitelist:
          tags:
            - PowerCell
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit

- type: entity
  parent: ClothingOuterBase
  id: ClothingOuterSuitChicken
  name: chicken suit
  description: Bok bok bok!
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/chicken.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/chicken.rsi
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit

- type: entity
  parent: ClothingOuterBase
  id: ClothingOuterSuitShrineMaiden
  name: shrine maiden outfit
  description: Makes you want to go deal with some troublesome youkai.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/shrine-maiden.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/shrine-maiden.rsi

- type: entity
  parent: ClothingOuterBase
  id: ClothingOuterSuitWitchRobes
  name: witch robes
  description: Magic is all about the spell power, ZE!
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/witchrobe.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/witchrobe.rsi

- type: entity
  parent: ClothingOuterBase
  id: ClothingOuterSuitMonkey
  name: monkey suit
  description: A suit that looks like a primate.
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/monkey.rsi
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/monkey.rsi
  - type: ContainerContainer
    containers:
      toggleable-clothing: !type:Container {}
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit

- type: entity
  parent: [ ClothingOuterBase, ClothingOuterBaseToggleable ]
  id: ClothingOuterSuitIan
  name: ian suit
  description: Who's a good boy?
  components:
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/iansuit.rsi
  - type: Item
    size: Normal
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/iansuit.rsi
  - type: ToggleableClothing # Goobstation - Modsuits change
    clothingPrototypes:
      head: ClothingHeadHatHoodIan
  - type: Construction
    graph: ClothingOuterSuitIan
    node: suit
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit
  - type: Tag
    tags:
    - CorgiWearable
    - WhitelistChameleon

- type: entity
  parent: [ ClothingOuterBase, ClothingOuterBaseToggleable ]
  id: ClothingOuterSuitCarp
  name: carp suit
  description: A special suit that makes you look just like a space carp, if your eyesight is bad.
  components:
  - type: AllowSuitStorage
  - type: Sprite
    sprite: Clothing/OuterClothing/Suits/carpsuit.rsi
  - type: Item
    size: Normal
  - type: Clothing
    sprite: Clothing/OuterClothing/Suits/carpsuit.rsi
  - type: ToggleableClothing # Goobstation - Modsuits change
    clothingPrototypes:
      head: ClothingHeadHatHoodCarp
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit

- type: entity
  parent: ClothingOuterSuitCarp
  id: ClothingOuterHardsuitCarp
  suffix: Hardsuit, DO NOT MAP
  categories: [ DoNotMap ]
  components:
  - type: PressureProtection
    highPressureMultiplier: 0.6
    lowPressureMultiplier: 1000
  - type: TemperatureProtection
    heatingCoefficient: 0.01
    coolingCoefficient: 0.01
  - type: ToggleableClothing # Goobstation - Modsuits change
    clothingPrototypes:
      head: ClothingHeadHelmetHardsuitCarp
  - type: HideClothingLayerClothing # Goobstation
    hiddenSlots:
    - jumpsuit
  - type: StaticPrice
    price: 1500

