2022-07-10 00:01:46 -06:00
|
|
|
autolabor
|
|
|
|
=========
|
sync tags spreadsheet to git
spreadsheet - https://docs.google.com/spreadsheets/d/1hiDlo8M_bB_1jE-5HRs2RrrA_VZ4cRu9VXaTctX_nwk/edit#gid=170388995
sync command - for fname in *rst; do name=$(echo $fname | sed 's/[.]rst//'); tagline=$(egrep ",$name," ~/Downloads/DFHack\ taxonomy\ -\ Tool\ tags.csv | ~/Downloads/csvtotags.sh); sed -ri "s;[*]*Tags:.*;$tagline;" $fname; done
contents of csvtotags.sh -
fgrep . | sed -r 's/^[^,]+,([^,]+),[^.]+[.]"?,/\1,/' | awk -F, '
function tag(idx, tagname) {
if ($idx == "TRUE") {
if (hastag == 1) {printf(", ")}
printf("`tag/%s`", tagname)
hastag = 1
}
}
{
printf("%s", "**Tags:** ")
hastag = 0
tag(2, "adventure")
tag(3, "fort")
tag(4, "legends")
tag(5, "embark")
tag(6, "system")
tag(7, "dev")
tag(8, "auto")
tag(9, "productivity")
tag(10, "inspection")
tag(11, "design")
tag(12, "quickfort")
tag(13, "interface")
tag(14, "fps")
tag(15, "fix")
tag(16, "mod")
tag(17, "armok")
tag(18, "animals")
tag(19, "buildings")
tag(20, "items")
tag(21, "jobs")
tag(22, "map")
tag(23, "labors")
tag(24, "units")
tag(25, "stockpiles")
tag(26, "trees")
printf("\n")
}
'
2022-08-05 18:55:33 -06:00
|
|
|
**Tags:** `tag/fort`, `tag/auto`, `tag/labors`
|
2022-07-20 00:11:02 -06:00
|
|
|
:dfhack-keybind:`autolabor`
|
|
|
|
|
2022-07-22 01:05:53 -06:00
|
|
|
:index:`Automatically manage dwarf labors.
|
|
|
|
<autolabor; Automatically manage dwarf labors.>` Autolabor attempts to keep as
|
|
|
|
many dwarves as possible busy while allowing dwarves to specialize in specific
|
|
|
|
skills.
|
2022-07-18 15:53:06 -06:00
|
|
|
|
|
|
|
Autolabor frequently checks how many jobs of each type are available and sets
|
|
|
|
labors proportionally in order to get them all done quickly. Labors with
|
|
|
|
equipment -- mining, hunting, and woodcutting -- which are abandoned if labors
|
|
|
|
change mid-job, are handled slightly differently to minimise churn.
|
|
|
|
|
|
|
|
Dwarves on active military duty or dwarves assigned to burrows are left
|
|
|
|
untouched by autolabor.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
.. warning::
|
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
autolabor will override any manual changes you make to labors while it is
|
|
|
|
enabled, including through other tools such as Dwarf Therapist.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
Usage::
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
enable autolabor
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
Anything beyond this is optional - autolabor works well with the default
|
|
|
|
settings. Once you have enabled it in a fortress, it stays enabled until you
|
|
|
|
explicitly disable it, even if you save and reload your game.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
By default, each labor is assigned to between 1 and 200 dwarves (2-200 for
|
|
|
|
mining). 33% of the workforce become haulers, who handle all hauling jobs as
|
|
|
|
well as cleaning, pulling levers, recovering wounded, removing constructions,
|
|
|
|
and filling ponds. Other jobs are automatically assigned as described above.
|
|
|
|
Each of these settings can be adjusted.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
Jobs are rarely assigned to nobles with responsibilities for meeting diplomats
|
|
|
|
or merchants, never to the chief medical dwarf, and less often to the bookeeper
|
|
|
|
and manager.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
Hunting is never assigned without a butchery, and fishing is never assigned
|
|
|
|
without a fishery.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
For each labor, a preference order is calculated based on skill, biased against
|
|
|
|
masters of other trades and excluding those who can't do the job. The labor is
|
|
|
|
then added to the best <minimum> dwarves for that labor, then to additional
|
|
|
|
dwarfs that meet any of these conditions:
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
* The dwarf is idle and there are no idle dwarves assigned to this labor
|
|
|
|
* The dwarf has non-zero skill associated with the labor
|
|
|
|
* The labor is mining, hunting, or woodcutting and the dwarf currently has it enabled.
|
|
|
|
|
2022-07-18 15:53:06 -06:00
|
|
|
We stop assigning dwarves when we reach the maximum allowed.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
Examples
|
|
|
|
--------
|
|
|
|
|
|
|
|
``autolabor MINE 5``
|
|
|
|
Keep at least 5 dwarves with mining enabled.
|
|
|
|
``autolabor CUT_GEM 1 1``
|
|
|
|
Keep exactly 1 dwarf with gemcutting enabled.
|
|
|
|
``autolabor COOK 1 1 3``
|
|
|
|
Keep 1 dwarf with cooking enabled, selected only from the top 3.
|
|
|
|
``autolabor FEED_WATER_CIVILIANS haulers``
|
|
|
|
Have haulers feed and water wounded dwarves.
|
|
|
|
``autolabor CUTWOOD disable``
|
|
|
|
Turn off autolabor for wood cutting.
|
|
|
|
|
2022-07-20 00:11:02 -06:00
|
|
|
Advanced usage
|
|
|
|
--------------
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-27 18:14:00 -06:00
|
|
|
``autolabor list``
|
|
|
|
List current status of all labors. Use this command to see the IDs for all
|
|
|
|
labors.
|
|
|
|
``autolabor status``
|
|
|
|
Show basic status information.
|
2022-07-23 17:03:40 -06:00
|
|
|
``autolabor <labor> <minimum> [<maximum>] [<talent pool>]``
|
2022-07-18 15:53:06 -06:00
|
|
|
Set range of dwarves assigned to a labor, optionally specifying the size of
|
|
|
|
the pool of most skilled dwarves that will ever be considered for this
|
|
|
|
labor.
|
2022-07-23 17:03:40 -06:00
|
|
|
``autolabor <labor> haulers``
|
2022-07-18 15:53:06 -06:00
|
|
|
Set a labor to be handled by hauler dwarves.
|
2022-07-23 17:03:40 -06:00
|
|
|
``autolabor <labor> disable``
|
2022-07-18 15:53:06 -06:00
|
|
|
Turn off autolabor for a specific labor.
|
2022-07-23 17:03:40 -06:00
|
|
|
``autolabor reset-all|<labor> reset``
|
2022-07-18 15:53:06 -06:00
|
|
|
Return a labor (or all labors) to the default handling.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
See `autolabor-artisans` for a differently-tuned setup.
|