v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Utility:Dwarf Therapist/Addons Repository

From Dwarf Fortress Wiki
Jump to navigation Jump to search

Over the years Dwarf Therapist has evolved to boast quite a number of advanced features that streamline the managing of labors in a fort. Most of the power and benefit derived from these features depends on having a good set of roles, professions, optimization plans, and filter scripts.

Please include your additions on this page, including them inline when appropriate or as links to DFFD submissions. Please refrain from linking to other third-party file hosters unless you can ensure the links will still work years from now.

NOTE: This page is for splinterz's fork of Dwarf Therapist, as it is the only version that implements many of these features.

What are all these?

For a detailed explanation of all things Dwarf Therapist, with screenshots and everything, download ResMar's User Guide.

Custom professions are templates that dictate what labors a dwarf should have enabled.

It also changes their profession name in the game so you can easily tell who you have assigned to what professions, though the custom professions do not get written into history nor appear in engravings, etc. When applied to a dwarf, the custom profession will enable all its related labors for him/her and disable any existing labors not in the profession.

Custom roles allow you to define groups of attributes (e.g, strength); traits (e.g, self-discipline); skills (e.g, appraiser); and preferences (e.g., fondness for fire opals) that, when considered together, determine how suited a particular dwarf is for that role.

On their own roles don't do anything, but when combined with the labor optimizer you can assign professions based on how suitable the dwarf is for that labor. For example, melee dwarfs should have high agility (attribute), low anger (trait), be skilled with the various weapon skills (armor user, shield user), and perhaps have a preference for armors. If a dwarf meets this criteria, he is said to fill the melee-dwarf role.

Note that in vanilla Dwarf Fortress roles are simply professions. A "Mason" is a role/profession that says a dwarf has some skills/traits/attributes that make up a good mason. This usage of profession is different than Dwarf Therapist's, as a DT profession is really a collection of labors, and by default has nothing to do with roles.

Optimization plans are used by Dwarf Therapist to automatically assign labors to dwarves based on how suited they are for the labor. The goal in a plan is to minimize the number if idle dwarves by ensuring they all have enough labors assigned, and also to ensure that dwarves get labors they are well suited to. An automatic labor assigner does no good if it never gives the Mining labor to your legendary miner.

Filter scripts are simple commands that determine what dwarves to show in the main DT window. For example, a "military only" filter script would hide all the non-military dwarves. It is like a "search" for your dwarves.

Grid views are the main list view in Dwarf Fortress they are accessible via the tabs at the top of the list view (Labors, Military, Social, etc).

Community Submitted Addons

Custom Professions

{{{image}}}
Download: Google Drive
Type: Custom Professions
Author: /u/Nameless_Archon
Current Version: 1.0
Installation: {{{installation}}}
Last Updated June, 2013

These are Nameless Archon's custom professions. He discusses their usage in his tutorial video series.


Custom Roles

Thistleknot's Melee and Ranged Roles

{{{image}}}
Download: DFFD File
Type: Custom Roles
Author: Thistleknot
Current Version: 1.0
Installation: {{{installation}}}
Last Updated Apr 29, 2013

These are the Melee and Ranged Roles seen in Thistleknot's Efficiently Assign Militia/Labors tutorial video, at least I think they are. I typed them in manually from what was visible on screen.


Labor Optimizer Tutorial

http://www.youtube.com/embed/Jz_6hMZahU4

Optimization Plans

Slyrdvs's Optimization Plan

{{{image}}}
Download: Google Drive
Type: Optimization Plan
Author: /u//slyrdvs
Current Version: 1.0
Installation: {{{installation}}}
Last Updated Apr 29, 2013

From a reddit thread. Emphasizes trapping and hunting, which may not be to everyone's playstyle.

The author noted: When starting with the optimization plan on a new embark, set max jobs to 10. The dwarfs will usually have enough skills in certain areas to get 1-2 of each of the jobs that they should be good/great at. As you get more dwarfs in the fort you will if you see fit need to lower the max jobs to 7, then 5 and then fiddle with the percent total jobs to keep the workers and haulers how you would like.

I tend to use 5-10 max jobs, and a hauler percent that is less than the max jobs. You only want to have dwarfs who don't have many important jobs running around hauling. I suggest fiddling with your percent jobs and hauler percent until you find something that you enjoy for your forts.


Thistleknot's Optimization Plan

Using AutoLabor to manage hauling jobs alongside Labor Optimizer

Since I prefer Dwarf Therapist's %'s on calculating my roles to labor mappings via the Labor Optimizer, I found the dynamic ability that autolabor has missing. So to alleviate this. I still do my own labor optimizations every few migrant waves; however, I get the advantage of autolabor's hauling behaviour (I believe it doesn't enable hauling on dwarfs that have a labor enabled for queued job).

run this inside a DFHack console

Using AutoLabor to disable hauling jobs on your important dwarfs

Autolabor allows one to disable autolabor on dwarves inside burrows.

I've found when hauling jobs trump regular jobs, there's not much I can do about it. So the "core" of my work can't get done because my main dwarfs are constantly being spammed for hauling jobs.

To resolve this, I'll use my criteria to mark out my "worker" dwarfs in Therapist (say I'll sort by health issues, exclude military and nobles via a filter script). Then I assign my "core" to an optimization plan, then I Mass Nickname them, and assign them to a fortress burrow (using dfhack Sort by Name). For example, nicknamed to "NH-" To signify these dwarves [at the time of labor assignment] had no health issues. It also serves as a reminder that these dwarfs are my burrow restricted dwarf's (aka my non hauling).

Then I do the rest of my dwarf's (injured, nobles, militar, etc) however I want, I usually just assign skilled using the right click menu option when clicking on a dwarf name.

Mass Nickname Assignment for Sub-set Identification

Workshop Profiles

By mass assigning nicknames inside Dwarf Therapist to "mark" dwarves, they can be easily found in workshop profiles (if using Masterwork Mod, DFHack is included, Alt Shift N sorts alphabetically).

This is useful for workshops in various mods that train skills that you wish were limited to certain dwarfs, such as dwarfs who have a skill that is to be trained. (ex... train your axedwarf for your militia dwarfs (these would be the dwarfs that would be tagged with the nickname), via the warfare library)

Using Labors to Mark dwarf's for Custom Professions/Super Labors, or for Militia purposes

In this video (http://www.youtube.com/watch?v=gNVci8h1MkY), I actually do this method to assign my militia, but it could be extended for "super labors" as well.

What I do is assign a custom role to something I wish to assign that Dwarf Therapist doesn't currently support (such as assign militia dwarfs via the labor optimizer). So I use an optimization plan to assign a specific role (such as melee dwarfs) to a meaningless labor, then when the labors are assigned. I hand assign them inside the Therapist tool to the melee role.

One could use the same method to assign a dwarf to a custom profession that covers multiple labors (i.e. super labor concept).

It goes without saying that one should unassign the meaningless labor.

Filter Scripts

Ramblurr's Filter Pack

A small collection of filter scripts useful when using the labor optimizer.

Thistleknot's Filter Pack

I pretty much use the 1st three every migrant wave. I use an optimization plan to single out militia dwarfs (ranged and melee) to weaving (weapon, melee) and alchemy (archers, i.e. crossbowdwarfs).

Then I run the second script to see who rates high for noble roles, and pick them

Then I run the 3rd to apply a labor optimization plan.

Grid Views

Masterwork Dwarf Therapist

Highly customized version of Dwarf Therapist for use with Masterwork dwarf fortress. It uses the same binary build as Splinterminds, just uses a new .dtg (default grid view) as well as a .ini file that covers name changes for Masterwork.

http://www.bay12forums.com/smf/index.php?topic=132010.0

ResMar's Advanced Labor View

click for full view
Download: DFFD File
Type: Grid View
Author: User:Resident Mario
Current Version: 1.0
Installation: {{{installation}}}
Last Updated Aug 05, 2013

This is a heavily modified version of the "Labors NO SPACERS" view that comes packaged with the program. Useless or never-turned-off labors removed, and columns organized for better readability.


Tutorials/Documentation

ResMar's Dwarf Therapist User Guide

ResMar DT guide.png
Download: DFFD File
Type: Documentation
Author: User:Resident Mario
Current Version: 20.4
Installation: {{{installation}}}
Last Updated Nov 02, 2013

This is an exceptionally crafted Dwarf Therapist User Guide. On the cover is a picture of a dwarf in virtual leather.

All of the features available in Dwarf Therapist are covered in the guide, which is a hefty 49 pages worth of (I hope) well-illustrated content crafted in LaTeX.

Whether you a new player who wants to learn how to use Dwarf Therapist, or an experienced one who's never explored any of the power features the utility has to offer, this guide will teach you what's what in an intuitive and non-painful manner.