View Issue Details

IDProjectCategoryView StatusLast Update
0000410Dwarf FortressDwarf Mode -- Jobs, Farming/Farmer's Workshoppublic2011-03-31 12:34
ReporterRusAnon Assigned ToToady One  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformWINEOSLinuxOS Version2.6.33
Product Version0.31.01 
Fixed in Version0.31.20 
Summary0000410: Creatures get fought over by dwarves trying to milk and cage them
DescriptionIf creature is assigned to be milked and caged simultaneously, sometimes two or more dwarfs will try to execute the orders, and keep taking said creature from each other, so none of them can complete the order.

http://www.bay12games.com/forum/index.php?topic=52460.msg1129581#msg1129581
Steps To Reproduce1. Cage creature
2. Add milk creature job at farmers workshop
Tagsanimals, jobs

Relationships

parent of 0001797 resolvedToady One Dwarves play tug of war with caged animals marked for slaughter 
has duplicate 0002797 resolveduser6 dwarfs playing tug of war with animals trying to be milked. 
has duplicate 0003446 resolvedLogical2u Milking a caged creature is not possible, the creature gets kidnapped by another dwarf. 
has duplicate 0003874 resolvedLogical2u Dwarves fight over animals 
related to 0001890 resolveduser11 Can't milk caged donkeys 
related to 0003959 resolvedToady One Penned Animals Get Fought Over For Shearing, Butchering, Etc. 

Activities

The Architect

2010-04-23 21:41

reporter   ~0004840

This is the same for chained creatures. The creature remains assigned to the chain after being removed (good!) but the job to "rechain" it is generated and assigned before the job to milk it is complete.

The two dwarves do indeed simply fight over the creature in the hallway.

derigo

2010-05-07 16:14

reporter   ~0006385

more on this:

If you have 2 farmer's workshops with orders to milk a creature, 2 milkers can decide to milk the same creature at the same time. They will tug the creature back and forth in war over who has the rights to drain the creature's precious fluids. :D

caknuck

2010-06-13 17:05

reporter   ~0008349

This is still an active bug in 31.06. Even disabling animal hauling on the "caging" dwarf does not end the tug-of-war.

Leperous

2010-06-20 06:20

reporter   ~0008765

Still here in 31.08.

Ratcheti

2010-07-12 17:20

reporter   ~0010085

Last edited: 2010-07-12 17:20

Still present in 31.10.

Here's a save for it. It should be centered on the dwarves already.

http://dffd.wimbli.com/file.php?id=2672

FifthHorseman

2010-09-06 02:08

reporter   ~0012442

Confirmed present in 31.12.

Greydwarf

2010-10-22 04:57

reporter   ~0013458

still present in 0.31.16 linux native

Fuco

2010-12-30 17:14

reporter   ~0014759

Last edited: 2010-12-30 17:16

Any progress on this? It's quite annoying when running a bigger farm (I usually have about 50+ milkable animals).

The fix seems so easy I don't understand why this hasn't been addressed :(

- add a flag to mark the animal being "being used"
- when the job is done, check the "being used" tag and unset it
- when generating "cage/restrain" job, check the "being used" flag first

seems like 10 minutes at most.

Quietust

2010-12-30 17:35

reporter   ~0014761

While it might seem a simple and straightforward fix to you, you probably don't know how Dwarf Fortress actually works internally, so it's quite possible that making the changes you've suggested could result in very significant side effects (such as savegame incompatibility) or even more bugs (e.g. creatures being flagged as "being used" even when there isn't any task in progress).

RiderofDark

2011-01-04 20:59

reporter   ~0014790

Last edited: 2011-01-04 20:59

I think I know where this is happening.

What I think is specifically happening:

0) Dwarf 2 looking for task
1) Milker goes to cage
2) Milker releases assigned animal
3) Milker looks for assignment for animal
3.1) While milker is looking, Dwarf 2 finds loose animal
3.2) Dwarf 2 tasked with returning animal
3.3) Milker tasked with milking animal
NOTE: Two dwarves are now assigned the same animal
4) Milker leads animal to workshop
4.1) IF Dwarf 2 reaches animal before workshop
4.1.1) Dwarf 2 takes animal
4.1.2) Dwarf 2 returns animal to cage
5) Milker reaches workshop
5.1) IF Milker has animal
5.1.1) Milker processes animal
5.1.2) Milker looks for task
5.1.2.1) IF Milker finds task before Dwarf 2 arrives
5.1.2.1.1) IF Milker task isn't return milked animal to cage
5.1.2.1.1) Cancel Task: handling dangerous creature
5.1.2.3) IF Milker task is animal handling-related
5.1.2.3.1) Milker does task
5.1.3) Dwarf 2 arrives after animal processing
5.1.3.1) Dwarf 2 takes animal back to cage
5.2) IF Milker has no animal
5.2.1) GO TO 1)

Returning animals to cages is not tied to the animal hauling labor. I think this is somewhat related to 0000184.

Issue History

Date Modified Username Field Change
2010-04-04 11:23 RusAnon New Issue
2010-04-04 17:06 Qloos Tag Attached: animals
2010-04-04 17:06 Qloos Tag Attached: jobs
2010-04-23 21:41 The Architect Note Added: 0004840
2010-05-07 14:05 user6 Relationship added parent of 0001797
2010-05-07 14:06 user6 Summary Milk and cage a creature => Creatures get fought over by dwarves trying to milk and cage them
2010-05-07 16:14 derigo Note Added: 0006385
2010-06-13 17:05 caknuck Note Added: 0008349
2010-06-20 06:20 Leperous Note Added: 0008765
2010-07-12 17:20 Ratcheti Note Added: 0010085
2010-07-12 17:20 Ratcheti Note Edited: 0010085
2010-07-23 15:00 user6 Relationship added has duplicate 0002797
2010-09-06 02:08 FifthHorseman Note Added: 0012442
2010-10-21 21:58 Logical2u Relationship added has duplicate 0001890
2010-10-21 21:58 Logical2u Relationship added has duplicate 0003446
2010-10-22 04:57 Greydwarf Note Added: 0013458
2010-12-30 17:14 Fuco Note Added: 0014759
2010-12-30 17:15 Fuco Note Edited: 0014759
2010-12-30 17:16 Fuco Note Edited: 0014759
2010-12-30 17:35 Quietust Note Added: 0014761
2011-01-04 20:59 RiderofDark Note Added: 0014790
2011-01-04 20:59 RiderofDark Note Edited: 0014790
2011-01-06 08:25 user6 Relationship replaced related to 0001890
2011-01-06 15:37 Logical2u Relationship added has duplicate 0003874
2011-02-17 12:01 user11 Relationship added related to 0003959
2011-02-25 02:15 user11 Tag Attached: Fixed in 0.31.20?
2011-03-06 02:31 Toady One Status new => resolved
2011-03-06 02:31 Toady One Fixed in Version => 0.31.20
2011-03-06 02:31 Toady One Resolution open => fixed
2011-03-06 02:31 Toady One Assigned To => Toady One
2011-03-31 12:34 user6 Tag Detached: Fixed in 0.31.20?