Skip to content

Commit

Permalink
Merge pull request #1257 from chdoc/idle-crafting
Browse files Browse the repository at this point in the history
new tool: idle-crafting
  • Loading branch information
myk002 authored Aug 15, 2024
2 parents 1fdf719 + e19d30a commit 42c0187
Show file tree
Hide file tree
Showing 3 changed files with 531 additions and 0 deletions.
1 change: 1 addition & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Template for new versions:

## New Tools
- `embark-anyone`: allows you to embark as any civilisation, including dead, and non-dwarven ones
- `idle-crafting`: Allow dwarfs to automatically satisfy their need to craft objects.
- `gui/pregnancy`: view and generate pregnancies with specified parents

## New Features
Expand Down
53 changes: 53 additions & 0 deletions docs/idle-crafting.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
idle-crafting
=============

.. dfhack-tool::
:summary: Allow dwarves to independently craft objects when they have the need.
:tags: fort gameplay

This script allows you to mark specific Craftsdwarf's Workshops for use as
"recreational crafting" stations. Dwarves who feel the need to craft objects
will be able to go there to independently satisfy their crafting needs without
manual intervention from the player.

There will be a toggle on the workshop info sheet ("Tasks") tab when you
select a Craftsdwarf's Workshop in the UI. More details below.

Usage
-----

``idle-crafting [status]``
Print statistics about the status of the tool and the satisfaction of
"craft item" needs in your fort.

``idle-crafting thresholds <number list>``
Set the threshold(s) for the "craft item" need (i.e. the negated
``focus_level``) at which the tool starts to generate crafting jobs for a
given unit. Units meeting higher thresholds will be prioritized. Defaults
to ``500,1000,10000``.

``disable idle-crafting``
Disallow idle crafting at all workshops. You can re-enable idle crafting
at individual Craftsdwarf's workshops.

Examples
--------

``idle-crafting thresholds 500,1000,10000``
Reset thresholds to defaults.

Overlay
-------

This script provides an overlay on the "Workers" tab of Craftsdwarf's workshops,
allowing you to designate that workshop for use by idle dwarves to satisfy their
needs to craft objects. Workshops that have a master assigned cannot be used in
this way.

When a workshop is designated for idle crafting, this tool will create crafting
jobs and assign them to idle dwarves who have a need for crafting
objects. Currently, bone carving and stonecrafting are supported, with
stonecrafting being the default option. This script respects the setting for
permitted general work orders from the "Workers" tab. Thus, to designate a
workshop for bone carving, disable the stonecrafting labor while keeping the
bone carving labor enabled.
Loading

0 comments on commit 42c0187

Please sign in to comment.