- type: entity
  id: BaseMechPart
  abstract: true
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: CollisionWake
  - type: TileFrictionModifier
    modifier: 0.5
  - type: Physics
    bodyType: Dynamic
    fixedRotation: false
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.25,-0.25,0.25,0.25"
        density: 100
        mask:
        - ItemMask
        restitution: 0.3  # fite me
        friction: 0.2
  - type: Pullable
  - type: GuideHelp
    guides:
    - Robotics

# Clarke

- type: entity
  id: BaseClarkePart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/clarke_construction.rsi

- type: entity
  id: BaseClarkePartItem
  parent: BaseClarkePart
  abstract: true
  components:
  - type: Item
    size: Ginormous

- type: entity
  parent: BaseClarkePart
  id: ClarkeHarness
  name: clarke harness
  description: The core of the Clarke.
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      clarke_head+o:
        whitelist:
          tags:
          - ClarkeHead
      clarke_r_arm+o:
        whitelist:
          tags:
          - ClarkeLArm
      clarke_l_arm+o:
        whitelist:
          tags:
          - ClarkeRArm
      clarke_treads+o:
        whitelist:
          tags:
          - ClarkeTreads
    sprite: Objects/Specific/Mech/clarke_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: PartAssembly
    parts:
      Clarke:
      - ClarkeHead
      - ClarkeLArm
      - ClarkeRArm
      - ClarkeTreads
    containerId: mech-assembly-container
  - type: Construction
    graph: Clarke
    node: start
  - type: Sprite
    state: clarke_harness+o
    noRot: true

- type: entity
  parent: BaseClarkePartItem
  id: ClarkeHead
  name: clarke head
  description: The head of the Clarke. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: clarke_head
  - type: Tag
    tags:
    - ClarkeHead

- type: entity
  parent: BaseClarkePartItem
  id: ClarkeRArm
  name: clarke right arm
  description: The right arm of the Clarke. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: clarke_l_arm
  - type: Tag
    tags:
    - ClarkeRArm

- type: entity
  parent: BaseClarkePartItem
  id: ClarkeLArm
  name: clarke left arm
  description: The left arm of the Clarke. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: clarke_r_arm
  - type: Tag
    tags:
    - ClarkeLArm

- type: entity
  parent: BaseClarkePartItem
  id: ClarkeTreads
  name: clarke treads
  description: The treads of the Clarke. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: clarke_treads
  - type: Tag
    tags:
    - ClarkeTreads

- type: entity
  id: ClarkeChassis
  parent: BaseClarkePart
  name: calrke chassis
  description: An in-progress construction of the Clarke mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: clarke
  - type: Sprite
    noRot: true
    state: clarke0
  - type: Construction
    graph: Clarke
    node: start
    defaultTarget: clarke

# Durand

- type: entity
  id: BaseDurandPart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/durand_construction.rsi

- type: entity
  id: BaseDurandPartItem
  parent: BaseDurandPart
  abstract: true
  components:
  - type: Item
    size: Ginormous

- type: entity
  parent: BaseDurandPart
  id: DurandHarness
  name: durand harness
  description: The core of the Durand.
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      durand_head+o:
        whitelist:
          tags:
          - DurandHead
      durand_l_arm+o:
        whitelist:
          tags:
          - DurandLArm
      durand_r_arm+o:
        whitelist:
          tags:
          - DurandRArm
      durand_l_leg+o:
        whitelist:
          tags:
          - DurandLLeg
      durand_r_leg+o:
        whitelist:
          tags:
          - DurandRLeg
    sprite: Objects/Specific/Mech/durand_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: durand
  - type: Sprite
    state: durand_harness+o
    noRot: true
  - type: PartAssembly
    parts:
      Durand:
      - DurandHead
      - DurandLArm
      - DurandRArm
      - DurandLLeg
      - DurandRLeg
    containerId: mech-assembly-container
  - type: Construction
    graph: Durand
    node: start

- type: entity
  parent: BaseDurandPartItem
  id: DurandHead
  name: durand head
  description: The head of the Durand. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: durand_head
  - type: Tag
    tags:
    - DurandHead

- type: entity
  parent: BaseDurandPartItem
  id: DurandLArm
  name: durand left arm
  description: The left arm of the Durand. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: durand_l_arm
  - type: Tag
    tags:
    - DurandLArm

- type: entity
  parent: BaseDurandPartItem
  id: DurandLLeg
  name: durand left leg
  description: The left leg of the Durand. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: durand_l_leg
  - type: Tag
    tags:
    - DurandLLeg

- type: entity
  parent: BaseDurandPartItem
  id: DurandRLeg
  name: durand right leg
  description: The right leg of the Durand. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: durand_r_leg
  - type: Tag
    tags:
    - DurandRLeg

- type: entity
  parent: BaseDurandPartItem
  id: DurandRArm
  name: durand right arm
  description: The right arm of the Durand. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: durand_r_arm
  - type: Tag
    tags:
    - DurandRArm

- type: entity
  id: DurandChassis
  parent: BaseDurandPart
  name: durand chassis
  description: An in-progress construction of the Durand mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: durand
  - type: Sprite
    noRot: true
    state: durand0
  - type: Construction
    graph: Durand
    node: start
    defaultTarget: durand

# Gygax

- type: entity
  id: BaseGygaxPart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/gygax_construction.rsi

- type: entity
  id: BaseGygaxPartItem
  parent: BaseGygaxPart
  abstract: true
  components:
  - type: Item
    size: Ginormous

- type: entity
  parent: BaseGygaxPart
  id: GygaxHarness
  name: gygax harness
  description: The core of the Gygax.
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      gygax_head+o:
        whitelist:
          tags:
          - GygaxHead
      gygax_l_arm+o:
        whitelist:
          tags:
          - GygaxLArm
      gygax_r_arm+o:
        whitelist:
          tags:
          - GygaxRArm
      gygax_l_leg+o:
        whitelist:
          tags:
          - GygaxLLeg
      gygax_r_leg+o:
        whitelist:
          tags:
          - GygaxRLeg
    sprite: Objects/Specific/Mech/gygax_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: gygax
  - type: Sprite
    state: gygax_harness+o
    noRot: true
  - type: PartAssembly
    parts:
      Gygax:
      - GygaxHead
      - GygaxLArm
      - GygaxRArm
      - GygaxLLeg
      - GygaxRLeg
    containerId: mech-assembly-container
  - type: Construction
    graph: Gygax
    node: start

- type: entity
  parent: BaseGygaxPartItem
  id: GygaxHead
  name: gygax head
  description: The head of the Gygax. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: gygax_head
  - type: Tag
    tags:
    - GygaxHead

- type: entity
  parent: BaseGygaxPartItem
  id: GygaxLArm
  name: gygax left arm
  description: The left arm of the Gygax. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: gygax_l_arm
  - type: Tag
    tags:
    - GygaxLArm

- type: entity
  parent: BaseGygaxPartItem
  id: GygaxLLeg
  name: gygax left leg
  description: The left leg of the Gygax. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: gygax_l_leg
  - type: Tag
    tags:
    - GygaxLLeg

- type: entity
  parent: BaseGygaxPartItem
  id: GygaxRLeg
  name: gygax right leg
  description: The right leg of the Gygax. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: gygax_r_leg
  - type: Tag
    tags:
    - GygaxRLeg

- type: entity
  parent: BaseGygaxPartItem
  id: GygaxRArm
  name: gygax right arm
  description: The right arm of the Gygax. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: gygax_r_arm
  - type: Tag
    tags:
    - GygaxRArm

- type: entity
  id: GygaxChassis
  parent: BaseGygaxPart
  name: gygax chassis
  description: An in-progress construction of the Gygax mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: gygax
  - type: Sprite
    noRot: true
    state: gygax0
  - type: Construction
    graph: Gygax
    node: start
    defaultTarget: gygax

# Ripley APLU

- type: entity
  id: BaseRipleyPart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/ripley_construction.rsi

- type: entity
  id: BaseRipleyPartItem
  parent: BaseRipleyPart
  abstract: true
  components:
  - type: Item
    size: Ginormous

- type: entity
  parent: BaseRipleyPart
  id: RipleyHarness
  name: ripley harness
  description: The core of the Ripley APLU.
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      ripley_l_arm+o:
        whitelist:
          tags:
          - RipleyLArm
      ripley_r_arm+o:
        whitelist:
          tags:
          - RipleyRArm
      ripley_l_leg+o:
        whitelist:
          tags:
          - RipleyLLeg
      ripley_r_leg+o:
        whitelist:
          tags:
          - RipleyRLeg
    sprite: Objects/Specific/Mech/ripley_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: ripley
  - type: Sprite
    state: ripley_harness+o
    noRot: true
  - type: PartAssembly
    parts:
      Ripley:
      - RipleyLArm
      - RipleyRArm
      - RipleyLLeg
      - RipleyRLeg
    containerId: mech-assembly-container
  - type: Construction
    graph: Ripley
    node: start

- type: entity
  parent: BaseRipleyPartItem
  id: RipleyLArm
  name: ripley left arm
  description: The left arm of the Ripley APLU. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: ripley_l_arm
  - type: Tag
    tags:
    - RipleyLArm

- type: entity
  parent: BaseRipleyPartItem
  id: RipleyLLeg
  name: ripley left leg
  description: The left leg of the Ripley APLU. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: ripley_l_leg
  - type: Tag
    tags:
    - RipleyLLeg

- type: entity
  parent: BaseRipleyPartItem
  id: RipleyRLeg
  name: ripley right leg
  description: The right leg of the Ripley APLU. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: ripley_r_leg
  - type: Tag
    tags:
    - RipleyRLeg

- type: entity
  parent: BaseRipleyPartItem
  id: RipleyRArm
  name: ripley right arm
  description: The right arm of the Ripley APLU. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: ripley_r_arm
  - type: Tag
    tags:
    - RipleyRArm

- type: entity
  id: RipleyChassis
  parent: BaseRipleyPart
  name: ripley chassis
  description: An in-progress construction of the Ripley APLU mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: ripley
  - type: Sprite
    noRot: true
    state: ripley0
  - type: Construction
    graph: Ripley
    node: start
    defaultTarget: ripley

# Ripley MK-II

- type: entity
  id: BaseRipleyMKIIPart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/ripleymkii_construction.rsi

- type: entity
  parent: BaseRipleyMKIIPart
  id: RipleyMKIIHarness
  name: ripley MK-II harness
  description: The core of the Ripley MK-II.
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      ripleymkii_upgrade_kit+o:
        whitelist:
          tags:
          - RipleyMKIIUpgradeKit
      ripleymkii_l_arm+o:
        whitelist:
          tags:
          - RipleyLArm
      ripleymkii_r_arm+o:
        whitelist:
          tags:
          - RipleyRArm
      ripleymkii_l_leg+o:
        whitelist:
          tags:
          - RipleyLLeg
      ripleymkii_r_leg+o:
        whitelist:
          tags:
          - RipleyRLeg
    sprite: Objects/Specific/Mech/ripleymkii_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: ripleymkii
  - type: Sprite
    state: ripleymkii_harness+o
    noRot: true
  - type: PartAssembly
    parts:
      RipleyMKII:
      - RipleyMKIIUpgradeKit
      - RipleyLArm
      - RipleyRArm
      - RipleyLLeg
      - RipleyRLeg
    containerId: mech-assembly-container
  - type: Construction
    graph: RipleyMKII
    node: start

- type: entity
  id: RipleyMKIIChassis
  parent: BaseRipleyMKIIPart
  name: ripley MK-II chassis
  description: An in-progress construction of the Ripley MK-II mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: ripleymkii
  - type: Sprite
    noRot: true
    state: ripleymkii0
  - type: Construction
    graph: RipleyMKII
    node: start
    defaultTarget: ripleymkii

# H.O.N.K.

- type: entity
  parent: BaseMechPart
  id: BaseHonkerPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/honker_construction.rsi

- type: entity
  id: BaseHonkerPartItem
  parent: BaseHonkerPart
  abstract: true
  components:
  - type: Item
    size: Ginormous

- type: entity
  parent: BaseHonkerPart
  id: HonkerHarness
  name: H.O.N.K. harness
  description: The core of the H.O.N.K. mech
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      honker_l_arm+o:
        whitelist:
          tags:
          - HonkerLArm
      honker_r_arm+o:
        whitelist:
          tags:
          - HonkerRArm
      honker_l_leg+o:
        whitelist:
          tags:
          - HonkerLLeg
      honker_r_leg+o:
        whitelist:
          tags:
          - HonkerRLeg
    sprite: Objects/Specific/Mech/honker_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: honker
  - type: Sprite
    state: honker_harness+o
    noRot: true
  - type: PartAssembly
    parts:
      Honker:
      - HonkerLArm
      - HonkerRArm
      - HonkerLLeg
      - HonkerRLeg
    containerId: mech-assembly-container
  - type: Construction
    graph: Honker
    node: start

- type: entity
  parent: BaseHonkerPartItem
  id: HonkerLArm
  name: H.O.N.K. left arm
  description: A H.O.N.K. left arm, with unique sockets that accept odd weaponry designed by clown scientists.
  components:
  - type: Sprite
    state: honker_l_arm
  - type: Tag
    tags:
    - HonkerLArm

- type: entity
  parent: BaseHonkerPartItem
  id: HonkerLLeg
  name: H.O.N.K. left leg
  description: A H.O.N.K. left leg. The foot appears just large enough to fully accommodate a clown shoe.
  components:
  - type: Sprite
    state: honker_l_leg
  - type: Tag
    tags:
    - HonkerLLeg

- type: entity
  parent: BaseHonkerPartItem
  id: HonkerRLeg
  name: H.O.N.K. right leg
  description: A H.O.N.K. right leg. The foot appears just large enough to fully accommodate a clown shoe.
  components:
  - type: Sprite
    state: honker_r_leg
  - type: Tag
    tags:
    - HonkerRLeg

- type: entity
  parent: BaseHonkerPartItem
  id: HonkerRArm
  name: H.O.N.K. right arm
  description: A H.O.N.K. right arm, with unique sockets that accept odd weaponry designed by clown scientists.
  components:
  - type: Sprite
    state: honker_r_arm
  - type: Tag
    tags:
    - HonkerRArm

# H.A.M.T.R.

- type: entity
  id: BaseHamtrPart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/hamtr_construction.rsi

- type: entity
  id: BaseHamtrPartItem
  parent: BaseHamtrPart
  abstract: true
  components:
  - type: Item
    size: Huge

- type: entity
  parent: BaseHamtrPart
  id: HamtrHarness
  name: HAMTR harness
  description: The core of the HAMTR.
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      hamtr_l_arm+o:
        whitelist:
          tags:
          - HamtrLArm
      hamtr_r_arm+o:
        whitelist:
          tags:
          - HamtrRArm
      hamtr_l_leg+o:
        whitelist:
          tags:
          - HamtrLLeg
      hamtr_r_leg+o:
        whitelist:
          tags:
          - HamtrRLeg
    sprite: Objects/Specific/Mech/hamtr_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: hamtr
  - type: Sprite
    state: hamtr_harness+o
    noRot: true
  - type: PartAssembly
    parts:
      Hamtr:
      - HamtrLArm
      - HamtrRArm
      - HamtrLLeg
      - HamtrRLeg
    containerId: mech-assembly-container
  - type: Construction
    graph: Hamtr
    node: start

- type: entity
  parent: BaseHamtrPartItem
  id: HamtrLArm
  name: HAMTR left arm
  description: The left arm of the HAMTR. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: hamtr_l_arm
  - type: Tag
    tags:
    - HamtrLArm

- type: entity
  parent: BaseHamtrPartItem
  id: HamtrLLeg
  name: HAMTR left leg
  description: The left leg of the HAMTR. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: hamtr_l_leg
  - type: Tag
    tags:
    - HamtrLLeg

- type: entity
  parent: BaseHamtrPartItem
  id: HamtrRLeg
  name: HAMTR right leg
  description: The right leg of the HAMTR. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: hamtr_r_leg
  - type: Tag
    tags:
    - HamtrRLeg

- type: entity
  parent: BaseHamtrPartItem
  id: HamtrRArm
  name: HAMTR right arm
  description: The right arm of the HAMTR. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: hamtr_r_arm
  - type: Tag
    tags:
    - HamtrRArm

# Vim!!!!!!

- type: entity
  parent: BaseMechPart
  id: BaseVimPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/vim_construction.rsi

- type: entity
  parent: BaseVimPart
  id: BaseVimPartItem
  abstract: true
  components:
  - type: Item
    size: Small

- type: entity
  parent: BaseVimPartItem
  id: VimHarness
  name: vim harness
  description: A small mounting bracket for vim parts.
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      helmet:
        whitelist:
          tags:
          - HelmetEVA
      left_leg:
        whitelist:
          tags:
          - BorgLeg
      right_leg:
        whitelist:
          tags:
          - BorgLeg
    sprite: Objects/Specific/Mech/vim_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
      battery-container: !type:Container
  - type: PartAssembly
    parts:
      Vim:
      - HelmetEVA
      - BorgLeg
      - BorgLeg
    containerId: mech-assembly-container
  - type: Sprite
    state: harness
    noRot: true
  - type: Construction
    graph: Vim
    node: start
    defaultTarget: vim


# Phazon

- type: entity
  id: BasePhazonPart
  parent: BaseMechPart
  abstract: true
  components:
  - type: Sprite
    drawdepth: Items
    noRot: false
    sprite: Objects/Specific/Mech/phazon_construction.rsi

- type: entity
  id: BasePhazonPartItem
  parent: BasePhazonPart
  abstract: true
  components:
  - type: Item
    size: Ginormous

- type: entity
  parent: BasePhazonPart
  id: PhazonHarness
  name: phazon harness
  description: The core of the Phazon.
  components:
  - type: Appearance
  - type: ItemMapper
    mapLayers:
      phazon_head+o:
        whitelist:
          tags:
          - PhazonHead
      phazon_l_arm+o:
        whitelist:
          tags:
          - PhazonLArm
      phazon_r_arm+o:
        whitelist:
          tags:
          - PhazonRArm
      phazon_l_leg+o:
        whitelist:
          tags:
          - PhazonLLeg
      phazon_r_leg+o:
        whitelist:
          tags:
          - PhazonRLeg
    sprite: Objects/Specific/Mech/phazon_construction.rsi
  - type: ContainerContainer
    containers:
      mech-assembly-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: phazon
  - type: Sprite
    state: phazon_harness+o
    noRot: true
  - type: PartAssembly
    parts:
      Phazon:
      - PhazonHead
      - PhazonLArm
      - PhazonRArm
      - PhazonLLeg
      - PhazonRLeg
    containerId: mech-assembly-container
  - type: Construction
    graph: Phazon
    node: start

- type: entity
  parent: BasePhazonPartItem
  id: PhazonHead
  name: phazon head
  description: The head of the Phazon. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: phazon_head
  - type: Tag
    tags:
    - PhazonHead

- type: entity
  parent: BasePhazonPartItem
  id: PhazonLArm
  name: phazon left arm
  description: The left arm of the Phazon. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: phazon_l_arm
  - type: Tag
    tags:
    - PhazonLArm

- type: entity
  parent: BasePhazonPartItem
  id: PhazonLLeg
  name: phazon left leg
  description: The left leg of the Phazon. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: phazon_l_leg
  - type: Tag
    tags:
    - PhazonLLeg

- type: entity
  parent: BasePhazonPartItem
  id: PhazonRLeg
  name: phazon right leg
  description: The right leg of the Phazon. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: phazon_r_leg
  - type: Tag
    tags:
    - PhazonRLeg

- type: entity
  parent: BasePhazonPartItem
  id: PhazonRArm
  name: phazon right arm
  description: The right arm of the Phazon. It belongs on the chassis of the mech.
  components:
  - type: Sprite
    state: phazon_r_arm
  - type: Tag
    tags:
    - PhazonRArm

- type: entity
  id: PhazonChassis
  parent: BasePhazonPart
  name: phazon chassis
  description: An in-progress construction of the Phazon mech.
  components:
  - type: Appearance
  - type: ContainerContainer
    containers:
      battery-container: !type:Container
  - type: MechAssemblyVisuals
    statePrefix: phazon
  - type: Sprite
    noRot: true
    state: phazon0
  - type: Construction
    graph: Phazon
    node: start
    defaultTarget: phazon
