Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0006273Dwarf FortressAdventure Mode -- Reactionspublic2013-01-02 05:582016-11-24 22:58
Quietust 
Footkerchief 
normalminoralways
confirmedopen 
0.34.11 
 
0006273: Gloves produced by reactions cannot be equipped
Whenever a reaction is used to produce a GLOVES item, it does not set the "left" or "right" flag, resulting in an item which cannot be equipped by normal creatures.

When custom reactions create gloves, they should probably just create them in pairs and assign them as left/right appropriately (as with ones created in workshops), or possibly even examine the creator's body plan and produce one glove for each hand (e.g. 4 gloves for antmen); for consistency, the same should probably be done with SHOES (though they don't need to be flagged as left/right).
gauntlets, modding, reactions
has duplicate 0008320resolved Knight Otu Custom reactions that produce gloves/gauntlets/etc create unwearable items 
Issue History
2013-01-02 05:58QuietustNew Issue
2014-08-12 07:53paluNote Added: 0028873
2014-08-12 08:12FootkerchiefAssigned To => Footkerchief
2014-08-12 08:12FootkerchiefStatusnew => confirmed
2014-09-19 00:03Knight OtuRelationship addedhas duplicate 0008320
2014-09-19 16:34chaosvoltNote Added: 0030261
2014-09-20 08:02chaosvoltIssue Monitored: chaosvolt
2014-09-20 11:03QuietustNote Added: 0030271
2014-09-20 12:56chaosvoltNote Added: 0030274
2014-09-20 15:20QuietustNote Added: 0030277
2014-09-20 17:25chaosvoltNote Added: 0030278
2014-09-25 02:14chaosvoltTag Attached: gauntlets
2014-09-25 02:14chaosvoltTag Attached: modding
2014-09-25 02:14chaosvoltTag Attached: reactions
2014-11-06 02:16McFeelIssue Monitored: McFeel
2015-09-02 10:09chaosvoltNote Added: 0033026
2015-09-02 11:04lethosorNote View State: 0033026: private
2015-09-12 10:10chaosvoltNote View State: 0033026: public
2016-03-14 04:48chaosvoltNote Deleted: 0033026
2016-03-26 11:37chaosvoltTag Attached: long-standing bug
2016-08-28 12:03chaosvoltNote Added: 0035816
2016-11-24 22:58lethosorTag Detached: long-standing bug
2017-03-19 07:34ZiusudraIssue Monitored: Ziusudra
2017-06-08 19:28HuntthetrollIssue Monitored: Huntthetroll

Notes
(0028873)
palu   
2014-08-12 07:53   
Still in 0.40
(0030261)
chaosvolt   
2014-09-19 16:34   
Well bugger me, I thought I'd made certain to confirm whether this had been unreported before reporting it.

Anyway, to quote one useful thing I discovered:

I've got good news and bad news. The good news is this can be fixed. The bad news is this fix breaks other things.

By messing with body_default.txt, the [LEFT] and [RIGHT] tokens can be yanked out of the hands. In this case, the only relevant body that needs to be tweaked is HUMANOID_NECK.

This will cause all adventurers, migrants, and NPCs to generate "ambidextrous" gloves/gauntlets for their outfits, and affect any such items that appear elsewhere (caravans, armories, shops, etc). Likewise, the broken gauntlets produced by reactions will suddenly be usable.

So what breaks? Hard-coded reactions in fortress mode (craftsdwarf's workshop, clothier's workshop, leatherworker's workshop, metalsmith's forge) will still produce left/right versions of gauntlets, gloves, etc. These will no longer we wearable by your new citizens with their modded "left" and "right" hands.
(0030271)
Quietust   
2014-09-20 11:03   
That's more of a workaround than a fix, and the fact that it breaks all hardcoded jobs doesn't make it a very good workaround...
(0030274)
chaosvolt   
2014-09-20 12:56   
True, doesn't help much. Not sure if any of the info gleaned from that would be of use.

Also not sure what'd be the most effective way of actually fixing this. Adding some way to reference handedness in reactions (or make glove-type reactions automatically tweak pairs of output) seems like it might be difficult, but would fix the issue directly.

Making the hardcoded reactions reference whether the crafter has any handedness might or might not be easier, and would only enable the workaround.
(0030277)
Quietust   
2014-09-20 15:20   
If you read my original bug report description, I pretty much suggested exactly that - have custom reactions producing a single GLOVES item create one glove for each GRASP part and assign handedness on each one as appropriate, and ideally have the hardcoded job do the same thing.
(0030278)
chaosvolt   
2014-09-20 17:25   
I mainly mean that I'm not sure how easy that'd be to code, and which facet of that fix would be easiest to code. ^^"
(0035816)
chaosvolt   
2016-08-28 12:03   
Is there any idea on what code causes this, or which solution would be most efficient for fixing this? Ideally, making it so that the "is it left or right?" code when equipping gloves can treat an answer of "neither" as acceptable for both hands. I'm betting high odds that the code is an if/else or case/switch thing that returns true or false based on results, so simply having a case of "neither" return true would solve this issue handily (pun intended).

That seems like it would be simpler than coding left/right into the reaction output.