#S2 Mechs
- type: entity
  id: BaseBroadswordPart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: _Mono/Objects/Specific/Mech/broadsword_construction.rsi

- type: entity
  id: BaseBroadswordPartItem
  parent: BaseBroadswordPart
  abstract: true
  components:
  - type: Item
    size: Ginormous

- type: entity
  parent: BaseBroadswordPart
  id: BroadswordHarness
  name: broadsword harness
  description: The core of the AF-28 "Broadsword".
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      broadsword_head+o:
        whitelist:
          tags:
          - BroadswordHead
      broadsword_r_arm+o:
        whitelist:
          tags:
          - BroadswordLArm
      broadsword_l_arm+o:
        whitelist:
          tags:
          - BroadswordRArm
      broadsword_l_leg+o:
        whitelist:
          tags:
          - BroadswordLLeg
      broadsword_r_leg+o:
        whitelist:
          tags:
          - BroadswordRLeg
    sprite: _Mono/Objects/Specific/Mech/broadsword_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssembly
    finishedPrototype: BroadswordChassis
    requiredParts:
      BroadswordHead: false
      BroadswordLArm: false
      BroadswordRArm: false
      BroadswordLLeg: false
      BroadswordRLeg: false
  - type: Sprite
    state: broadsword_harness+o
    noRot: true

- type: entity
  parent: BaseBroadswordPartItem
  id: BroadswordHead
  name: broadsword head
  description: The head of the broadsword. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: broadsword_head
  - type: Tag
    tags:
    - BroadswordHead

- type: entity
  parent: BaseBroadswordPartItem
  id: BroadswordRArm
  name: broadsword right arm
  description: The right arm of the broadsword. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: broadsword_l_arm
  - type: Tag
    tags:
    - BroadswordRArm

- type: entity
  parent: BaseBroadswordPartItem
  id: BroadswordLArm
  name: broadsword left arm
  description: The left arm of the Clarke. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: broadsword_r_arm
  - type: Tag
    tags:
    - BroadswordLArm

- type: entity
  parent: BaseBroadswordPartItem
  id: BroadswordLLeg
  name: broadsword left leg
  description: The left leg of a broadsword. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: broadsword_l_leg
  - type: Tag
    tags:
    - BroadswordLLeg

- type: entity
  parent: BaseBroadswordPartItem
  id: BroadswordRLeg
  name: broadsword right leg
  description: The right leg of a broadsword. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: broadsword_r_leg
  - type: Tag
    tags:
    - BroadswordRLeg

- type: entity
  id: BroadswordChassis
  parent: BaseBroadswordPart
  name: broadsword chassis
  description: An in-progress construction of the broadsword mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: broadsword
  - type: Sprite
    noRot: true
    state: broadsword0
  - type: Construction
    graph: Broadsword
    node: start
    defaultTarget: broadsword

- type: entity
  parent: BaseBroadswordPart
  id: HalberdHarness
  name: halberd harness
  description: The core of the AF-28-M "Halberd".
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      broadsword_head+o:
        whitelist:
          tags:
          - BroadswordHead
      broadsword_r_arm+o:
        whitelist:
          tags:
          - BroadswordLArm
      broadsword_l_arm+o:
        whitelist:
          tags:
          - BroadswordRArm
      broadsword_l_leg+o:
        whitelist:
          tags:
          - BroadswordLLeg
      broadsword_r_leg+o:
        whitelist:
          tags:
          - BroadswordRLeg
    sprite: _Mono/Objects/Specific/Mech/broadsword_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssembly
    finishedPrototype: HalberdChassis
    requiredParts:
      BroadswordHead: false
      BroadswordLArm: false
      BroadswordRArm: false
      BroadswordLLeg: false
      BroadswordRLeg: false
  - type: Sprite
    state: broadsword_harness+o
    noRot: true

- type: entity
  id: HalberdChassis
  parent: BaseBroadswordPart
  name: halberd chassis
  description: An in-progress construction of the halberd mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: broadsword
  - type: Sprite
    noRot: true
    state: broadsword0
  - type: Construction
    graph: Halberd
    node: start
    defaultTarget: halberd


- type: entity
  parent: BaseBroadswordPart
  id: SabreHarness
  name: sabre harness
  description: The core of the AF-28-G "Sabre".
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      broadsword_head+o:
        whitelist:
          tags:
          - BroadswordHead
      broadsword_r_arm+o:
        whitelist:
          tags:
          - BroadswordLArm
      broadsword_l_arm+o:
        whitelist:
          tags:
          - BroadswordRArm
      broadsword_l_leg+o:
        whitelist:
          tags:
          - BroadswordLLeg
      broadsword_r_leg+o:
        whitelist:
          tags:
          - BroadswordRLeg
    sprite: _Mono/Objects/Specific/Mech/broadsword_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssembly
    finishedPrototype: SabreChassis
    requiredParts:
      BroadswordHead: false
      BroadswordLArm: false
      BroadswordRArm: false
      BroadswordLLeg: false
      BroadswordRLeg: false
  - type: Sprite
    state: broadsword_harness+o
    noRot: true

- type: entity
  id: SabreChassis
  parent: BaseBroadswordPart
  name: sabre chassis
  description: An in-progress construction of the sabre mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: broadsword
  - type: Sprite
    noRot: true
    state: broadsword0
  - type: Construction
    graph: Sabre
    node: start
    defaultTarget: sabre

#S4 Mechs
- type: entity
  id: BaseFlailPart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: _Mono/Objects/Specific/Mech/flail_construction.rsi

- type: entity
  id: BaseFlailPartItem
  parent: BaseFlailPart
  abstract: true
  components:
  - type: Item
    size: Ginormous


- type: entity
  parent: BaseFlailPart
  id: FlailHarness
  name: flail harness
  description: The core of the ASF-59 "Flail".
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      flail_head+o:
        whitelist:
          tags:
          - FlailHead
      flail_r_arm+o:
        whitelist:
          tags:
          - FlailLArm
      flail_l_arm+o:
        whitelist:
          tags:
          - FlailRArm
      flail_l_leg+o:
        whitelist:
          tags:
          - FlailLLeg
      flail_r_leg+o:
        whitelist:
          tags:
          - FlailRLeg
    sprite: _Mono/Objects/Specific/Mech/flail_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssembly
    finishedPrototype: FlailChassis
    requiredParts:
      FlailHead: false
      FlailLArm: false
      FlailRArm: false
      FlailLLeg: false
      FlailRLeg: false
  - type: Sprite
    state: flail_harness+o
    noRot: true

- type: entity
  parent: BaseFlailPartItem
  id: FlailHead
  name: flail head
  description: The head of the flail. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: flail_head
  - type: Tag
    tags:
    - FlailHead

- type: entity
  parent: BaseFlailPartItem
  id: FlailRArm
  name: flail right arm
  description: The right arm of the flail. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: flail_l_arm
  - type: Tag
    tags:
    - FlailRArm

- type: entity
  parent: BaseFlailPartItem
  id: FlailLArm
  name: flail left arm
  description: The left arm of the flail. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: flail_r_arm
  - type: Tag
    tags:
    - FlailLArm

- type: entity
  parent: BaseFlailPartItem
  id: FlailLLeg
  name: flail left leg
  description: The left leg of a flail. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: flail_l_leg
  - type: Tag
    tags:
    - FlailLLeg

- type: entity
  parent: BaseFlailPartItem
  id: FlailRLeg
  name: flail right leg
  description: The right leg of a flail. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: flail_r_leg
  - type: Tag
    tags:
    - FlailRLeg

- type: entity
  parent: BaseFlailPart
  id: SpyglassHarness
  name: spyglass harness
  description: The core of the ASF-59-E "Spyglass".
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      flail_head+o:
        whitelist:
          tags:
          - FlailHead
      flail_r_arm+o:
        whitelist:
          tags:
          - FlailLArm
      flail_l_arm+o:
        whitelist:
          tags:
          - FlailRArm
      flail_l_leg+o:
        whitelist:
          tags:
          - FlailLLeg
      flail_r_leg+o:
        whitelist:
          tags:
          - FlailRLeg
    sprite: _Mono/Objects/Specific/Mech/flail_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssembly
    finishedPrototype: SpyglassChassis
    requiredParts:
      FlailHead: false
      FlailLArm: false
      FlailRArm: false
      FlailLLeg: false
      FlailRLeg: false
  - type: Sprite
    state: flail_harness+o
    noRot: true

- type: entity
  parent: BaseFlailPart
  id: MaceHarness
  name: mace harness
  description: The core of the ASF-59-B "Mace".
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      flail_head+o:
        whitelist:
          tags:
          - FlailHead
      flail_r_arm+o:
        whitelist:
          tags:
          - FlailLArm
      flail_l_arm+o:
        whitelist:
          tags:
          - FlailRArm
      flail_l_leg+o:
        whitelist:
          tags:
          - FlailLLeg
      flail_r_leg+o:
        whitelist:
          tags:
          - FlailRLeg
    sprite: _Mono/Objects/Specific/Mech/flail_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssembly
    finishedPrototype: MaceChassis
    requiredParts:
      FlailHead: false
      FlailLArm: false
      FlailRArm: false
      FlailLLeg: false
      FlailRLeg: false
  - type: Sprite
    state: flail_harness+o
    noRot: true




- type: entity
  id: FlailChassis
  parent: BaseFlailPart
  name: flail chassis
  description: An in-progress construction of the flail mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: flail
  - type: Sprite
    noRot: true
    state: flail0
  - type: Construction
    graph: Flail
    node: start
    defaultTarget: flail

- type: entity
  id: SpyglassChassis
  parent: BaseFlailPart
  name: spyglass chassis
  description: An in-progress construction of the spyglass mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: flail
  - type: Sprite
    noRot: true
    state: flail0
  - type: Construction
    graph: Spyglass
    node: start
    defaultTarget: spyglass

- type: entity
  id: MaceChassis
  parent: BaseFlailPart
  name: mace chassis
  description: An in-progress construction of the mace mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: flail
  - type: Sprite
    noRot: true
    state: flail0
  - type: Construction
    graph: Mace
    node: start
    defaultTarget: mace
