- type: entity
  abstract: true
  parent: Clothing
  id: ClothingOuterBase
  components:
  - type: Clothing
    slots:
    - outerClothing
  - type: Sprite
    state: icon

- type: entity
  abstract: true
  parent: ClothingOuterBase
  id: ClothingOuterBaseLarge
  components:
  - type: Item
    size: Huge
  - type: Clothing
    slots:
    - outerClothing
  - type: ClothingSpeedModifier
    walkModifier: 0.9
    sprintModifier: 0.9
  - type: HeldSpeedModifier

- type: entity
  abstract: true
  parent: [ ClothingOuterBaseLarge, TemperatureProtectionGood ]
  id: ClothingOuterBaseLargeInsulated

- type: entity
  abstract: true
  parent: [ ClothingOuterBaseLarge, TemperatureProtectionGreat ]
  id: ClothingOuterBaseLargeFireproof
  components:
  - type: FireProtection
    reduction: 0.65

- type: entity
  abstract: true
  parent: ClothingOuterBase
  id: ClothingOuterStorageBase
  components:
  - type: Item
    size: Normal
    shape:
    - 0,0,1,2
  - type: Storage
    grid:
    - 0,0,2,1
    maxItemSize: Small
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
  - type: StaticPrice
    price: 70

- type: entity
  abstract: true
  parent: [SolutionFood, SolutionNormal, ClothingOuterStorageBase]
  id: ClothingOuterStorageEdible
  components:
  - type: Edible
    requiresSpecialDigestion: true
  - type: Solution
    solution:
      reagents:
      - ReagentId: Fiber
        Quantity: 60

- type: entity
  abstract: true
  parent: [ ClothingOuterStorageEdible, TemperatureProtectionMinimal]
  id: ClothingOuterJacketBase

- type: entity
  abstract: true
  parent: [ClothingOuterStorageBase, BaseFoldable]
  id: ClothingOuterStorageFoldableBase
  components:
  - type: Foldable
    canFoldInsideContainer: true
    unfoldVerbText: fold-zip-verb
    foldVerbText: fold-unzip-verb
  - type: FoldableClothing
    foldedEquippedPrefix: open
    foldedHeldPrefix: open
  - type: Sprite
    layers:
    - state: icon
      map: [ "unfoldedLayer" ]
    - state: icon-open
      map: ["foldedLayer"]
      visible: false

- type: entity
  abstract: true
  parent: ClothingOuterStorageFoldableBase
  id: ClothingOuterStorageFoldableBaseOpened
  suffix: opened
  components:
  - type: Foldable
    folded: true
  - type: Clothing
    equippedPrefix: open
  - type: Item
    heldPrefix: open
  - type: Sprite
    layers:
    - state: icon
      map: [ "unfoldedLayer" ]
      visible: false
    - state: icon-open
      map: ["foldedLayer"]
      visible: true

- type: entity
  abstract: true
  parent: ClothingOuterJacketBase
  id: ClothingOuterJacketToggleableBase
  components:
  - type: ToggleableClothing
    clothingPrototype: ClothingHeadHatHoodWinterDefault
    slot: head
  - type: ContainerContainer
    containers:
      toggleable-clothing: !type:ContainerSlot {}
      storagebase: !type:Container
        ents: []

- type: entity
  abstract: true
  parent: [ClothingOuterBaseLargeInsulated, AllowSuitStorageClothing]
  id: ClothingOuterEVASuitBase
  name: base EVA Suit
  components:
# SlotBlocker blocked until UI change
#  - type: SlotBlock
#    slots: [innerclothing, feet]
  - type: PressureProtection
    highPressureMultiplier: 0.6
    lowPressureMultiplier: 1000
  - type: ClothingSpeedModifier
    walkModifier: 0.8
    sprintModifier: 0.8
  - type: ProtectedFromStepTriggers
    slots: WITHOUT_POCKET
  - type: DamageOnInteractProtection
    damageProtection:
      flatReductions:
        Heat: 10 # the average lightbulb only does around four damage!
    slots: OUTERCLOTHING
  - type: HideLayerClothing
    slots:
    - Tail

- type: entity
  abstract: true
  parent: [ ClothingOuterEVASuitBase, GeigerCounterClothing ]
  id: ClothingOuterHardsuitBase
  name: base hardsuit
  components:
  - type: PressureProtection
    highPressureMultiplier: 0.3
  - type: ClothingSpeedModifier
    walkModifier: 0.6
    sprintModifier: 0.6
  - type: Item
    size: Ginormous
    shape:
    - 0,0,4,5
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.90
        Slash: 0.90
        Piercing: 0.95
        Heat: 0.90
        Radiation: 0.25
  - type: ToggleableClothing
    slot: head
    verbText: toggle-clothing-verb-helmet
    action: ActionToggleSuitPiece
  - type: ContainerContainer
    containers:
      toggleable-clothing: !type:ContainerSlot {}
  - type: GroupExamine
  - type: Tag
    tags:
    - Hardsuit
    - WhitelistChameleon

- type: entity
  parent: ClothingOuterEVASuitBase
  id: ClothingOuterEVASuitBaseToggleable
  abstract: true
  components:
  - type: ToggleableClothing
    slot: head
    verbText: toggle-clothing-verb-helmet
    action: ActionToggleSuitPiece
  - type: ContainerContainer
    containers:
      toggleable-clothing: !type:ContainerSlot {}

- type: entity
  abstract: true
  parent: ClothingOuterBase
  id: ClothingOuterBaseToggleable
  name: hoodie with hood
  components:
  - type: ToggleableClothing
    clothingPrototype: ClothingHeadHatHoodWinterDefault
    slot: head
    verbText: toggle-clothing-verb-hood
  - type: ContainerContainer
    containers:
      toggleable-clothing: !type:ContainerSlot {}
      storagebase: !type:Container
        ents: []

- type: entity
  abstract: true
  parent: ClothingOuterBase
  id: ClothingOuterBaseMedium
  components:
  - type: Item
    size: Large
    shape:
    - 0,0,2,3
