Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0003100Dwarf FortressDwarf Mode -- Militarypublic2010-08-24 19:592014-07-23 11:47
Quietust 
Toady One 
normalminoralways
resolvedfixed 
0.31.12 
0.40.05 
0003100: Military dwarves turn off all of their labors when becoming heroes
When a military dwarf gains enough combat skill to become a Hero (i.e. axe lord, swordmaster, mace lord, hammer lord, spearmaster, elite marksdwarf, or elite wrestler), all of his/her labors are immediately turned off.

This is likely an artifact of behavior from previous versions, when weapon masters were permanently locked into the military. Now that they can freely switch back to being civilians, it doesn't make sense for this to happen anymore.
binary patch
has duplicate 0003511resolved Logical2u Weaponmasters' labour settings are cleared 
has duplicate 0003227resolved Knight Otu Military dwarves can lose job prefs 
related to 0000872resolved Toady One Children growing up to peasants do not have healthcare labors set. 
Issue History
2010-08-24 19:59QuietustNew Issue
2010-10-09 00:03sgruntNote Added: 0013273
2010-10-09 07:37kwielandNote Added: 0013274
2010-10-09 09:04QuietustNote Added: 0013276
2010-10-09 22:08sgruntIssue Monitored: sgrunt
2010-11-05 07:20Logical2uRelationship addedhas duplicate 0003511
2010-12-05 17:32hyperactiveChipmunkIssue Monitored: hyperactiveChipmunk
2010-12-05 21:09Ogg the Blinky SockNote Added: 0014422
2010-12-18 10:17RageandTearsNote Added: 0014621
2010-12-18 10:19RageandTearsIssue Monitored: RageandTears
2010-12-20 12:25RageandTearsNote Edited: 0014621bug_revision_view_page.php?bugnote_id=0014621#r5574
2011-04-01 13:06FootkerchiefRelationship addedrelated to 0000872
2011-04-07 22:32kwielandNote Added: 0017188
2011-04-08 05:49QuietustNote Added: 0017195
2011-04-23 07:05kwielandNote Added: 0017485
2011-04-23 08:21KogutNote Added: 0017486
2011-04-23 09:04QuietustNote Added: 0017487
2011-04-23 23:53KogutNote Added: 0017492
2011-05-24 07:35JusticefaceIssue Monitored: Justiceface
2011-08-01 08:22Knight OtuRelationship addedhas duplicate 0003227
2012-02-21 18:19yllamanaNote Added: 0020426
2012-02-21 18:34yllamanaIssue Monitored: yllamana
2012-02-21 18:39yllamanaNote Edited: 0020426bug_revision_view_page.php?bugnote_id=0020426#r7597
2012-04-03 07:40AbuDhabiNote Added: 0022049
2012-06-26 17:33QuietustNote Added: 0023111
2012-06-26 17:33QuietustTag Attached: binary patch
2012-06-26 17:35QuietustNote Edited: 0023111bug_revision_view_page.php?bugnote_id=0023111#r8633
2012-06-26 17:59QuietustNote Edited: 0023111bug_revision_view_page.php?bugnote_id=0023111#r8634
2014-01-15 14:41Kirig Stonebeard IIIssue Monitored: Kirig Stonebeard II
2014-01-17 10:09Kirig StonebeardIssue Monitored: Kirig Stonebeard
2014-03-25 13:31DwarfuAssigned To => Dwarfu
2014-03-25 13:31DwarfuStatusnew => acknowledged
2014-07-23 11:47Toady OneStatusacknowledged => resolved
2014-07-23 11:47Toady OneFixed in Version => Next Version
2014-07-23 11:47Toady OneResolutionopen => fixed
2014-07-23 11:47Toady OneAssigned ToDwarfu => Toady One

Notes
(0013273)
sgrunt   
2010-10-09 00:03   
I noticed in my most recent fortress (http://dffd.wimbli.com/file.php?id=3243 [^]) that work was gradually grinding to a halt, and after some observation I've come to conclude that it is as a result of this issue - most of the dwarves are rotated in and out of the military and have extremely high weapon skills, and so all labours are disabled on their part upon being rotated into the military and subsequently stay off.

It is extremely aggravating - I have to keep an even closer eye on everyone than usual to make sure that they're doing the work they're supposed to be doing.
(0013274)
kwieland   
2010-10-09 07:37   
I noticed this as well. What I didn't notice was an announcement. Do you get an announcement (like 40d) when this happens? Or just when they reach Elite status?
(0013276)
Quietust   
2010-10-09 09:04   
The announcement is just "Urist has become an Axe Lord" or whatever military profession they switched to.
(0014422)
Ogg the Blinky Sock   
2010-12-05 21:09   
Actually, this seems to happen, intermittently, to other military dwarves. I haven't figured out what the pattern is yet. It's possible that it's something that happens to dwarves who are legendary in other skills.
(0014621)
RageandTears   
2010-12-18 10:17   
(edited on: 2010-12-20 12:25)
Every time I get a white announcement about " x dwarf has become (any millitary profession) " and that dwarf is flashing ( legendary in any fighting skill ) that dwarf loses all assigned jobs, always.

I re-put his jobs in, he finishes his tour of duty, the jobs are still there.

Whenever he gets back into active duty, as mentioned above, he will lose all assigned jobs again.

Very annoying ><

(0017188)
kwieland   
2011-04-07 22:32   
Still exists in .25 I still haven't seen the announcement, though. It could be that mine are only to the GREAT level in fighting, and so they don't become "lords". I don't know why.
(0017195)
Quietust   
2011-04-08 05:49   
kwieland: reaching Great skill is all it takes for a soldier to become a weapon master.
(0017485)
kwieland   
2011-04-23 07:05   
I agree with Rage above, this can be a very annoying bug. Basically you have to decide if you want them in Military or not. Switching between them is a PITA!
(0017486)
Kogut   
2011-04-23 08:21   
use DT
(0017487)
Quietust   
2011-04-23 09:04   
Kogut: "use a third party utility" isn't exactly a proper solution to this problem...
(0017492)
Kogut   
2011-04-23 23:53   
but it may be useful workaround.
(0020426)
yllamana   
2012-02-21 18:19   
(edited on: 2012-02-21 18:39)
This issue persists in 34.02. Very bad when trying to run a fort with a citizen militia instead of a dedicated army, because it turns off all jobs constantly.

My fortress has four adult dwarves. They're all in a military squad together with two on duty at a time.

I followed the dwarves' assigned jobs while they were going on and off duty. There's frequently a lag time between a dwarf going on duty and being recognised as a weapon master - they'll go on duty as an Axedwarf, for instance, despite their legendary skill, then after a while the game will realise they're meant to be an Axelord and they'll switch to that.

Their job preferences withstand going on and off duty (and whenever they're placed on active duty, it's as the non-master variant) but the three weapon masters lose all their job preferences when the game remembers they're weapon masters and updates their status accordingly. I haven't seen them lose their job preferences at any other time, and occasionally they have very short spans of duty where they can come on, train for a short while and then go off duty again without getting promoted and subsequently losing their job settings.

The critical part is that the "promotion" happens repeatedly for the same dwarf, because they lose their weapon master status whenever they go off-duty, resulting in this bug wiping their labour settings over and over.

This is a pretty major issue if you're trying to run a citizen militia (rare as that seems to be) and looks like it might be easy to fix.

edit: Hyndis suggested that the promotion lag might be because they get "promoted" when they increase in skill. That would make a lot of sense! So they go on duty as non-heroes, then their first skill level increase triggers a promotion check, which passes and wipes their job settings. Sounds plausible!

(0022049)
AbuDhabi   
2012-04-03 07:40   
Still present in .07.
(0023111)
Quietust   
2012-06-26 17:33   
(edited on: 2012-06-26 17:59)
The following binary patches should fix this issue in Win32 v0.34.11 SDL:

0x6633BD : 5E -> 00 (Axe Lord)
0x6634B9 : 5E -> 00 (Spearmaster)
0x6635B8 : 5E -> 00 (Mace Lord)
0x6636B8 : 5E -> 00 (Hammer Lord)
0x6637B8 : 5E -> 00 (Swordmaster)
0x6638B8 : 5E -> 00 (Elite Crossbowman)
0x6639B8 : 5E -> 00 (Elite Bowman)
0x663B04 : E8 7F 48 12 00 -> 90 90 90 90 90 (Master Blowgunner)
0x663BEB : 5E -> 00 (Master Lasher)
0x663CE8 : 5E -> 00 (Pikemaster)
0x663DFD : 5E -> 00 (Elite Wrestler)

Each patch changes call from "memset(unit->labors, 0, 94);" to "memset(unit->labors, 0, 0);" (except for the Master Blowgunner case which just removes the call altogether since the number 94 also means "Master Blowgunner").