# SPDX-FileCopyrightText: 2025 CliveOcelot <165305605+Orion-416@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 NotActuallyMarty <martynashagriefer@gmail.com>
# SPDX-FileCopyrightText: 2025 Orion-416 <cliveocelot@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 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

# The Modsuit Itself, This is just a ERT modsuit
- type: entity
  parent: [ ClothingModsuitStandard, BaseCentcommContraband ]
  id: ClothingModsuitResponsoryEngineering
  name: Engineering Responsory modsuit control unit
  description: The main controller for a Engineering Responsory modsuit.
  components:
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
    - type: ToggleableClothing
      clothingPrototypes:
        head: ClothingModsuitHelmetResponsoryEngineering
        gloves: ClothingModsuitGauntletsResponsoryEngineering
        outerClothing: ClothingModsuitChestplateResponsoryEngineering
        shoes: ClothingModsuitBootsResponsoryEngineering
    - type: ItemSlots
      slots:
        cell_slot:
          name: power-cell-slot-component-slot-name-default
          startingItem: PowerCellMicroreactor # Since this is used by ERT they shouldnt need to stop to recharge.
          whitelist:
            components:
              - PowerCell
    - type: Storage
      maxItemSize: Huge
      grid:
        - 0,0,10,3
    - type: ClothingSpeedModifier
      walkModifier: 1
      sprintModifier: 1
    - type: SealableClothingVisuals
      spriteLayer: sealed
      clothingVisuals:
        back:
        - state: equipped-BACKPACK-sealed

- type: entity
  parent: ClothingModsuitGauntletsStandard
  id: ClothingModsuitGauntletsResponsoryEngineering
  name: Engineering Responsory modsuit gauntlets
  description: A pair of gauntlets made for the Engineering Responsory modsuit.
  categories: [HideSpawnMenu]
  components:
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
    - type: SealableClothingVisuals
      spriteLayer: sealed
      clothingVisuals:
        gloves:
        - state: equipped-HAND-sealed
        - state: equipped-HAND-sealed-unshaded
          shader: unshaded

- type: entity
  parent: [ClothingModsuitHelmetStandard, ShowSecurityIcons]
  id: ClothingModsuitHelmetResponsoryEngineering
  name: Engineering Responsory modsuit helmet
  description: A state-of-the-art helmet designed by NanoTrasen for the Engineering Responsory modsuit. It includes a built-in HUD.
  categories: [HideSpawnMenu]
  components:
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
    - type: PressureProtection
      highPressureMultiplier: 0.08
      lowPressureMultiplier: 1000
    - type: Armor
      modifiers:
        coefficients:
          Blunt: 0.75
          Slash: 0.4 # Goobstation - Solstice: CBURN should protect against zombie attacks # pheenty: why tf is ert engineer inherited from cburn
          Piercing: 0.65
          Heat: 0.15
          Cold: 0.10
          Shock: 0.15
          Radiation: 0.1
          Caustic: 0.1
    - type: FlashImmunity # Goobstation
    - type: FlashSoundSuppression # Goobstation
      protectionRange: 0
    - type: EyeProtection
    - type: ShowHealthBars
      damageContainers:
        - Biological
        - Inorganic
        - Silicon
    - type: PointLight
      color: "#FFDF00"
    - type: SealableClothingVisuals
      spriteLayer: sealed
      clothingVisuals:
        head:
        - state: equipped-HEAD-sealed
        - state: equipped-HEAD-sealed-unshaded
          shader: unshaded

- type: entity
  parent: ClothingModsuitChestplateStandard
  id: ClothingModsuitChestplateResponsoryEngineering
  name: Engineering Responsory modsuit chestplate
  description: A state of the art chestplate designed by NanoTrasen for the Engineering Responsory modsuit. It incorporates powered servos to reduce the equipment load.
  categories: [HideSpawnMenu]
  components:
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
    - type: ClothingSpeedModifier
      walkModifier: 1
      sprintModifier: 1
    - type: Armor
      modifiers:
        coefficients:
          Blunt: 0.7
          Slash: 0.3 # Goobstation - CBURN should protect against zombie attacks
          Piercing: 0.6
          Heat: 0.10
          Cold: 0.10
          Shock: 0.15
          Radiation: 0.1
          Caustic: 0.1
    - type: SealableClothingVisuals
      spriteLayer: sealed
      clothingVisuals:
        outerClothing:
        - state: equipped-OUTERCLOTHING-sealed
    - type: StaminaResistance
      damageCoefficient: 0.5 # 50%
    - type: FireProtection
      reduction: 1
    - type: ClothingGrantComponent
      component:
        - type: SupermatterImmune

- type: entity
  parent: ClothingModsuitBootsStandard
  id: ClothingModsuitBootsResponsoryEngineering
  name: Engineering Responsory modsuit boots
  description: A state-of-the-art pair of magboots for the Engineering Responsory modsuit. So long as the suit is powered, these will not slow the wearer down.
  categories: [HideSpawnMenu]
  components:
    - type: Appearance
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/engineering-responsory.rsi
    - type: Tag
      tags:
        - WhitelistChameleon
    - type: SealableClothingVisuals
      spriteLayer: sealed
      clothingVisuals:
        shoes:
        - state: equipped-FEET-sealed
    - type: ItemToggle
    - type: ToggleClothing
      action: ActionToggleMagboots
    - type: ComponentToggler
      components:
      - type: NoSlip
    - type: Magboots
      enabledPrefix: null
    - type: ClothingSpeedModifier
      walkModifier: 1
      sprintModifier: 1

- type: entity
  id: SuitStorageResponsoryEngineering
  parent: SuitStorageBase
  suffix: Engineering Responsory Modsuit
  components:
    - type: StorageFill
      contents:
        - id: OxygenTankFilled
        - id: ClothingModsuitResponsoryEngineering
        - id: ClothingMaskBreath
