Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new tool: idle-crafting #1257

Merged
merged 15 commits into from
Aug 15, 2024
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
52 changes: 52 additions & 0 deletions docs/idle-crafting.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
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 and disable the tool.
myk002 marked this conversation as resolved.
Show resolved Hide resolved

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