OK I've played with these values a great deal now and I want to try to translate toady's post into something more readable. First of all, Toady's comments in that thread ONLY apply to body armor, aka ITEM_ARMOR items. Other items have slightly different rules. Secondly I'm going to approach if from the armor's perspective rather than from the body part's perspective. Toady almost certainly approached it how he did because thats how his algorithm works. Its counter-intuitive and hard to read for most mortals, though. ;p
Body armor is worn on the upper body and so it protects the upper body. By changing the UB/LBSTEP values, you can extend the armor to cover other parts of the body as well. Steps ignore UPPERBODY's and LOWERBODY's in their count, even with a step of 0, body armor will protect a connected LOWERBODY. Wierdly configured creatures with multiple lowerbodies or somesuch are not currently supported.
The trick is to figure out which kind of STEP to use to cover the parts you want to cover. To use LBSTEP:
- a part must be a [LIMB]
- a series of [LIMB]s including the part must connect from the upper or lower body to a [STANCE] part (like a foot).
UBSTEP will cover any parts connected to the upperbody that do not qualify for LBSTEP. Arms for instance, are [LIMB], but they don't have a [STANCE] part at the end, they have hands instead. As such they do not qualify for LBSTEP coverage (unless the creature is quadrupedal).
Once you know which step to use, just count how many body parts away from the upperbody a given part is to determine how many UB/LBSTEPs you need. Remember, UPPERBODY and LOWERBODY parts don't count as steps, so the UPPER_LEG parts are only 1 LBSTEP from the upper body.
As of 31.03, neither UBSTEP nor LBSTEP are able to cover hands, feet, or heads, aka parts with the [GRASP],[STANCE], or [HEAD] token. To cover these parts, you have to use ITEM_GLOVES, ITEM_SHOES, or ITEM_HELM armors instead.
As of 31.03 UBSTEP is bugged. Although it cannot cover hands, feet, or heads, it CAN cover parts beyond those parts such as fingers, and facial features. Also, inexplicably, the UBSTEP coverage can go THROUGH LBSTEP coverage (without covering it), and cover toes. As an example, a body armor with [UBSTEP:4] or higher (the highest is MAX), will cover
step 1: the upper arm
step 2: the lower arm
step 3: the hand (but body armor doesn't protect hands, so it doesn't actually cover)
step 4: the fingers
similarly, it will cover facial features:
step 1: the head (but body armor doesn't protect heads, so it doesn't actually cover)
step 2: all facial features(the throat is actually a child of the head, so it is also covered)
no more parts
Wierder it also covers the toes in the following manner:
step 0: the lower body
step 1: the upper leg (but this is a LBSTEP part, so it doesn't actually cover)
step 2: the lower leg (same)
step 3: the foot (but body armor doesn't protect feet, so it doesn't actually cover)
step 4: toes
On to other kinds of armor. Helms are very simple. They don't use UBSTEP or LBSTEP. They only protect the [HEAD]. They do NOT protect facial features, or any child parts of the head.
Gloves and shoes also don't use UBSTEP or LBSTEP. They both can use a similar token UPSTEP. It works just like LBSTEP for body armor except it must terminate in an UPPERBODY by connecting through [LIMB]s. Just like how body armor can't protect hands, feet, or heads, gloves can't protect upper or lower bodies. So a glove with [UPSTEP:MAX] will cover the hand and the entire arm, but not the upper body, or anything past it. And a shoe with [UPSTEP:MAX] will cover the foot and the entire leg, but not the lower body or anything past it. Since fingers and toes are not [LIMB]s, they are not protected at all by gloves or boots, regardless of UPSTEP. This may be a bug (31.03).
Pants are a little different. They don't use UBSTEP or UPSTEP. They use LBSTEP only. As a result, only parts that qualify for LBSTEP in normal body armor can be protected by parts. That is, again, [LIMB]s that connect in a series to a [STANCE] (foot) part. Because pants don't use UBSTEP, any vestigial non-STANCE parts connected to the lower body can not be protected by pant. So for instance, a tail, or genitals, knee spikes, or any part that is not a LIMB, can not be protected by pants. In order to protect such parts, you need upper body armor with an appropriate UBSTEP. This is confusing and counterintuitive in my opinion. I mean, what protects YOUR genitals?
The lesson here: in 31.03, the best thing to do with adamantine, armor wise, is to make lots and lots of adamantine robes, helms, gloves, and boots. Skip armor completely, just make robes. Layer on a bunch of them. At that point you'll be invulnerable.
In a less broken sense, always remember to include robes or dresses (or both) in your military's uniform, nothing else vanilla protects your fingers, toes, or facial features.