@startuml 'https://plantuml.com/object-diagram object Mech <> abstract Area <> { next_area: Area item_lines: # armor: # } abstract AreaItem <> { item_lines: # } object InnerStructure <> { heater: x } object OuterAmor <> { armor: # } object Head <> { item_lines: 6 } object Torso <> { item_lines: 12 } object SideTorso <> { item_lines: 12 } object Arm <> { item_lines: 12 } object Leg <> { item_lines: 6 } Area *- "1,*" OuterAmor AreaItem "*" -* Area Head <|-- Area Torso <|-- Area SideTorso <|-- Area Arm <|-- Area Leg <|-- Area Mech *-- InnerStructure InnerStructure *-- Head InnerStructure *-- Torso Torso *-- SideTorso SideTorso *-- "0|2" Arm SideTorso *-- "2|4" Leg @enduml