One of the major new features of Ultimate ADOM that we ocasionally hinted at is amputation & grafting.

All monsters (& NPCs & the player) in Ultimate ADOM have more or less detailed skeletons that describe how their body is build. The skeleton description is built using our entity component system (in JSON) and can have multiple levels (because bodyparts will be connected to other bodyparts… like the arm to a shoulder, the hand to an arm, the finger to a hand and the finger nail to a finger).

An example might look like this:

{
  "Id": "SpiderShape",
  "BaseTemplates": ["OctopedalShape"],
  "Components":
  [
    {
      "Inventory":
      {
        "primaryBodyParts": "SpiderThorax",
        "hasBackPack": false
      }
    }
  ]
}

What do we learn here? We learn that Ultimate ADOM has something that is called a “SpiderShape”. The “SpiderShape” is a subtype of “OctopedalShape” – so we obviously have more details concerning beings with eight limbs (and we learn that spiders don’t have backpacks – but that’s a detail). Finally we learn that the primary bodypart of a “SpiderShape” is a “SpiderThorax”. So let’s have a look at the “SpiderThorax”:

{
  "Id": "SpiderThorax",
  "BaseTemplates": ["Thorax"],
  "Components":
  [
    {
      "BodyPart":
      {
        "attachesTo": 
        [
          "LeftForeLegWithThreeSegments", 
          "LeftForeLegWithThreeSegments", 
          "LeftHindLegWithThreeSegments", 
          "LeftHindLegWithThreeSegments", 
          "RightForeLegWithThreeSegments", 
          "RightForeLegWithThreeSegments", 
          "RightHindLegWithThreeSegments", 
          "RightHindLegWithThreeSegments", 
          "SpiderAbdomen"
        ],
        "maxJoints":
        {
          "RightLeg": 4, "LeftLeg": 4, "Abdomen": 1
        }
      }
    },
    {
      "NaturalAttack":
      {
        "attackOption": "Bite",
        "longHurtMessage": "GenericLongBiteHurtMessage"
      }
    }
  ]
}

What do we learn here? The “SpiderThorax” is a “Thorax” (ok, we’ll not follow up on the details to that), it’s a bodypart and that bodypart is attached to other bodyparts: “LeftForeLegWithThreeSegments”, “LeftHindLegWithThreeSegments”, etc. Additionally we learn that a “SpiderThorax” has a maximum number of joints: 4 right legs, 4 left legs, one abdomen. And finally we learn that the “SpiderThorax” provides a natural attack option (a bite – that’s because spiders don’t have separate heads contrary to common belief – you really learn interesting things while working on Ultimate ADOM 😉 ).

You can easily imagine how this might continue. Why is this now interesting?

Because Ultimate ADOM will both allow you to amputate bodyparts in combat (given the right magical items like a “battle axe of sharpness”, the right spells like a “bouncing ray of dismemberment”) and to work on corpses (e.g. with the “Butcher” skill). Doesn’t sound too exciting? It does because it adds nice flavor to combat (in certain situations). But there are two reasons why this is really exciting:

1. Bodyparts grant special abilities.

A spider e.g. has a bodypart called “SpiderSpinnerets” – which grants the ability to spin webs. If you hack off the spinnerets the spider no longer can create webs. If you amputate a wing, the ability to fly is lost. If you lose both hands, you no longer will be able to open doors. Hands BTW are modeled like this:

{
  "Id": "Hand",
  "BaseTemplates": ["BodyPart"],
  "Components":
  [
    "BodyPart",
    {"Capability": "HandleDoors"},
    "PermitsMeleeAttack",
    {"RelativeSize": "Small"},
    {"Volume": 10},
    {"Weight": 1000}
  ]
}

So once your hands are gone, your capability to open doors is gone, too. Nice and easy, isn’t it? By selectively removing bodyparts of extremely powerful monsters you can weaken them in new tactical ways and thus might be able to win over  a being that otherwise is too powerful.

But there is a second reason why these skeletons and bodyparts are extremely exciting.

2. You can graft bodyparts to yourself or other beings.

And now it gets really cool – again given the right magic (e.g. a spell of “Graft Bodypart to Self” – necromancers will shine in this area!) you can pick up amputated bodyparts (or those butchered from corpses) and attach them to yourself or your companions. Which as a consequence grants you access to new abilities. So if you graft spider spinnerets to your back, you suddenly can spin webs (ignore the visual details for the moment 😉 ). If you attach another arm & hand to your body, you suddenly can wield yet an additional weapon. If you attach a dragon head to your torso, you will be able to breathe fire (or whatever else the dragon was able to spew forth). Here’s the spinneret definition that shows why this works:

{
  "Id": "SpiderSpinnerets",
  "BaseTemplates": ["BottomAppendix"],
  "Components":
  [
    "BodyPart",
    {
      "Labeled":
      {
        "singular": "SpiderSpinneretsSingularName",
        "plural": "SpiderSpinneretsPluralName"
      }
    },
    {"SpinWeb": 25},
    {"Volume": 10},
    {"Weight": 1000}
  ]
}

This is where it gets mind-blowingly cool. Suddenly you are able to alter your player character (or companions) in amazing ways and devise whole new winning strategies and approaches to overcome the game. And corruptions become a lot more exciting, too, because e.g. grown tentacles might be much more than just a cosmetic alteration.

Technically this is quite complicated internally but we have all the moving parts in place and they are working. The remaining challenge we currently work on is the graphical visualization: Amputation is the easier part but new grafted bodyparts really pose complex challenges and we probably will have to accept that we (a) won’t be able to visualize all possible combinations and (b) it won’t always look great. But hey, you are turning yourself into a monstrosity – so live with that 😉

That’s about it for today. We welcome questions and comments as usual!