# 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: ClothingModsuitResponsoryJanitorial
  name: Janitorial Responsory modsuit control unit
  description: The main controller for a Janitorial Responsory modsuit.
  components:
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-responsory.rsi
    - type: ToggleableClothing
      clothingPrototypes:
        head: ClothingModsuitHelmetResponsoryJanitorial
        gloves: ClothingModsuitGauntletsResponsoryJanitorial
        outerClothing: ClothingModsuitChestplateResponsoryJanitorial
        shoes: ClothingModsuitBootsResponsoryJanitorial
    - 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: SealableClothingVisuals
      spriteLayer: sealed
      clothingVisuals:
        back:
        - state: equipped-BACKPACK-sealed

- type: entity
  parent: ClothingModsuitGauntletsStandard
  id: ClothingModsuitGauntletsResponsoryJanitorial
  name: Janitorial Responsory modsuit gauntlets
  description: A pair of gauntlets made for the Janitorial Responsory modsuit.
  categories: [HideSpawnMenu]
  components:
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-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: ClothingModsuitHelmetResponsoryJanitorial
  name: Janitorial Responsory modsuit helmet
  description: A state-of-the-art helmet designed by NanoTrasen for the Janitorial Responsory modsuit. It includes a built-in HUD.
  categories: [HideSpawnMenu]
  components:
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-responsory.rsi
    - type: PressureProtection
      highPressureMultiplier: 0.08
      lowPressureMultiplier: 1000
    - type: Armor
      traumaDeductions:
        Dismemberment: 0.5
        OrganDamage: 0.5
        BoneDamage: 0.5
        VeinsDamage: 0
        NerveDamage: 0
      modifiers:
        coefficients:
          Blunt: 0.5
          Slash: 0.5
          Piercing: 0.5
          Heat: 0.5
          Radiation: 0.45
          Caustic: 0.45
    - 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: ClothingModsuitChestplateResponsoryJanitorial
  name: Janitorial Responsory modsuit chestplate
  description: A state of the art chestplate designed by NanoTrasen for the Janitorial Responsory modsuit. It incorporates powered servos to reduce the equipment load.
  categories: [HideSpawnMenu]
  components:
    - type: Sprite
      sprite: _EinsteinEngines/Clothing/NanoTrasen/Modsuits/janitorial-responsory.rsi
    - type: ClothingSpeedModifier
      walkModifier: 0.95
      sprintModifier: 0.95
    - type: Armor
      traumaDeductions:
        Dismemberment: 0.5
        OrganDamage: 0.5
        BoneDamage: 0.5
        VeinsDamage: 0
        NerveDamage: 0
      modifiers:
        coefficients:
          Blunt: 0.45
          Slash: 0.45
          Piercing: 0.45
          Heat: 0.45
          Radiation: 0.45
          Caustic: 0.45
    - type: ExplosionResistance
      damageCoefficient: 0.45
    - type: SealableClothingVisuals
      spriteLayer: sealed
      clothingVisuals:
        outerClothing:
        - state: equipped-OUTERCLOTHING-sealed
        - state: equipped-OUTERCLOTHING-sealed-unshaded
          shader: unshaded
    - type: StaminaResistance
      damageCoefficient: 0.45 # 50%

- type: entity
  parent: ClothingModsuitBootsStandard
  id: ClothingModsuitBootsResponsoryJanitorial
  name: Janitorial Responsory modsuit boots
  description: A state-of-the-art pair of magboots for the Janitorial 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/janitorial-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: 0.95
      sprintModifier: 0.95

- type: entity
  id: SuitStorageResponsoryJanitorial
  parent: SuitStorageBase
  suffix: Janitorial Responsory Modsuit
  components:
    - type: StorageFill
      contents:
        - id: OxygenTankFilled
        - id: ClothingModsuitResponsoryJanitorial
        - id: ClothingMaskBreath
