update docs for autohauler

develop
myk002 2022-07-18 14:33:24 -07:00
parent b1916f16b1
commit 6c760d1a3d
No known key found for this signature in database
GPG Key ID: 8A39CA0FA0C16E78
2 changed files with 47 additions and 54 deletions

@ -1,20 +1,49 @@
autohauler autohauler
========== ==========
Autohauler is an autolabor fork.
Rather than the all-of-the-above means of autolabor, autohauler will instead Automatically manage hauling labors. Similar to `autolabor`, but instead of
only manage hauling labors and leave skilled labors entirely to the user, who managing all labors, ``autohauler`` only addresses hauling labors, leaving the
will probably use Dwarf Therapist to do so. assignment of skilled labors entirely up to you. You can use the in-game
`manipulator` UI or an external tool like Dwarf Therapist to do so.
Idle dwarves will be assigned the hauling labors; everyone else (including Idle dwarves who are not on active military duty will be assigned the hauling
those currently hauling) will have the hauling labors removed. This is to labors; everyone else (including those currently hauling) will have the hauling
encourage every dwarf to do their assigned skilled labors whenever possible, labors removed. This is to encourage every dwarf to do their assigned skilled
but resort to hauling when those jobs are not available. This also implies labors whenever possible, but resort to hauling when those jobs are not
that the user will have a very tight skill assignment, with most skilled available. This also implies that the user will have a very tight skill
labors only being assigned to just one dwarf, no dwarf having more than two assignment, with most skilled labors only being assigned to just a few dwarves
active skilled labors, and almost every non-military dwarf having at least and almost every non-military dwarf having at least one skilled labor assigned.
one skilled labor assigned.
Autohauler allows skills to be flagged as to prevent hauling labors from Autohauler allows a skill to be used as a flag to exempt a dwarf from
being assigned when the skill is present. By default this is the unused ``autohauler``'s effects. By default, this is the unused ALCHEMIST labor, but it
ALCHEMIST labor but can be changed by the user. can be changed by the user.
Usage:
- ``enable autohauler``
Start managing hauling labors.
- ``autohauler status``
Show autohauler status and status of fort dwarves.
- ``autohauler <labor> haulers``
Set whether a particular labor should be assigned to haulers.
- ``autohauler <labor> allow|forbid``
Set whether a particular labor should mark a dwarf as exempt from hauling.
By default, only the ``ALCHEMIST`` labor is set to ``forbid``.
- ``autohauler reset-all|<labor> reset``
Reset a particular labor (or all labors) to their default
haulers/allow/forbid state.
- ``autohauler list``
Show the active configuration for all labors.
- ``autohauler frameskip <number>``
Set the number of frames between runs of autohauler.
- ``autohauler debug``
In the next cycle, output the state of every dwarf.
Examples:
- ``autohauler HAUL_STONE haulers``
Set stone hauling as a hauling labor (this is already the default).
- ``autohauler RECOVER_WOUNDED allow``
Allow the "Recover wounded" labor to be manually assigned by the player. By
default it is automatically given to haulers.
- ``autohauler MINE forbid``
Don't assign hauling labors to dwarves with the Mining labor enabled.

@ -712,45 +712,9 @@ DFhackCExport command_result plugin_init ( color_ostream &out, std::vector <Plug
// Essentially an introduction dumped to the console // Essentially an introduction dumped to the console
commands.push_back(PluginCommand( commands.push_back(PluginCommand(
"autohauler", "Automatically manage hauling labors.", "autohauler",
autohauler, false, /* true means that the command can't be used from non-interactive user interface */ "Automatically manage hauling labors.",
// Extended help string. Used by CR_WRONG_USAGE and the help command: autohauler));
" autohauler enable\n"
" autohauler disable\n"
" Enables or disables the plugin.\n"
" autohauler <labor> haulers\n"
" Set a labor to be handled by hauler dwarves.\n"
" autohauler <labor> allow\n"
" Allow hauling if a specific labor is enabled.\n"
" autohauler <labor> forbid\n"
" Forbid hauling if a specific labor is enabled.\n"
" autohauler <labor> reset\n"
" Return a labor to the default handling.\n"
" autohauler reset-all\n"
" Return all labors to the default handling.\n"
" autohauler frameskip <int>\n"
" Set the number of frames between runs of autohauler.\n"
" autohauler list\n"
" List current status of all labors.\n"
" autohauler status\n"
" Show basic status information.\n"
" autohauler debug\n"
" In the next cycle, will output the state of every dwarf.\n"
"Function:\n"
" When enabled, autohauler periodically checks your dwarves and assigns\n"
" hauling jobs to idle dwarves while removing them from busy dwarves.\n"
" This plugin, in contrast to autolabor, is explicitly designed to be\n"
" used alongside Dwarf Therapist.\n"
" Warning: autohauler will override any manual changes you make to\n"
" hauling labors while it is enabled...but why would you make them?\n"
"Examples:\n"
" autohauler HAUL_STONE haulers\n"
" Set stone hauling as a hauling labor.\n"
" autohauler BOWYER allow\n"
" Allow hauling when the bowyer labor is enabled.\n"
" autohauler MINE forbid\n"
" Forbid hauling while the mining labor is disabled."
));
// Initialize plugin labor lists // Initialize plugin labor lists
init_state(out); init_state(out);