View Issue Details

IDProjectCategoryView StatusLast Update
0002563Dwarf FortressDwarf Mode -- Jobs, Farming/Farmer's Workshoppublic2017-12-06 13:51
ReporterLord_Dakstar Assigned ToToady One  
PrioritynormalSeverityminorReproducibilitysometimes
Status resolvedResolutionfixed 
Product Version0.31.08 
Summary0002563: When milking active milker leaves shop to get new bucket despite empty bucket being present in Farmer Shop
DescriptionThe 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.
Steps To ReproduceBuild 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".
TagsIntentional/Expected?

Activities

cbpye

2010-07-20 12:11

reporter   ~0010730

why not take an empty bucket to the shop, leave it there, and then go get the animal?

Lord_Dakstar

2010-07-20 17:57

reporter   ~0010756

Last edited: 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.

Loci

2017-12-06 13:51

viewer   ~0037242

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.

Issue History

Date Modified Username Field Change
2010-07-05 01:11 Lord_Dakstar New Issue
2010-07-20 12:11 cbpye Note Added: 0010730
2010-07-20 12:19 user6 Tag Attached: Intentional/Expected?
2010-07-20 17:57 Lord_Dakstar Note Added: 0010756
2010-07-22 10:19 Lord_Dakstar Note Edited: 0010756
2010-07-22 10:20 Lord_Dakstar Note Edited: 0010756
2017-12-06 13:51 Loci Note Added: 0037242
2017-12-06 13:51 Loci Status new => resolved
2017-12-06 13:51 Loci Resolution open => fixed
2017-12-06 13:51 Loci Assigned To => Toady One