Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0002563Dwarf FortressDwarf Mode -- Jobs, Farming/Farmer's Workshoppublic2010-07-05 01:112017-12-06 13:51
Lord_Dakstar 
Toady One 
normalminorsometimes
resolvedfixed 
0.31.08 
 
0002563: When milking active milker leaves shop to get new bucket despite empty bucket being present in Farmer Shop
The process to milk animals needs refinement. Currently, process is 1) Get milkable animal, 2) Take milkable animal to Farmer Shop, 3) Get bucket, 4) Milk creature (if still present). Unfortunately, Step 3 ("Get bucket") does not include utilizing any empty bucket already in the farm (preferentially). This leads to the problem that if the selected bucket for the job is somewhat distant, a race occurs between: a) idle dwarf assigned to cage the animal (if it is assigned to a cage or chain), b) animal wandering off, and c) the retrieval of the selected bucket.

Preferential treatment needs to be given the selection of empty buckets already present in the Farmer Workshop, so that the following will occur: 1) Milker gets animal, 2) milker takes animal to Farmer Shop, 3) Get bucket (no empty in Farmer shop), 4) Return with bucket, 5) grab wandering animal, 6) take animal to Farmer shop, 7) Get bucket previously fetched and dropped in Farmer workshop, 8) complete milking.
Build a farmer workshop. Build carpenter shop far away. Build buckets in carpenter shop. Set milking task. Watch milker lead animal to shop, watch milker leave shop to get bucket. Watch milker drop bucket in farmer shop and go find animal to milk if it wandered off (or got returned to its assigned cage or chain).

Note: Animal doesn't have to be assigned to cage or chain. It just needs to wander away from the Farmer shop while dwarf is retrieving an empty bucket, at which point, the milking process restarts with "get milkable animal".
Intentional/Expected?
Issue History
2010-07-05 01:11Lord_DakstarNew Issue
2010-07-20 12:11cbpyeNote Added: 0010730
2010-07-20 12:19FootkerchiefTag Attached: Intentional/Expected?
2010-07-20 17:57Lord_DakstarNote Added: 0010756
2010-07-22 10:19Lord_DakstarNote Edited: 0010756bug_revision_view_page.php?bugnote_id=0010756#r4196
2010-07-22 10:20Lord_DakstarNote Edited: 0010756bug_revision_view_page.php?bugnote_id=0010756#r4197
2017-12-06 13:51LociNote Added: 0037242
2017-12-06 13:51LociStatusnew => resolved
2017-12-06 13:51LociResolutionopen => fixed
2017-12-06 13:51LociAssigned To => Toady One

Notes
(0010730)
cbpye   
2010-07-20 12:11   
why not take an empty bucket to the shop, leave it there, and then go get the animal?
(0010756)
Lord_Dakstar   
2010-07-20 17:57   
(edited on: 2010-07-22 10:20)
Problem is that dwarves doing the task are IGNORING the empty buckets in the Farmer's Workshop already. They go get a new empty bucket. While doing that, the animal can wander away on its own (restarting the process at "get animal"), or another dwarf can wander in to grab the animal and return it to its cage/chain (restarting the process at "get animal").

This process needs an adjustment or two. One adjustment that is absolutely needed is that the milking dwarf should select to use any non-tasked empty buckets in the Farmer's Workshop if present, rather than skipping them to get a different empty bucket. Other possibile enhancements/tweaks is to get the bucket first, and/or have a rope/chain effect for a Farmer's Workshop when an animal is brought in (so it only gets free by dwarf action).

I believe if Toady reviews the milking process in detail, he will refine it to make it more efficent.

(0037242)
Loci   
2017-12-06 13:51   
v0.44.02: Dwarves now fetch the bucket first. They seem to prefer whichever bucket is closest to them when they take the job, but that's standard dwarf selection logic.