- 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.
Difference between revisions of "Utility:Dwarf Therapist/Addons Repository"
m (Lethosor moved page v0.34:Dwarf Therapist Addons Repository to Utility:Dwarf Therapist/Addons Repository: see talk) |
|
(No difference)
|
Revision as of 18:35, 21 July 2014
It has been proposed that this article be moved to Utility:Dwarf Therapist Addons Repository. (December 2013) |
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
|
Custom Roles
Thistleknot's Melee and Ranged Roles
|
Labor Optimizer Tutorial
http://www.youtube.com/embed/Jz_6hMZahU4
Optimization Plans
Slyrdvs's Optimization Plan
|
Thistleknot's Optimization Plan
Thistleknot's Optimization Plans |
---|
Import these as .csv
Naming convention is
Name, % of dwarfs, # of Labors to assign
Vanilla 8 Labor's Per (early fort)
Latest Plan100-8,8,100,0,0,0,0,0,0
Animal Caretaker,16,0.0243,1
Animal Trainer,15,0.265,1
Architect,14,0.9,1
Armorsmith,47,0.7929,1
Metalsmith,48,0.7929,1
Bone Carver,54,0.613,0.75
Brewer,29,0.9108,1
Butcher,24,0.265,1.25
Carpenter,11,0.826,1.25
Cheesemaker,36,0.1379,0.75
Clothier,33,0.1379,1.25
Cook,38,0.5495,1.25
Bowyer,59,0.7067,1
Chief Medical,17,0.826,1
Wound Dresser,21,0.7433,0.75
Dyer,63,0.1081,1.25
Farmer,39,0.9343,2
Fish Cleaner,42,0.3228,1.25
Fisherdwarf,41,0.3851,1.25
Furnace Operator,45,0.0243,1.25
Gem Cutter,50,0.8461,1
Hunter,44,0.6438,1
Leatherworker,27,0.9134,1.25
Lyemaker,62,0.6438,0.75
Mason,13,0.826,2.5
Mechanic,60,0.7433,1.25
Metalcrafter,49,0.7929,1
Milker,37,0.0243,0.75
Miller,34,0.5171,0.75
Miner,0,0.9771,2.5
Herbalist,40,0.5495,2.5
Thresher,35,0.7433,1
Potash Maker,61,0.1676,0.75
Bone Doctor,19,0.7433,0.75
,66,0.0243,0.75
Siege Engineer,57,0.3078,1.25
Siege Operator,58,0.8461,1.25
Soaper,31,0.2131,0.75
,67,0.3078,1.25
Engraver,12,0.6438,1
Stone Crafter,53,0.613,0.75
Surgeon,18,0.7433,0.75
Suturer,20,0.7433,0.75
Tanner,28,0.3078,1
Trapper,25,0.5333,0.75
Weaponsmith,46,0.7929,1
Weaver,32,0.2011,1.25
Wood Burner,64,0.0243,1.5
Woodcutter,10,0.4506,1.5
Wood Crafter,52,0.613,0.75
Vanilla 12 Labor's Per
Latest Plan100-12,12,100,0,0,0,0,0,0
Animal Caretaker,16,0.0243,1
Animal Trainer,15,0.265,1
Architect,14,0.9,1
Armorsmith,47,0.7929,1
Metalsmith,48,0.7929,1
Bone Carver,54,0.613,0.75
Brewer,29,0.9108,1
Butcher,24,0.75,1.25
Carpenter,11,0.826,1.25
Cheesemaker,36,0.1379,0.75
Clothier,33,0.1379,1.25
Cook,38,0.5495,1.25
Bowyer,59,0.7067,1
Chief Medical,17,0.826,1
Wound Dresser,21,0.7433,0.75
Dyer,63,0.1081,1.25
Farmer,39,0.9343,2
Fish Cleaner,42,0.3228,1.25
Fisherdwarf,41,0.3851,1.25
Furnace Operator,45,0.0243,1.25
Gem Cutter,50,0.8461,1
Hunter,44,0.6438,1
Leatherworker,27,0.9134,1.25
Lyemaker,62,0.6438,0.75
Mason,13,0.826,2.5
Mechanic,60,0.7433,1.25
Metalcrafter,49,0.7929,1
Milker,37,0.0243,0.75
Miller,34,0.5171,0.75
Miner,0,0.9771,2.5
Herbalist,40,0.5495,2.5
Thresher,35,0.7433,1
Potash Maker,61,0.1676,0.75
Bone Doctor,19,0.7433,0.75
,66,0.0243,0.75
Siege Engineer,57,0.3078,1.25
Siege Operator,58,0.8461,1.25
Soaper,31,0.2131,0.75
,67,0.3078,1.25
Engraver,12,0.6438,1
Stone Crafter,53,0.613,0.75
Surgeon,18,0.7433,0.75
Suturer,20,0.7433,0.75
Tanner,28,0.3078,1
Trapper,25,0.5333,0.75
Weaponsmith,46,0.7929,1
Weaver,32,0.2011,1.25
Wood Burner,64,0.0243,1.5
Woodcutter,10,0.4506,1.5
Wood Crafter,52,0.613,0.75
Masterwork 8 Labor's Per (early fort)
Latest Plan100-8 MW - 2nd,8,100,0,0,0,1,0,0
Stone Crafter,53,0.95,0.75
Soaper,31,0.75,0.75
Surgeon,18,0.9,0.75
Gem Cutter,50,0.85,1
Architect,14,0.85,1
Leatherworker,27,1,1.25
Tanner,28,0.8,1
,47,1,1
Carpenter,11,1,1.25
Animal Caretaker,16,0.75,1
Miller,34,0.8,0.75
Miner,0,1,2
,61,0.75,0.75
Hunter,44,0.85,1
Metalcrafter,49,0.95,1
Brewer,29,0.85,1
Weaponsmith,46,1,1
,15,0.85,1
Mechanic,60,0.8,1.5
Furnace Operator,45,0.75,1.25
,25,0.8,0.75
Miller,35,0.8,1
Spinner,67,0.8,1.25
Suturer,20,0.9,0.75
Milker,37,0.75,0.75
,66,0.75,0.75
Weaver,32,0.75,1.25
Bowyer,59,1,1
,33,0.75,1.25
Farmer,39,1,2
Cook,57,0.8,1.25
,62,0.8,0.75
Bone Doctor,19,0.9,0.75
Cook,38,0.85,1.25
Cheesemaker,36,0.75,0.75
Fish Cleaner,42,0.8,1.25
Bone Carver,54,0.95,0.75
Metalsmith,48,0.95,1
,10,0.85,1.5
Dodger,63,0.75,1.25
,12,0.95,1
Fisherdwarf,41,0.8,0.65
Macedwarf,13,0.95,1.75
Gem Cutter,40,1,2
Butcher,24,0.8,1.25
Siege Operator,58,0.85,1.25
Weaver,21,0.9,0.75
Chief Medical,17,0.9,1
,64,0.21,1.5
Wood Crafter,52,0.95,0.75
,70,0.75,1
,56,1,1
,68,1,0.75
,26,0.75,0.75
,43,0.8,0.65
Masterwork 12 Labor's Per
Latest Plan100-12 MW - 1st,12,100,0,0,0,1,0,0
,61,0.75,0.75
Animal Caretaker,16,0.75,0.75
Animal Trainer,15,0.85,0.75
Miller,34,0.8,1.15
Architect,14,1,1
Armorsmith,47,1,1
Metalsmith,48,0.95,1
Bone Carver,54,0.95,0.75
Brewer,29,0.85,1
Butcher,24,0.8,1.25
Carpenter,11,1,1.25
Cheesemaker,36,0.75,0.75
Lyemaker,62,0.8,0.75
Cook,38,0.85,1.25
Bowyer,59,1,1
Chief Medical,17,0.9,1
,28,0.8,1
Wound Dresser,21,0.9,0.75
Dyer,63,0.75,1.25
Farmer,39,1,2
Fish Cleaner,42,0.8,1.25
Fisherdwarf,41,0.8,1.25
Furnace Operator,45,0.75,1.25
Gem Cutter,50,0.85,1
Herbalist,40,0.85,2.5
Hunter,44,0.85,1
Leatherworker,27,1,1.25
Mason,13,0.95,2.5
Mechanic,60,0.8,1.25
Metalcrafter,49,0.95,1
Milker,37,0.75,0.75
Miller,35,0.8,1
Miner,0,1,2.5
Furnace Operator,64,0.75,1.5
,31,0.75,0.75
Bone Doctor,19,0.9,0.75
,66,0.75,0.75
,57,0.8,1.25
Siege Operator,58,0.85,1.25
Spinner,67,0.8,1.25
,12,0.95,1
,53,0.95,1.5
Surgeon,18,0.9,0.75
Suturer,20,0.9,0.75
,33,0.75,1.25
,25,0.8,0.75
Weaponsmith,46,1,1
Weaver,32,0.75,1.25
,10,0.85,1.5
Wood Crafter,52,0.95,0.75
,30,1,1
,70,0.75,1
,68,1,0.75
|
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
Copy and paste into DFHack console |
---|
autolabor 1
autolabor MINE disable
autolabor FEED_WATER_CIVILIANS haulers 1
autolabor CUTWOOD disable
autolabor CARPENTER disable
autolabor DETAIL disable
autolabor MASON disable
autolabor ARCHITECT disable
autolabor ANIMALTRAIN disable
autolabor ANIMALCARE disable
autolabor DIAGNOSE disable
autolabor SURGERY disable
autolabor BONE_SETTING disable
autolabor SUTURING disable
autolabor DRESSING_WOUNDS disable
autolabor BUTCHER disable
autolabor TRAPPER disable
autolabor DISSECT_VERMIN disable
autolabor LEATHER disable
autolabor TANNER disable
autolabor BREWER disable
autolabor ALCHEMIST disable
autolabor SOAP_MAKER disable
autolabor WEAVER disable
autolabor CLOTHESMAKER disable
autolabor MILLER disable
autolabor PROCESS_PLANT disable
autolabor MAKE_CHEESE disable
autolabor MILK disable
autolabor COOK disable
autolabor PLANT disable
autolabor HERBALIST disable
autolabor FISH disable
autolabor CLEAN_FISH disable
autolabor DISSECT_FISH disable
autolabor HUNT disable
autolabor SMELT disable
autolabor FORGE_WEAPON disable
autolabor FORGE_ARMOR disable
autolabor FORGE_FURNITURE disable
autolabor METAL_CRAFT disable
autolabor CUT_GEM disable
autolabor ENCRUST_GEM disable
autolabor WOOD_CRAFT disable
autolabor STONE_CRAFT disable
autolabor BONE_CARVE disable
autolabor GLASSMAKER disable
autolabor EXTRACT_STRAND disable
autolabor SIEGECRAFT disable
autolabor SIEGEOPERATE disable
autolabor BOWYER disable
autolabor MECHANIC disable
autolabor POTASH_MAKING disable
autolabor LYE_MAKING disable
autolabor DYER disable
autolabor BURN_WOOD disable
autolabor OPERATE_PUMP disable
autolabor SHEARER disable
autolabor SPINNER disable
autolabor POTTERY disable
autolabor GLAZING disable
autolabor PRESSING disable
autolabor BEEKEEPING disable
autolabor WAX_WORKING disable
|
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.
Ramblurr's Filter Pack |
---|
Military
d.squad_id() >= 0
Nobles
d.noble_position()
Non-Mil
d.squad_id() < 0
Non Noble
!d.noble_position()
Non-Mil and Non-Noble
!d.noble_position() && d.squad_id() < 0
Not Missing Limbs
!d.has_health_issue(31,0) && !d.has_health_issue(31,1)
Missing Limbs
d.has_health_issue(31,0) || d.has_health_issue(31,1)
|
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.
Thistleknot's Filter Pack |
---|
1. Not Injured/Missing Limb && Not Cursed (Used to find military candidates)
d.current_job_id()!=52
//not missing limbs
(
(
!d.has_health_issue(31,0) &&
!d.has_health_issue(31,1))
//OR
||
!d.has_health_issue(31,-1)
)
)
&&
d.curse_name() == ""
2. Non military && Not Injured && Not Cursed (Used to find noble candidates)
d.squad_id() < 0
&&
d.current_job_id()!=52
&&
d.curse_name() == ""
3. Non Military, Non Noble, Not Injured && Not Cursed (Used to apply optimization plan to workers, I always enable hauling on them as well)
!d.noble_position()
&&
d.squad_id()<0
&&
d.current_job_id()!=52
&&
d.curse_name()==""
Military
d.squad_id() >= 0
Noble & Non_military
d.noble_position()
&&
d.squad_id()<0
|
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
|
Tutorials/Documentation
ResMar's Dwarf Therapist User Guide
|