- type: entity
  parent: [Clothing, ContentsExplosionResistanceBase]
  id: ClothingModsuitUSSPVaryag
  name: USSP Varyag Modsuit Core
  description: The power and life-support core of the Varyag modsuit.
  components:
  - type: Appearance
  - type: Sprite
    sprite: _Mono/Clothing/Back/Modsuits/ussp-varyag.rsi
    layers:
    - state: control
    - state: control-sealed
      visible: false
      shader: unshaded
      map: [ "sealed" ]
  - type: Item
    size: Huge
  - type: Clothing
    quickEquip: false
    slots:
    - back
  - type: Storage
    grid:
    - 0,0,6,3
    maxItemSize: Huge
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
      toggleable-clothing: !type:Container
      cell_slot: !type:ContainerSlot
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.ToggleClothingUiKey.Key:
        type: ToggleableClothingBoundUserInterface
  - type: UseDelay
    delay: 0.5
  - type: ExplosionResistance
    damageCoefficient: 0.9
  - type: ToggleableClothing
    requiredSlot: back
    blockUnequipWhenAttached: true
    replaceCurrentClothing: true
    clothingPrototypes:
      head: ClothingModsuitHelmetUSSPVaryag
      gloves: ClothingModsuitGauntletsUSSPVaryag
      outerClothing: ClothingModsuitChestplateUSSPVaryag
      shoes: ClothingModsuitBootsUSSPVaryag
  - type: WiresPanel
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        whitelist:
          components:
            - PowerCell
  - type: ItemSlotsRequirePanel
    slots:
      cell_slot: true
  - type: PowerCellDraw
    drawRate: 0.1 # Sealed draw rate
    useRate: 0.5 # Draw rate for sealing
  - type: PowerCellSlot
    cellSlotId: cell_slot
    fitsInCharger: false
  - type: DoAfter
  - type: SealableClothingControl
  - type: SealableClothingRequiresPower
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      back:
      - state: equipped-BACKPACK-sealed
  - type: PirateBountyItem # Mono
    id: ClothingOuterHardsuitTacsuit

- type: entity
  parent: ClothingModsuitUSSPVaryag
  id: ClothingModsuitUSSPVaryagPowerCell
  suffix: High-Capacity Battery
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellHigh
        whitelist:
          components:
            - PowerCell

- type: entity
  parent: [Clothing, ContentsExplosionResistanceBase]
  id: ClothingModsuitUSSPZastavnik
  name: USSP Zastavnik Modsuit Core
  description: The sealed backpack unit powering the Zastavnik suit’s life support and locking mechanisms.
  components:
  - type: Appearance
  - type: Sprite
    sprite: _Mono/Clothing/Back/Modsuits/ussp-zastavnik.rsi
    layers:
    - state: control
    - state: control-sealed
      visible: false
      shader: unshaded
      map: [ "sealed" ]
  - type: Item
    size: Huge
  - type: Clothing
    quickEquip: false
    slots:
    - back
  - type: Storage
    grid:
    - 0,0,7,3
    maxItemSize: Huge
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
      toggleable-clothing: !type:Container
      cell_slot: !type:ContainerSlot
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.ToggleClothingUiKey.Key:
        type: ToggleableClothingBoundUserInterface
  - type: UseDelay
    delay: 0.5
  - type: ExplosionResistance
    damageCoefficient: 0.9
  - type: ToggleableClothing
    requiredSlot: back
    blockUnequipWhenAttached: true
    replaceCurrentClothing: true
    clothingPrototypes:
      head: ClothingModsuitHelmetUSSPZastavnik
      gloves: ClothingModsuitGauntletsUSSPZastavnik
      outerClothing: ClothingModsuitChestplateUSSPZastavnik
      shoes: ClothingModsuitBootsUSSPZastavnik
  - type: WiresPanel
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        whitelist:
          components:
            - PowerCell
  - type: ItemSlotsRequirePanel
    slots:
      cell_slot: true
  - type: PowerCellDraw
    drawRate: 0.1 # Sealed draw rate
    useRate: 0.5 # Draw rate for sealing
  - type: PowerCellSlot
    cellSlotId: cell_slot
    fitsInCharger: false
  - type: DoAfter
  - type: SealableClothingControl
  - type: SealableClothingRequiresPower
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      back:
      - state: equipped-BACKPACK-sealed
  - type: Construction
    graph: Modsuit
    node: headofsecurity
  - type: PirateBountyItem # Mono
    id: ClothingOuterHardsuitTacsuitHighValue

- type: entity
  parent: ClothingModsuitUSSPZastavnik
  id: ClothingModsuitUSSPZastavnikPowerCell
  suffix: High-Capacity Battery
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellHigh
        whitelist:
          components:
            - PowerCell

- type: entity
  parent: [Clothing, ContentsExplosionResistanceBase]
  id: ClothingModsuitRogue
  name: RX-01 hardsuit control unit
  description: Core control unit for the RX-01. Survives power spikes, hull breaches, and black market ingenuity. Somehow. Also has built in experimental voidboots.
  components:
  - type: Appearance
  - type: Sprite
    sprite: _Mono/Clothing/Back/Modsuits/rogue.rsi
    layers:
    - state: control
    - state: control-sealed
      visible: false
      shader: unshaded
      map: [ "sealed" ]
  - type: Item
    size: Huge
  - type: Clothing
    quickEquip: false
    slots:
    - back
  - type: Storage
    grid:
    - 0,0,6,3
    maxItemSize: Huge
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
      toggleable-clothing: !type:Container
      cell_slot: !type:ContainerSlot
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.ToggleClothingUiKey.Key:
        type: ToggleableClothingBoundUserInterface
  - type: UseDelay
    delay: 0.5
  - type: ExplosionResistance
    damageCoefficient: 0.9
  - type: ToggleableClothing
    requiredSlot: back
    blockUnequipWhenAttached: true
    replaceCurrentClothing: true
    clothingPrototypes:
      head: ClothingModsuitHelmetRogue
      gloves: ClothingModsuitGauntletsRogue
      outerClothing: ClothingModsuitChestplateRogue
      shoes: ClothingModsuitBootsRogue
  - type: WiresPanel
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        whitelist:
          components:
            - PowerCell
  - type: ItemSlotsRequirePanel
    slots:
      cell_slot: true
  - type: PowerCellDraw
    drawRate: 0.2 # Sealed draw rate
    useRate: 0.5 # Draw rate for sealing
  - type: PowerCellSlot
    cellSlotId: cell_slot
    fitsInCharger: false
  - type: DoAfter
  - type: SealableClothingControl
  - type: SealableClothingRequiresPower
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      back:
      - state: equipped-BACKPACK-sealed
  - type: Construction
    graph: Modsuit
    node: rogue

- type: entity
  parent: ClothingModsuitRogue
  id: ClothingModsuitRoguePowerCell
  suffix: High-Capacity Battery
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellHigh
        whitelist:
          components:
            - PowerCell

# Volta
- type: entity
  parent: [Clothing, ContentsExplosionResistanceBase]
  id: ClothingModsuitVolta
  name: TSF Volta Experimental Modsuit
  description: A modified sidegrade of the sapper modsuit model for TSFMC, featuring improved ballistic plates and explosion deflecting systems.
  components:
  - type: Appearance
  - type: Sprite
    sprite: _Mono/Clothing/Back/Modsuits/tsfmc-volta.rsi
    layers:
    - state: control
    - state: control-sealed
      visible: false
      shader: unshaded
      map: [ "sealed" ]
  - type: Item
    size: Huge
  - type: Clothing
    quickEquip: false
    slots:
    - back
  - type: Storage
    grid:
    - 0,0,6,3
    maxItemSize: Huge
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
      toggleable-clothing: !type:Container
      cell_slot: !type:ContainerSlot
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.ToggleClothingUiKey.Key:
        type: ToggleableClothingBoundUserInterface
  - type: UseDelay
    delay: 0.5
  - type: ExplosionResistance
    damageCoefficient: 0.9
  - type: ToggleableClothing
    requiredSlot: back
    blockUnequipWhenAttached: true
    replaceCurrentClothing: true
    clothingPrototypes:
      head: ClothingModsuitHelmetVolta
      gloves: ClothingModsuitGauntletsVolta
      outerClothing: ClothingModsuitChestplateVolta
      shoes: ClothingModsuitBootsVolta
  - type: WiresPanel
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        whitelist:
          components:
            - PowerCell
  - type: ItemSlotsRequirePanel
    slots:
      cell_slot: true
  - type: PowerCellDraw
    drawRate: 0.1 # Sealed draw rate
    useRate: 0.5 # Draw rate for sealing
  - type: PowerCellSlot
    cellSlotId: cell_slot
    fitsInCharger: false
  - type: DoAfter
  - type: SealableClothingControl
  - type: SealableClothingRequiresPower
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      back:
      - state: equipped-BACKPACK-sealed
      back-resomi:
      - state: equipped-BACKPACK-sealed-resomi
  - type: Construction
    graph: Modsuit
    node: engineer

- type: entity
  parent: ClothingModsuitVolta
  id: ClothingModsuitVoltaPowerCell
  suffix: High-Capacity Battery
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellHigh
        whitelist:
          components:
            - PowerCell

# Gallóglach

- type: entity
  parent: [Clothing, ContentsExplosionResistanceBase]
  id: ClothingModsuitMercenary
  name: mercenary gallóglach hardsuit control unit
  description: A modular hardsuit control module unit packed with a powered shield for extra protection.
  components:
  - type: Appearance
  - type: Sprite
    sprite: _Mono/Clothing/Back/Modsuits/mercenary.rsi
    layers:
    - state: control
    - state: control-sealed
      visible: false
      shader: unshaded
      map: [ "sealed" ]
  - type: Item
    size: Huge
  - type: Clothing
    quickEquip: false
    slots:
    - back
  - type: Storage
    grid:
    - 0,0,1,3
    - 3,0,6,3
    - 8,0,9,3
    maxItemSize: Huge
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
      toggleable-clothing: !type:Container
      cell_slot: !type:ContainerSlot
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.ToggleClothingUiKey.Key:
        type: ToggleableClothingBoundUserInterface
  - type: UseDelay
    delay: 0.5
  - type: ExplosionResistance
    damageCoefficient: 0.9
  - type: ToggleableClothing
    requiredSlot: back
    blockUnequipWhenAttached: true
    replaceCurrentClothing: true
    clothingPrototypes:
      head: ClothingModsuitHelmetMercenary
      gloves: ClothingModsuitGauntletsMercenary
      outerClothing: ClothingModsuitChestplateMercenary
      shoes: ClothingModsuitBootsMercenary
  - type: WiresPanel
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        whitelist:
          components:
            - PowerCell
  - type: ItemSlotsRequirePanel
    slots:
      cell_slot: true
  - type: PowerCellDraw
    drawRate: 0.1 # Sealed draw rate
    useRate: 0.5 # Draw rate for sealing
  - type: PowerCellSlot
    cellSlotId: cell_slot
    fitsInCharger: false
  - type: DoAfter
  - type: SealableClothingControl
  - type: SealableClothingRequiresPower
  - type: SealableClothingVisuals
    spriteLayer: sealed
    clothingVisuals:
      back:
      - state: equipped-BACKPACK-sealed
      back-resomi:
      - state: equipped-BACKPACK-sealed-resomi
  - type: Construction
    graph: Modsuit
    node: mercenary

- type: entity
  parent: ClothingModsuitMercenary
  id: ClothingModsuitMercenaryPowerCell
  suffix: High-Capacity Battery
  components:
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
        startingItem: PowerCellHigh
        whitelist:
          components:
            - PowerCell
