|
|
@ -2036,6 +2036,19 @@ Scripts in this subdirectory fix various bugs and issues, some of them obscure.
|
|
|
|
|
|
|
|
|
|
|
|
Makes it so that future caravans won't bring barrels full of blood, ichor, or goo.
|
|
|
|
Makes it so that future caravans won't bring barrels full of blood, ichor, or goo.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* fix/build-location
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes construction jobs that are stuck trying to build a wall while standing
|
|
|
|
|
|
|
|
on the same exact tile (bug 5991), designates the tile restricted traffic to
|
|
|
|
|
|
|
|
hopefully avoid jamming it again, and unsuspends them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* fix/cloth-stockpile
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes erratic behavior of cloth stockpiles by scanning material objects
|
|
|
|
|
|
|
|
in memory and patching up some invalid reference fields. Needs to be run
|
|
|
|
|
|
|
|
every time a save game is loaded; putting ``fix/cloth-stockpile enable``
|
|
|
|
|
|
|
|
in ``dfhack.init`` makes it run automatically.
|
|
|
|
|
|
|
|
|
|
|
|
* fix/dead-units
|
|
|
|
* fix/dead-units
|
|
|
|
|
|
|
|
|
|
|
|
Removes uninteresting dead units from the unit list. Doesn't seem to give any
|
|
|
|
Removes uninteresting dead units from the unit list. Doesn't seem to give any
|
|
|
@ -2048,7 +2061,12 @@ Scripts in this subdirectory fix various bugs and issues, some of them obscure.
|
|
|
|
|
|
|
|
|
|
|
|
* fix/growth-bug
|
|
|
|
* fix/growth-bug
|
|
|
|
|
|
|
|
|
|
|
|
Fixes locally born units such that they will grow larger than their birth size.
|
|
|
|
Fixes locally born units such that they will grow larger than their birth size. Note that this bug was fixed in DF version 0.40.02.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* fix/item-occupancy
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Diagnoses and fixes issues with nonexistant 'items occupying site', usually
|
|
|
|
|
|
|
|
caused by autodump bugs or other hacking mishaps.
|
|
|
|
|
|
|
|
|
|
|
|
* fix/population-cap
|
|
|
|
* fix/population-cap
|
|
|
|
|
|
|
|
|
|
|
@ -2063,24 +2081,6 @@ Scripts in this subdirectory fix various bugs and issues, some of them obscure.
|
|
|
|
the environment and stops temperature updates. In order to maintain this efficient
|
|
|
|
the environment and stops temperature updates. In order to maintain this efficient
|
|
|
|
state however, use ``tweak stable-temp`` and ``tweak fast-heat``.
|
|
|
|
state however, use ``tweak stable-temp`` and ``tweak fast-heat``.
|
|
|
|
|
|
|
|
|
|
|
|
* fix/item-occupancy
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Diagnoses and fixes issues with nonexistant 'items occupying site', usually
|
|
|
|
|
|
|
|
caused by autodump bugs or other hacking mishaps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* fix/cloth-stockpile
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes erratic behavior of cloth stockpiles by scanning material objects
|
|
|
|
|
|
|
|
in memory and patching up some invalid reference fields. Needs to be run
|
|
|
|
|
|
|
|
every time a save game is loaded; putting ``fix/cloth-stockpile enable``
|
|
|
|
|
|
|
|
in ``dfhack.init`` makes it run automatically.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* fix/build-location
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fixes construction jobs that are stuck trying to build a wall while standing
|
|
|
|
|
|
|
|
on the same exact tile (bug 5991), designates the tile restricted traffic to
|
|
|
|
|
|
|
|
hopefully avoid jamming it again, and unsuspends them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/*
|
|
|
|
gui/*
|
|
|
|
=====
|
|
|
|
=====
|
|
|
@ -2088,6 +2088,10 @@ gui/*
|
|
|
|
Scripts that implement dialogs inserted into the main game window are put in this
|
|
|
|
Scripts that implement dialogs inserted into the main game window are put in this
|
|
|
|
directory.
|
|
|
|
directory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* gui/hack-wish
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A graphical interface for creating items.
|
|
|
|
|
|
|
|
|
|
|
|
binpatch
|
|
|
|
binpatch
|
|
|
|
========
|
|
|
|
========
|
|
|
|
|
|
|
|
|
|
|
@ -2099,65 +2103,76 @@ If the name of the patch has no extension or directory separators, the
|
|
|
|
script uses ``hack/patches/<df-version>/<name>.dif``, thus auto-selecting
|
|
|
|
script uses ``hack/patches/<df-version>/<name>.dif``, thus auto-selecting
|
|
|
|
the version appropriate for the currently loaded executable.
|
|
|
|
the version appropriate for the currently loaded executable.
|
|
|
|
|
|
|
|
|
|
|
|
hack-wish
|
|
|
|
create-items
|
|
|
|
=========
|
|
|
|
============
|
|
|
|
|
|
|
|
Spawn arbitrary items under the cursor.
|
|
|
|
|
|
|
|
|
|
|
|
A graphical interface for creating items.
|
|
|
|
The first argument gives the item category, the second gives the material,
|
|
|
|
|
|
|
|
and the optionnal third gives the number of items to create (defaults to 20).
|
|
|
|
|
|
|
|
|
|
|
|
quicksave
|
|
|
|
Currently supported item categories: ``boulder``, ``bar``, ``plant``, ``log``,
|
|
|
|
=========
|
|
|
|
``web``.
|
|
|
|
|
|
|
|
|
|
|
|
If called in dwarf mode, makes DF immediately auto-save the game by setting a flag
|
|
|
|
Instead of material, using ``list`` makes the script list eligible materials.
|
|
|
|
normally used in seasonal auto-save.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setfps
|
|
|
|
The ``web`` item category will create an uncollected cobweb on the floor.
|
|
|
|
======
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Run ``setfps <number>`` to set the FPS cap at runtime, in case you want to watch
|
|
|
|
Note that the script does not enforce anything, and will let you create
|
|
|
|
combat in slow motion or something :)
|
|
|
|
boulders of toad blood and stuff like that.
|
|
|
|
|
|
|
|
However the ``list`` mode will only show 'normal' materials.
|
|
|
|
|
|
|
|
|
|
|
|
siren
|
|
|
|
Examples::
|
|
|
|
=====
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Wakes up sleeping units, cancels breaks and stops parties either everywhere,
|
|
|
|
create-items boulders COAL_BITUMINOUS 12
|
|
|
|
or in the burrows given as arguments. In return, adds bad thoughts about
|
|
|
|
create-items plant tail_pig
|
|
|
|
noise, tiredness and lack of protection. Also, the units with interrupted
|
|
|
|
create-items log list
|
|
|
|
breaks will go on break again a lot sooner. The script is intended for
|
|
|
|
create-items web CREATURE:SPIDER_CAVE_GIANT:SILK
|
|
|
|
emergencies, e.g. when a siege appears, and all your military is partying.
|
|
|
|
create-items bar CREATURE:CAT:SOAP
|
|
|
|
|
|
|
|
create-items bar adamantine
|
|
|
|
|
|
|
|
|
|
|
|
growcrops
|
|
|
|
digfort
|
|
|
|
=========
|
|
|
|
=======
|
|
|
|
Instantly grow seeds inside farming plots.
|
|
|
|
A script to designate an area for digging according to a plan in csv format.
|
|
|
|
|
|
|
|
|
|
|
|
With no argument, this command list the various seed types currently in
|
|
|
|
This script, inspired from quickfort, can designate an area for digging.
|
|
|
|
use in your farming plots.
|
|
|
|
Your plan should be stored in a .csv file like this::
|
|
|
|
With a seed type, the script will grow 100 of these seeds, ready to be
|
|
|
|
|
|
|
|
harvested. You can change the number with a 2nd argument.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For example, to grow 40 plump helmet spawn:
|
|
|
|
# this is a comment
|
|
|
|
::
|
|
|
|
d;d;u;d;d;skip this tile;d
|
|
|
|
|
|
|
|
d;d;d;i
|
|
|
|
|
|
|
|
|
|
|
|
growcrops plump 40
|
|
|
|
Available tile shapes are named after the 'dig' menu shortcuts:
|
|
|
|
|
|
|
|
``d`` for dig, ``u`` for upstairs, ``d`` downstairs, ``i`` updown,
|
|
|
|
|
|
|
|
``h`` channel, ``r`` upward ramp, ``x`` remove designation.
|
|
|
|
|
|
|
|
Unrecognized characters are ignored (eg the 'skip this tile' in the sample).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Empty lines and data after a ``#`` are ignored as comments.
|
|
|
|
|
|
|
|
To skip a row in your design, use a single ``;``.
|
|
|
|
|
|
|
|
|
|
|
|
removebadthoughts
|
|
|
|
One comment in the file may contain the phrase ``start(3,5)``. It is interpreted
|
|
|
|
=================
|
|
|
|
as an offset for the pattern: instead of starting at the cursor, it will start
|
|
|
|
This script remove negative thoughts from your dwarves. Very useful against
|
|
|
|
3 tiles left and 5 tiles up from the cursor.
|
|
|
|
tantrum spirals.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The script can target a single creature, when used with the ``him`` argument,
|
|
|
|
The script takes the plan filename, starting from the root df folder (where
|
|
|
|
or the whole fort population, with ``all``.
|
|
|
|
Dwarf Fortress.exe is found).
|
|
|
|
|
|
|
|
|
|
|
|
To show every bad thought present without actually removing them, run the
|
|
|
|
drainaquifer
|
|
|
|
script with the ``-n`` or ``--dry-run`` argument. This can give a quick
|
|
|
|
============
|
|
|
|
hint on what bothers your dwarves the most.
|
|
|
|
Remove all 'aquifer' tag from the map blocks. Irreversible.
|
|
|
|
|
|
|
|
|
|
|
|
Individual dwarf happiness may not increase right after this command is run,
|
|
|
|
deathcause
|
|
|
|
but in the short term your dwarves will get much more joyful.
|
|
|
|
==========
|
|
|
|
|
|
|
|
Focus a body part ingame, and this script will display the cause of death of
|
|
|
|
|
|
|
|
the creature.
|
|
|
|
|
|
|
|
Also works when selecting units from the 'u'nitlist viewscreen.
|
|
|
|
|
|
|
|
|
|
|
|
Internals: the thoughts are set to be very old, so that the game remove them
|
|
|
|
dfstatus
|
|
|
|
quickly after you unpause.
|
|
|
|
========
|
|
|
|
|
|
|
|
Show a quick overview of critical stock quantities, including food, dirnks, wood, and various bars.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
embark
|
|
|
|
|
|
|
|
======
|
|
|
|
|
|
|
|
Allows to embark anywhere. Currently windows only.
|
|
|
|
|
|
|
|
|
|
|
|
exterminate
|
|
|
|
exterminate
|
|
|
|
===========
|
|
|
|
===========
|
|
|
@ -2198,33 +2213,70 @@ To purify all elves on the map with fire (may have side-effects)::
|
|
|
|
|
|
|
|
|
|
|
|
exterminate elve magma
|
|
|
|
exterminate elve magma
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
growcrops
|
|
|
|
|
|
|
|
=========
|
|
|
|
|
|
|
|
Instantly grow seeds inside farming plots.
|
|
|
|
|
|
|
|
|
|
|
|
source
|
|
|
|
With no argument, this command list the various seed types currently in
|
|
|
|
======
|
|
|
|
use in your farming plots.
|
|
|
|
Create an infinite magma or water source or drain on a tile.
|
|
|
|
With a seed type, the script will grow 100 of these seeds, ready to be
|
|
|
|
|
|
|
|
harvested. You can change the number with a 2nd argument.
|
|
|
|
|
|
|
|
|
|
|
|
This script registers a map tile as a liquid source, and every 12 game ticks
|
|
|
|
For example, to grow 40 plump helmet spawn:
|
|
|
|
that tile receives or remove 1 new unit of flow based on the configuration.
|
|
|
|
::
|
|
|
|
|
|
|
|
|
|
|
|
Place the game cursor where you want to create the source (must be a
|
|
|
|
growcrops plump 40
|
|
|
|
flow-passable tile, and not too high in the sky) and call::
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
source add [magma|water] [0-7]
|
|
|
|
lever
|
|
|
|
|
|
|
|
=====
|
|
|
|
|
|
|
|
Allow manipulation of in-game levers from the dfhack console.
|
|
|
|
|
|
|
|
|
|
|
|
The number argument is the target liquid level (0 = drain, 7 = source).
|
|
|
|
Can list levers, including state and links, with::
|
|
|
|
|
|
|
|
|
|
|
|
To add more than 1 unit everytime, call the command again on the same spot.
|
|
|
|
lever list
|
|
|
|
|
|
|
|
|
|
|
|
To delete one source, place the cursor over its tile and use ``delete``.
|
|
|
|
To queue a job so that a dwarf will pull the lever 42, use ``lever pull 42``.
|
|
|
|
To remove all existing sources, call ``source clear``.
|
|
|
|
This is the same as 'q'uerying the building and queue a 'P'ull request.
|
|
|
|
|
|
|
|
|
|
|
|
The ``list`` argument shows all existing sources.
|
|
|
|
To magically toggle the lever immediately, use::
|
|
|
|
|
|
|
|
|
|
|
|
Ex::
|
|
|
|
lever pull 42 --now
|
|
|
|
|
|
|
|
|
|
|
|
source add water - water source
|
|
|
|
locate-ore
|
|
|
|
source add magma 7 - magma source
|
|
|
|
==========
|
|
|
|
source add water 0 - water drain
|
|
|
|
Scan the map for metal ores.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Finds and designate for digging one tile of a specific metal ore.
|
|
|
|
|
|
|
|
Only works for native metal ores, does not handle reaction stuff (eg STEEL).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When invoked with the ``list`` argument, lists metal ores available on the map.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Examples::
|
|
|
|
|
|
|
|
locate-ore list
|
|
|
|
|
|
|
|
locate-ore hematite
|
|
|
|
|
|
|
|
locate-ore iron
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lua
|
|
|
|
|
|
|
|
===
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There are the following ways to invoke this command:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. ``lua`` (without any parameters)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This starts an interactive lua interpreter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. ``lua -f "filename"`` or ``lua --file "filename"``
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This loads and runs the file indicated by filename.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. ``lua -s ["filename"]`` or ``lua --save ["filename"]``
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This loads and runs the file indicated by filename from the save
|
|
|
|
|
|
|
|
directory. If the filename is not supplied, it loads "dfhack.lua".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. ``:lua`` *lua statement...*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parses and executes the lua statement like the interactive interpreter would.
|
|
|
|
|
|
|
|
|
|
|
|
masspit
|
|
|
|
masspit
|
|
|
|
=======
|
|
|
|
=======
|
|
|
@ -2234,94 +2286,103 @@ Works best with an animal stockpile on top of the zone.
|
|
|
|
Works with a zone number as argument (eg ``Activity Zone #6`` -> ``masspit 6``)
|
|
|
|
Works with a zone number as argument (eg ``Activity Zone #6`` -> ``masspit 6``)
|
|
|
|
or with the game cursor on top of the area.
|
|
|
|
or with the game cursor on top of the area.
|
|
|
|
|
|
|
|
|
|
|
|
digfort
|
|
|
|
multicmd
|
|
|
|
=======
|
|
|
|
========
|
|
|
|
A script to designate an area for digging according to a plan in csv format.
|
|
|
|
Run multiple dfhack commands. The argument is split around the
|
|
|
|
|
|
|
|
character ; and all parts are run sequencially as independent
|
|
|
|
|
|
|
|
dfhack commands. Useful for hotkeys.
|
|
|
|
|
|
|
|
|
|
|
|
This script, inspired from quickfort, can designate an area for digging.
|
|
|
|
Example::
|
|
|
|
Your plan should be stored in a .csv file like this::
|
|
|
|
multicmd locate-ore iron ; digv
|
|
|
|
|
|
|
|
|
|
|
|
# this is a comment
|
|
|
|
quicksave
|
|
|
|
d;d;u;d;d;skip this tile;d
|
|
|
|
=========
|
|
|
|
d;d;d;i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Available tile shapes are named after the 'dig' menu shortcuts:
|
|
|
|
If called in dwarf mode, makes DF immediately auto-save the game by setting a flag
|
|
|
|
``d`` for dig, ``u`` for upstairs, ``d`` downstairs, ``i`` updown,
|
|
|
|
normally used in seasonal auto-save.
|
|
|
|
``h`` channel, ``r`` upward ramp, ``x`` remove designation.
|
|
|
|
|
|
|
|
Unrecognized characters are ignored (eg the 'skip this tile' in the sample).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Empty lines and data after a ``#`` are ignored as comments.
|
|
|
|
removebadthoughts
|
|
|
|
To skip a row in your design, use a single ``;``.
|
|
|
|
=================
|
|
|
|
|
|
|
|
This script remove negative thoughts from your dwarves. Very useful against
|
|
|
|
|
|
|
|
tantrum spirals.
|
|
|
|
|
|
|
|
|
|
|
|
One comment in the file may contain the phrase ``start(3,5)``. It is interpreted
|
|
|
|
The script can target a single creature, when used with the ``him`` argument,
|
|
|
|
as an offset for the pattern: instead of starting at the cursor, it will start
|
|
|
|
or the whole fort population, with ``all``.
|
|
|
|
3 tiles left and 5 tiles up from the cursor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The script takes the plan filename, starting from the root df folder (where
|
|
|
|
To show every bad thought present without actually removing them, run the
|
|
|
|
Dwarf Fortress.exe is found).
|
|
|
|
script with the ``-n`` or ``--dry-run`` argument. This can give a quick
|
|
|
|
|
|
|
|
hint on what bothers your dwarves the most.
|
|
|
|
|
|
|
|
|
|
|
|
superdwarf
|
|
|
|
Individual dwarf happiness may not increase right after this command is run,
|
|
|
|
==========
|
|
|
|
but in the short term your dwarves will get much more joyful.
|
|
|
|
Similar to fastdwarf, per-creature.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To make any creature superfast, target it ingame using 'v' and::
|
|
|
|
Internals: the thoughts are set to be very old, so that the game remove them
|
|
|
|
|
|
|
|
quickly after you unpause.
|
|
|
|
|
|
|
|
|
|
|
|
superdwarf add
|
|
|
|
setfps
|
|
|
|
|
|
|
|
======
|
|
|
|
|
|
|
|
|
|
|
|
Other options available: ``del``, ``clear``, ``list``.
|
|
|
|
Run ``setfps <number>`` to set the FPS cap at runtime, in case you want to watch
|
|
|
|
|
|
|
|
combat in slow motion or something :)
|
|
|
|
|
|
|
|
|
|
|
|
This plugin also shortens the 'sleeping' and 'on break' periods of targets.
|
|
|
|
siren
|
|
|
|
|
|
|
|
=====
|
|
|
|
|
|
|
|
|
|
|
|
drainaquifer
|
|
|
|
Wakes up sleeping units, cancels breaks and stops parties either everywhere,
|
|
|
|
============
|
|
|
|
or in the burrows given as arguments. In return, adds bad thoughts about
|
|
|
|
Remove all 'aquifer' tag from the map blocks. Irreversible.
|
|
|
|
noise, tiredness and lack of protection. Also, the units with interrupted
|
|
|
|
|
|
|
|
breaks will go on break again a lot sooner. The script is intended for
|
|
|
|
|
|
|
|
emergencies, e.g. when a siege appears, and all your military is partying.
|
|
|
|
|
|
|
|
|
|
|
|
deathcause
|
|
|
|
soundsense-season
|
|
|
|
==========
|
|
|
|
=================
|
|
|
|
Focus a body part ingame, and this script will display the cause of death of
|
|
|
|
|
|
|
|
the creature.
|
|
|
|
|
|
|
|
Also works when selecting units from the 'u'nitlist viewscreen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lua
|
|
|
|
It is a well known issue that Soundsense cannot detect the correct
|
|
|
|
===
|
|
|
|
current season when a savegame is loaded and has to play random
|
|
|
|
|
|
|
|
season music until a season switch occurs.
|
|
|
|
|
|
|
|
|
|
|
|
There are the following ways to invoke this command:
|
|
|
|
This script registers a hook that prints the appropriate string
|
|
|
|
|
|
|
|
to gamelog.txt on every map load to fix this. For best results
|
|
|
|
|
|
|
|
call the script from ``dfhack.init``.
|
|
|
|
|
|
|
|
|
|
|
|
1. ``lua`` (without any parameters)
|
|
|
|
source
|
|
|
|
|
|
|
|
======
|
|
|
|
|
|
|
|
Create an infinite magma or water source or drain on a tile.
|
|
|
|
|
|
|
|
|
|
|
|
This starts an interactive lua interpreter.
|
|
|
|
This script registers a map tile as a liquid source, and every 12 game ticks
|
|
|
|
|
|
|
|
that tile receives or remove 1 new unit of flow based on the configuration.
|
|
|
|
|
|
|
|
|
|
|
|
2. ``lua -f "filename"`` or ``lua --file "filename"``
|
|
|
|
Place the game cursor where you want to create the source (must be a
|
|
|
|
|
|
|
|
flow-passable tile, and not too high in the sky) and call::
|
|
|
|
|
|
|
|
|
|
|
|
This loads and runs the file indicated by filename.
|
|
|
|
source add [magma|water] [0-7]
|
|
|
|
|
|
|
|
|
|
|
|
3. ``lua -s ["filename"]`` or ``lua --save ["filename"]``
|
|
|
|
The number argument is the target liquid level (0 = drain, 7 = source).
|
|
|
|
|
|
|
|
|
|
|
|
This loads and runs the file indicated by filename from the save
|
|
|
|
To add more than 1 unit everytime, call the command again on the same spot.
|
|
|
|
directory. If the filename is not supplied, it loads "dfhack.lua".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. ``:lua`` *lua statement...*
|
|
|
|
To delete one source, place the cursor over its tile and use ``delete``.
|
|
|
|
|
|
|
|
To remove all existing sources, call ``source clear``.
|
|
|
|
|
|
|
|
|
|
|
|
Parses and executes the lua statement like the interactive interpreter would.
|
|
|
|
The ``list`` argument shows all existing sources.
|
|
|
|
|
|
|
|
|
|
|
|
embark
|
|
|
|
Ex::
|
|
|
|
======
|
|
|
|
|
|
|
|
Allows to embark anywhere. Currently windows only.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lever
|
|
|
|
source add water - water source
|
|
|
|
=====
|
|
|
|
source add magma 7 - magma source
|
|
|
|
Allow manipulation of in-game levers from the dfhack console.
|
|
|
|
source add water 0 - water drain
|
|
|
|
|
|
|
|
|
|
|
|
Can list levers, including state and links, with::
|
|
|
|
superdwarf
|
|
|
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
Similar to fastdwarf, per-creature.
|
|
|
|
|
|
|
|
|
|
|
|
lever list
|
|
|
|
To make any creature superfast, target it ingame using 'v' and::
|
|
|
|
|
|
|
|
|
|
|
|
To queue a job so that a dwarf will pull the lever 42, use ``lever pull 42``.
|
|
|
|
superdwarf add
|
|
|
|
This is the same as 'q'uerying the building and queue a 'P'ull request.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To magically toggle the lever immediately, use::
|
|
|
|
Other options available: ``del``, ``clear``, ``list``.
|
|
|
|
|
|
|
|
|
|
|
|
lever pull 42 --now
|
|
|
|
This plugin also shortens the 'sleeping' and 'on break' periods of targets.
|
|
|
|
|
|
|
|
|
|
|
|
stripcaged
|
|
|
|
stripcaged
|
|
|
|
==========
|
|
|
|
==========
|
|
|
@ -2347,71 +2408,6 @@ undump-buildings
|
|
|
|
================
|
|
|
|
================
|
|
|
|
Undesignates building base materials for dumping.
|
|
|
|
Undesignates building base materials for dumping.
|
|
|
|
|
|
|
|
|
|
|
|
create-items
|
|
|
|
|
|
|
|
============
|
|
|
|
|
|
|
|
Spawn arbitrary items under the cursor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The first argument gives the item category, the second gives the material,
|
|
|
|
|
|
|
|
and the optionnal third gives the number of items to create (defaults to 20).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Currently supported item categories: ``boulder``, ``bar``, ``plant``, ``log``,
|
|
|
|
|
|
|
|
``web``.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Instead of material, using ``list`` makes the script list eligible materials.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The ``web`` item category will create an uncollected cobweb on the floor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note that the script does not enforce anything, and will let you create
|
|
|
|
|
|
|
|
boulders of toad blood and stuff like that.
|
|
|
|
|
|
|
|
However the ``list`` mode will only show 'normal' materials.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Examples::
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
create-items boulders COAL_BITUMINOUS 12
|
|
|
|
|
|
|
|
create-items plant tail_pig
|
|
|
|
|
|
|
|
create-items log list
|
|
|
|
|
|
|
|
create-items web CREATURE:SPIDER_CAVE_GIANT:SILK
|
|
|
|
|
|
|
|
create-items bar CREATURE:CAT:SOAP
|
|
|
|
|
|
|
|
create-items bar adamantine
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
locate-ore
|
|
|
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
Scan the map for metal ores.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Finds and designate for digging one tile of a specific metal ore.
|
|
|
|
|
|
|
|
Only works for native metal ores, does not handle reaction stuff (eg STEEL).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When invoked with the ``list`` argument, lists metal ores available on the map.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Examples::
|
|
|
|
|
|
|
|
locate-ore list
|
|
|
|
|
|
|
|
locate-ore hematite
|
|
|
|
|
|
|
|
locate-ore iron
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
soundsense-season
|
|
|
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It is a well known issue that Soundsense cannot detect the correct
|
|
|
|
|
|
|
|
current season when a savegame is loaded and has to play random
|
|
|
|
|
|
|
|
season music until a season switch occurs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This script registers a hook that prints the appropriate string
|
|
|
|
|
|
|
|
to gamelog.txt on every map load to fix this. For best results
|
|
|
|
|
|
|
|
call the script from ``dfhack.init``.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
multicmd
|
|
|
|
|
|
|
|
========
|
|
|
|
|
|
|
|
Run multiple dfhack commands. The argument is split around the
|
|
|
|
|
|
|
|
character ; and all parts are run sequencially as independent
|
|
|
|
|
|
|
|
dfhack commands. Useful for hotkeys.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example::
|
|
|
|
|
|
|
|
multicmd locate-ore iron ; digv
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dfstatus
|
|
|
|
|
|
|
|
========
|
|
|
|
|
|
|
|
Show a quick overview of critical stock quantities, including food, dirnks, wood, and various bars.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
=======================
|
|
|
|
=======================
|
|
|
|
In-game interface tools
|
|
|
|
In-game interface tools
|
|
|
|
=======================
|
|
|
|
=======================
|
|
|
@ -2537,38 +2533,149 @@ AutoMaterial
|
|
|
|
|
|
|
|
|
|
|
|
Implemented by the 'automaterial' plugin.
|
|
|
|
Implemented by the 'automaterial' plugin.
|
|
|
|
|
|
|
|
|
|
|
|
This makes building constructions (walls, floors, fortifications, etc) a little bit
|
|
|
|
This makes building constructions (walls, floors, fortifications, etc) a little bit
|
|
|
|
easier by saving you from having to trawl through long lists of materials each time
|
|
|
|
easier by saving you from having to trawl through long lists of materials each time
|
|
|
|
you place one.
|
|
|
|
you place one.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Firstly, it moves the last used material for a given construction type to the top of
|
|
|
|
|
|
|
|
the list, if there are any left. So if you build a wall with chalk blocks, the next
|
|
|
|
|
|
|
|
time you place a wall the chalk blocks will be at the top of the list, regardless of
|
|
|
|
|
|
|
|
distance (it only does this in "grouped" mode, as individual item lists could be huge).
|
|
|
|
|
|
|
|
This should mean you can place most constructions without having to search for your
|
|
|
|
|
|
|
|
preferred material type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/automaterial-mat.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pressing 'a' while highlighting any material will enable that material for "auto select"
|
|
|
|
|
|
|
|
for this construction type. You can enable multiple materials as autoselect. Now the next
|
|
|
|
|
|
|
|
time you place this type of construction, the plugin will automatically choose materials
|
|
|
|
|
|
|
|
for you from the kinds you enabled. If there is enough to satisfy the whole placement,
|
|
|
|
|
|
|
|
you won't be prompted with the material screen - the construction will be placed and you
|
|
|
|
|
|
|
|
will be back in the construction menu as if you did it manually.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When choosing the construction placement, you will see a couple of options:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/automaterial-pos.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Use 'a' here to temporarily disable the material autoselection, e.g. if you need
|
|
|
|
|
|
|
|
to go to the material selection screen so you can toggle some materials on or off.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The other option (auto type selection, off by default) can be toggled on with 't'. If you
|
|
|
|
|
|
|
|
toggle this option on, instead of returning you to the main construction menu after selecting
|
|
|
|
|
|
|
|
materials, it returns you back to this screen. If you use this along with several autoselect
|
|
|
|
|
|
|
|
enabled materials, you should be able to place complex constructions more conveniently.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/advfort
|
|
|
|
|
|
|
|
===========
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This script allows to perform jobs in adventure mode. For more complete help
|
|
|
|
|
|
|
|
press '?' while script is running. It's most confortable to use this as a
|
|
|
|
|
|
|
|
keybinding. (e.g. keybinding set Ctrl-T gui/advfort). Possible arguments:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* -a or --nodfassign - uses different method to assign items.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* -i or --inventory - checks inventory for possible items to use in the job.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* -c or --cheat - relaxes item requirements for buildings (e.g. walls from bones).
|
|
|
|
|
|
|
|
implies -a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* job - selects that job (e.g. Dig or FellTree)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An example of player digging in adventure mode:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/advfort.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. admonition:: DISCLAIMER
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
advfort changes only persist in non procedural sites. Namely: player forts, caves, camps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/assign-rack
|
|
|
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bind to a key (the example config uses P), and activate when viewing a weapon
|
|
|
|
|
|
|
|
rack in the 'q' mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/assign-rack.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This script is part of a group of related fixes to make the armory storage
|
|
|
|
|
|
|
|
work again. The existing issues are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Weapon racks have to each be assigned to a specific squad, like with
|
|
|
|
|
|
|
|
beds/boxes/armor stands and individual squad members, but nothing in
|
|
|
|
|
|
|
|
the game does this. This issue is what this script addresses.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Even if assigned by the script, **the game will unassign the racks again without a binary patch**.
|
|
|
|
|
|
|
|
This patch is called ``weaponrack-unassign``, and can be applied via
|
|
|
|
|
|
|
|
the binpatch program, or the matching script. See this for more info
|
|
|
|
|
|
|
|
about the bug:
|
|
|
|
|
|
|
|
http://www.bay12games.com/dwarves/mantisbt/view.php?id=1445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Haulers still take equpment stored in the armory away to the stockpiles,
|
|
|
|
|
|
|
|
unless the ``fix-armory`` plugin above is used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The script interface simply lets you designate one of the squads that
|
|
|
|
|
|
|
|
are assigned to the barracks/armory containing the selected stand as
|
|
|
|
|
|
|
|
the intended user. In order to aid in the choice, it shows the number
|
|
|
|
|
|
|
|
of currently assigned racks for every valid squad.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/choose-weapons
|
|
|
|
|
|
|
|
==================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bind to a key (the example config uses Ctrl-W), and activate in the Equip->View/Customize
|
|
|
|
|
|
|
|
page of the military screen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Depending on the cursor location, it rewrites all 'individual choice weapon' entries
|
|
|
|
|
|
|
|
in the selected squad or position to use a specific weapon type matching the assigned
|
|
|
|
|
|
|
|
unit's top skill. If the cursor is in the rightmost list over a weapon entry, it rewrites
|
|
|
|
|
|
|
|
only that entry, and does it even if it is not 'individual choice'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rationale: individual choice seems to be unreliable when there is a weapon shortage,
|
|
|
|
|
|
|
|
and may lead to inappropriate weapons being selected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/clone-uniform
|
|
|
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bind to a key (the example config uses Ctrl-C), and activate in the Uniforms
|
|
|
|
|
|
|
|
page of the military screen with the cursor in the leftmost list.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When invoked, the script duplicates the currently selected uniform template,
|
|
|
|
|
|
|
|
and selects the newly created copy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/companion-order
|
|
|
|
|
|
|
|
===================
|
|
|
|
|
|
|
|
|
|
|
|
Firstly, it moves the last used material for a given construction type to the top of
|
|
|
|
A script to issue orders for companions. Select companions with lower case chars, issue orders with upper
|
|
|
|
the list, if there are any left. So if you build a wall with chalk blocks, the next
|
|
|
|
case. Must be in look or talk mode to issue command on tile.
|
|
|
|
time you place a wall the chalk blocks will be at the top of the list, regardless of
|
|
|
|
|
|
|
|
distance (it only does this in "grouped" mode, as individual item lists could be huge).
|
|
|
|
|
|
|
|
This should mean you can place most constructions without having to search for your
|
|
|
|
|
|
|
|
preferred material type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/automaterial-mat.png
|
|
|
|
.. image:: images/companion-order.png
|
|
|
|
|
|
|
|
|
|
|
|
Pressing 'a' while highlighting any material will enable that material for "auto select"
|
|
|
|
* move - orders selected companions to move to location. If companions are following they will move no more than 3 tiles from you.
|
|
|
|
for this construction type. You can enable multiple materials as autoselect. Now the next
|
|
|
|
* equip - try to equip items on the ground.
|
|
|
|
time you place this type of construction, the plugin will automatically choose materials
|
|
|
|
* pick-up - try to take items into hand (also wield)
|
|
|
|
for you from the kinds you enabled. If there is enough to satisfy the whole placement,
|
|
|
|
* unequip - remove and drop equipment
|
|
|
|
you won't be prompted with the material screen - the construction will be placed and you
|
|
|
|
* unwield - drop held items
|
|
|
|
will be back in the construction menu as if you did it manually.
|
|
|
|
* wait - temporarily remove from party
|
|
|
|
|
|
|
|
* follow - rejoin the party after "wait"
|
|
|
|
|
|
|
|
* leave - remove from party (can be rejoined by talking)
|
|
|
|
|
|
|
|
|
|
|
|
When choosing the construction placement, you will see a couple of options:
|
|
|
|
gui/gm-editor
|
|
|
|
|
|
|
|
=============
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/automaterial-pos.png
|
|
|
|
There are three ways to open this editor:
|
|
|
|
|
|
|
|
|
|
|
|
Use 'a' here to temporarily disable the material autoselection, e.g. if you need
|
|
|
|
* using gui/gm-editor command/keybinding - opens editor on what is selected
|
|
|
|
to go to the material selection screen so you can toggle some materials on or off.
|
|
|
|
or viewed (e.g. unit/item description screen)
|
|
|
|
|
|
|
|
|
|
|
|
The other option (auto type selection, off by default) can be toggled on with 't'. If you
|
|
|
|
* using gui/gm-editor <lua command> - executes lua command and opens editor on
|
|
|
|
toggle this option on, instead of returning you to the main construction menu after selecting
|
|
|
|
its results (e.g. gui/gm-editor "df.global.world.items.all" shows all items)
|
|
|
|
materials, it returns you back to this screen. If you use this along with several autoselect
|
|
|
|
|
|
|
|
enabled materials, you should be able to place complex constructions more conveniently.
|
|
|
|
* using gui/gm-editor dialog - shows an in game dialog to input lua command. Works
|
|
|
|
|
|
|
|
the same as version above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/gm-editor.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This editor allows to change and modify almost anything in df. Press '?' for an
|
|
|
|
|
|
|
|
in-game help.
|
|
|
|
|
|
|
|
|
|
|
|
gui/liquids
|
|
|
|
gui/liquids
|
|
|
|
===========
|
|
|
|
===========
|
|
|
@ -2597,7 +2704,6 @@ rivers power water wheels even when full and technically not flowing.
|
|
|
|
|
|
|
|
|
|
|
|
After setting up the desired operations using the described keys, use ``Enter`` to apply them.
|
|
|
|
After setting up the desired operations using the described keys, use ``Enter`` to apply them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/mechanisms
|
|
|
|
gui/mechanisms
|
|
|
|
==============
|
|
|
|
==============
|
|
|
|
|
|
|
|
|
|
|
@ -2612,6 +2718,13 @@ To exit, press ESC or Enter; ESC recenters on the original building, while Enter
|
|
|
|
focus on the current one. Shift-Enter has an effect equivalent to pressing Enter, and then
|
|
|
|
focus on the current one. Shift-Enter has an effect equivalent to pressing Enter, and then
|
|
|
|
re-entering the mechanisms ui.
|
|
|
|
re-entering the mechanisms ui.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/mod-manager
|
|
|
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A way to simply install and remove small mods. It looks for specially formatted mods in
|
|
|
|
|
|
|
|
df subfolder 'mods'. Mods are not included, for example mods see: `github mini mod repository <https://github.com/warmist/df-mini-mods>`_
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/mod-manager.png
|
|
|
|
|
|
|
|
|
|
|
|
gui/rename
|
|
|
|
gui/rename
|
|
|
|
==========
|
|
|
|
==========
|
|
|
@ -2642,7 +2755,6 @@ The ``building`` or ``unit`` options are automatically assumed when in relevant
|
|
|
|
The example config binds building/unit rename to Ctrl-Shift-N, and
|
|
|
|
The example config binds building/unit rename to Ctrl-Shift-N, and
|
|
|
|
unit profession change to Ctrl-Shift-T.
|
|
|
|
unit profession change to Ctrl-Shift-T.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/room-list
|
|
|
|
gui/room-list
|
|
|
|
=============
|
|
|
|
=============
|
|
|
|
|
|
|
|
|
|
|
@ -2655,31 +2767,6 @@ The script lists other rooms owned by the same owner, or by the unit selected in
|
|
|
|
list, and allows unassigning them.
|
|
|
|
list, and allows unassigning them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/choose-weapons
|
|
|
|
|
|
|
|
==================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bind to a key (the example config uses Ctrl-W), and activate in the Equip->View/Customize
|
|
|
|
|
|
|
|
page of the military screen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Depending on the cursor location, it rewrites all 'individual choice weapon' entries
|
|
|
|
|
|
|
|
in the selected squad or position to use a specific weapon type matching the assigned
|
|
|
|
|
|
|
|
unit's top skill. If the cursor is in the rightmost list over a weapon entry, it rewrites
|
|
|
|
|
|
|
|
only that entry, and does it even if it is not 'individual choice'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rationale: individual choice seems to be unreliable when there is a weapon shortage,
|
|
|
|
|
|
|
|
and may lead to inappropriate weapons being selected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/clone-uniform
|
|
|
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bind to a key (the example config uses Ctrl-C), and activate in the Uniforms
|
|
|
|
|
|
|
|
page of the military screen with the cursor in the leftmost list.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When invoked, the script duplicates the currently selected uniform template,
|
|
|
|
|
|
|
|
and selects the newly created copy.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/guide-path
|
|
|
|
gui/guide-path
|
|
|
|
==============
|
|
|
|
==============
|
|
|
|
|
|
|
|
|
|
|
@ -2691,55 +2778,6 @@ the cursor over a Guide order.
|
|
|
|
The script displays the cached path that will be used by the order; the game
|
|
|
|
The script displays the cached path that will be used by the order; the game
|
|
|
|
computes it when the order is executed for the first time.
|
|
|
|
computes it when the order is executed for the first time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/workshop-job
|
|
|
|
|
|
|
|
================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bind to a key (the example config uses Alt-A), and activate with a job selected in
|
|
|
|
|
|
|
|
a workshop in the 'q' mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/workshop-job.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The script shows a list of the input reagents of the selected job, and allows changing
|
|
|
|
|
|
|
|
them like the ``job item-type`` and ``job item-material`` commands.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Specifically, pressing the 'i' key pops up a dialog that lets you select an item
|
|
|
|
|
|
|
|
type from a list.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/workshop-job-item.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pressing 'm', unless the item type does not allow a material,
|
|
|
|
|
|
|
|
lets you choose a material.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/workshop-job-material.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Since there are a lot more materials than item types, this dialog is more complex
|
|
|
|
|
|
|
|
and uses a hierarchy of sub-menus. List choices that open a sub-menu are marked
|
|
|
|
|
|
|
|
with an arrow on the left.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. warning::
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Due to the way input reagent matching works in DF, you must select an item type
|
|
|
|
|
|
|
|
if you select a material, or the material will be matched incorrectly in some cases.
|
|
|
|
|
|
|
|
If you press 'm' without choosing an item type, the script will auto-choose it
|
|
|
|
|
|
|
|
if there is only one valid choice, or pop up an error message box instead of the
|
|
|
|
|
|
|
|
material selection dialog.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note that both materials and item types presented in the dialogs are filtered
|
|
|
|
|
|
|
|
by the job input flags, and even the selected item type for material selection,
|
|
|
|
|
|
|
|
or material for item type selection. Many jobs would let you select only one
|
|
|
|
|
|
|
|
input item type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For example, if you choose a *plant* input item type for your prepare meal job,
|
|
|
|
|
|
|
|
it will only let you select cookable materials.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you choose a *barrel* item instead (meaning things stored in barrels, like
|
|
|
|
|
|
|
|
drink or milk), it will let you select any material, since in this case the
|
|
|
|
|
|
|
|
material is matched against the barrel itself. Then, if you select, say, iron,
|
|
|
|
|
|
|
|
and then try to change the input item type, now it won't let you select *plant*;
|
|
|
|
|
|
|
|
you have to unset the material first.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/workflow
|
|
|
|
gui/workflow
|
|
|
|
============
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
|
@ -2802,106 +2840,52 @@ of stock history for the selected item, with the rightmost point representing
|
|
|
|
the current stock value. The bright green dashed line is the target
|
|
|
|
the current stock value. The bright green dashed line is the target
|
|
|
|
limit (maximum) and the dark green line is that minus the gap (minimum).
|
|
|
|
limit (maximum) and the dark green line is that minus the gap (minimum).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/workshop-job
|
|
|
|
|
|
|
|
================
|
|
|
|
|
|
|
|
|
|
|
|
gui/assign-rack
|
|
|
|
Bind to a key (the example config uses Alt-A), and activate with a job selected in
|
|
|
|
===============
|
|
|
|
a workshop in the 'q' mode.
|
|
|
|
|
|
|
|
|
|
|
|
Bind to a key (the example config uses P), and activate when viewing a weapon
|
|
|
|
|
|
|
|
rack in the 'q' mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/assign-rack.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This script is part of a group of related fixes to make the armory storage
|
|
|
|
|
|
|
|
work again. The existing issues are:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Weapon racks have to each be assigned to a specific squad, like with
|
|
|
|
|
|
|
|
beds/boxes/armor stands and individual squad members, but nothing in
|
|
|
|
|
|
|
|
the game does this. This issue is what this script addresses.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Even if assigned by the script, **the game will unassign the racks again without a binary patch**.
|
|
|
|
|
|
|
|
This patch is called ``weaponrack-unassign``, and can be applied via
|
|
|
|
|
|
|
|
the binpatch program, or the matching script. See this for more info
|
|
|
|
|
|
|
|
about the bug:
|
|
|
|
|
|
|
|
http://www.bay12games.com/dwarves/mantisbt/view.php?id=1445
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Haulers still take equpment stored in the armory away to the stockpiles,
|
|
|
|
|
|
|
|
unless the ``fix-armory`` plugin above is used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The script interface simply lets you designate one of the squads that
|
|
|
|
|
|
|
|
are assigned to the barracks/armory containing the selected stand as
|
|
|
|
|
|
|
|
the intended user. In order to aid in the choice, it shows the number
|
|
|
|
|
|
|
|
of currently assigned racks for every valid squad.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/advfort
|
|
|
|
|
|
|
|
===========
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This script allows to perform jobs in adventure mode. For more complete help
|
|
|
|
|
|
|
|
press '?' while script is running. It's most confortable to use this as a
|
|
|
|
|
|
|
|
keybinding. (e.g. keybinding set Ctrl-T gui/advfort). Possible arguments:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* -a or --nodfassign - uses different method to assign items.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* -i or --inventory - checks inventory for possible items to use in the job.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* -c or --cheat - relaxes item requirements for buildings (e.g. walls from bones).
|
|
|
|
|
|
|
|
implies -a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* job - selects that job (e.g. Dig or FellTree)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An example of player digging in adventure mode:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/advfort.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. admonition:: DISCLAIMER
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
advfort changes only persist in non procedural sites. Namely: player forts, caves, camps.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/companion-order
|
|
|
|
|
|
|
|
===================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A script to issue orders for companions. Select companions with lower case chars, issue orders with upper
|
|
|
|
|
|
|
|
case. Must be in look or talk mode to issue command on tile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/companion-order.png
|
|
|
|
.. image:: images/workshop-job.png
|
|
|
|
|
|
|
|
|
|
|
|
* move - orders selected companions to move to location. If companions are following they will move no more than 3 tiles from you.
|
|
|
|
The script shows a list of the input reagents of the selected job, and allows changing
|
|
|
|
* equip - try to equip items on the ground.
|
|
|
|
them like the ``job item-type`` and ``job item-material`` commands.
|
|
|
|
* pick-up - try to take items into hand (also wield)
|
|
|
|
|
|
|
|
* unequip - remove and drop equipment
|
|
|
|
|
|
|
|
* unwield - drop held items
|
|
|
|
|
|
|
|
* wait - temporarily remove from party
|
|
|
|
|
|
|
|
* follow - rejoin the party after "wait"
|
|
|
|
|
|
|
|
* leave - remove from party (can be rejoined by talking)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gui/gm-editor
|
|
|
|
Specifically, pressing the 'i' key pops up a dialog that lets you select an item
|
|
|
|
=============
|
|
|
|
type from a list.
|
|
|
|
|
|
|
|
|
|
|
|
There are three ways to open this editor:
|
|
|
|
.. image:: images/workshop-job-item.png
|
|
|
|
|
|
|
|
|
|
|
|
* using gui/gm-editor command/keybinding - opens editor on what is selected
|
|
|
|
Pressing 'm', unless the item type does not allow a material,
|
|
|
|
or viewed (e.g. unit/item description screen)
|
|
|
|
lets you choose a material.
|
|
|
|
|
|
|
|
|
|
|
|
* using gui/gm-editor <lua command> - executes lua command and opens editor on
|
|
|
|
.. image:: images/workshop-job-material.png
|
|
|
|
its results (e.g. gui/gm-editor "df.global.world.items.all" shows all items)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* using gui/gm-editor dialog - shows an in game dialog to input lua command. Works
|
|
|
|
|
|
|
|
the same as version above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/gm-editor.png
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This editor allows to change and modify almost anything in df. Press '?' for an
|
|
|
|
Since there are a lot more materials than item types, this dialog is more complex
|
|
|
|
in-game help.
|
|
|
|
and uses a hierarchy of sub-menus. List choices that open a sub-menu are marked
|
|
|
|
|
|
|
|
with an arrow on the left.
|
|
|
|
|
|
|
|
|
|
|
|
gui/mod-manager
|
|
|
|
.. warning::
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A way to simply install and remove small mods. It looks for specially formatted mods in
|
|
|
|
Due to the way input reagent matching works in DF, you must select an item type
|
|
|
|
df subfolder 'mods'. Mods are not included, for example mods see: `github mini mod repository <https://github.com/warmist/df-mini-mods>`_
|
|
|
|
if you select a material, or the material will be matched incorrectly in some cases.
|
|
|
|
|
|
|
|
If you press 'm' without choosing an item type, the script will auto-choose it
|
|
|
|
|
|
|
|
if there is only one valid choice, or pop up an error message box instead of the
|
|
|
|
|
|
|
|
material selection dialog.
|
|
|
|
|
|
|
|
|
|
|
|
.. image:: images/mod-manager.png
|
|
|
|
Note that both materials and item types presented in the dialogs are filtered
|
|
|
|
|
|
|
|
by the job input flags, and even the selected item type for material selection,
|
|
|
|
|
|
|
|
or material for item type selection. Many jobs would let you select only one
|
|
|
|
|
|
|
|
input item type.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For example, if you choose a *plant* input item type for your prepare meal job,
|
|
|
|
|
|
|
|
it will only let you select cookable materials.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you choose a *barrel* item instead (meaning things stored in barrels, like
|
|
|
|
|
|
|
|
drink or milk), it will let you select any material, since in this case the
|
|
|
|
|
|
|
|
material is matched against the barrel itself. Then, if you select, say, iron,
|
|
|
|
|
|
|
|
and then try to change the input item type, now it won't let you select *plant*;
|
|
|
|
|
|
|
|
you have to unset the material first.
|
|
|
|
|
|
|
|
|
|
|
|
=============
|
|
|
|
=============
|
|
|
|
Behavior Mods
|
|
|
|
Behavior Mods
|
|
|
@ -2917,7 +2901,6 @@ objects to add features not otherwise present.
|
|
|
|
technical challenge, and do not represent any long-term plans to produce more
|
|
|
|
technical challenge, and do not represent any long-term plans to produce more
|
|
|
|
similar modifications of the game.
|
|
|
|
similar modifications of the game.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Siege Engine
|
|
|
|
Siege Engine
|
|
|
|
============
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
|
|