Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0010784Dwarf FortressCombat -- Generalpublic2018-06-06 15:142018-06-07 14:58
normalminorhave not tried
0010784: Legwear/handwear/footwear is always worn over body/leg armor
When a creature wearing both the body armor and a piece of legwear gets hit in the lower body, the legwear *always* takes the damage first, regardless of their respective LAYER values. For instance, a loincloth worn together with a breastplate will break after several stabs to the lower body, while the breastplate remains unharmed.
Same thing applies to footwear (say, chausses) when worn together with leg armor (greaves), or long ARMOR handwear (gauntlets) when worn together with a sleeved COVER bodywear (say, a robe).

Essentially, legwear, handwear and footwear don't respect the general LAYER hierarchy and get worn over body armor (or over leg armor, in case of footwear) indefinitely, which makes little sense in most cases.
1) In Arena Mode, spawn a dwarf wearing an iron breastplate and cloth/leather loincloth.
2) Spawn another dwarf with an iron short sword and assume control.
3) Perepetually stab the armored dwarf, only focusing the lower body.
4) After a few hits, the loincloth will break.
No tags attached.
Issue History
2018-06-06 15:14SverNew Issue
2018-06-06 15:30SverNote Added: 0038437
2018-06-06 15:31SverNote Edited: 0038437bug_revision_view_page.php?bugnote_id=0038437#r15639
2018-06-06 17:02LociNote Added: 0038438
2018-06-06 17:02LociAssigned To => Loci
2018-06-06 17:02LociStatusnew => needs feedback
2018-06-06 18:55SverNote Added: 0038439
2018-06-06 18:55SverStatusneeds feedback => assigned
2018-06-06 18:57SverNote Edited: 0038439bug_revision_view_page.php?bugnote_id=0038439#r15641
2018-06-06 18:57SverNote Edited: 0038439bug_revision_view_page.php?bugnote_id=0038439#r15642
2018-06-06 18:58SverNote Edited: 0038439bug_revision_view_page.php?bugnote_id=0038439#r15643
2018-06-07 14:58LociNote Added: 0038441
2018-06-07 14:58LociStatusassigned => confirmed

2018-06-06 15:30   
(edited on: 2018-06-06 15:31)
Reproducibility: always

Sorry, I got the "Invalid security token" error the first time and forgot to check that field when I tried again.

2018-06-06 17:02   
A breastplate is upper body armor; it makes sense that it wouldn't cover lower body legwear. If you instead assign your target dwarf superior legwear armor (steel chain leggings), it will deflect the attacks without damage to the clothing underneath. Similarly, socks and gloves are fully protected by boots and gauntlets respectively. Robes are not a cover layer (if they were they would be worn outside the armor and reasonably take damage from all attacks), but they do provide high coverage (so a partially-armored dwarf is likely to take robe damage when an unarmored body part is attacked). Finally, attacks which penetrate the armor may deal more damage to the clothing underneath (since the clothing is presumably less resilient).

I performed a few quick tests in the arena with fully-steel-armored dwarves using iron swords and did not notice any unreasonable wear. The opponents' cover-layer cloaks suffered wear, as did my own cloak and robe (since the opponents were attacking unarmored body parts like teeth and cheeks), but the loincloths, gloves, and socks appeared undamaged.

Are you able to reproduce your results with fully-armored dwarves?
2018-06-06 18:55   
(edited on: 2018-06-06 18:58)
A breastplate covers both the upper and lower body. If you follow the Steps To Reproduce, the attack description will say that "the attack is deflected by iron breastplate", but the loincloth will suffer wear regardless.

You are corrent on the robes - I mixed it up. The point stands for cloaks though: I've tested it and gauntlets take priority over the cloak when protecting the lower arms, despite them being ARMOR layer, while cloak is COVER.

I can say with certainity that the iron short sword in my tests never penetrated the iron armor. No wear on breastplate, not even bruises on the subject.

Greaves worn over pants would, indeed, cover them, so this bug will not be visible on a dwarf wearing full set of armor (except if wearing chausses - strikes at upper legs will wear them even through the greaves/leggings). There is no problem with layering on the same bodypart - the problem is that legwear and handwear always take priority over bodywear, and footwear always takes priority over bodywear and legwear. The way the game handles it, loincloth and trousers are worn over the robes, cloaks, breastplates and such, which doesn't make sense, imho.

2018-06-07 14:58   
There certainly is some weirdness with cloaks and gauntlets. The game should probably evaluate all applicable clothing by layer instead of evaluating all clothing by bodypart sequentially.