Improvements to dreamfort, quickfort keystroke aliases, and example orders (#2162)

* add alt-f as a hotkey for quickfort

to mimic the existing windows hotkey for the old quickfort
hopefully this will ease the transition from the old quickfort to the
new

* add and document new quickfort aliases

* reduce quantity requirement for dyeing

15 is just too high. the counter counts bags, not units

* dreamfort blueprint improvements

most of these suggested by ldog on the forums. Thanks!
- significantly extend the list of hostile creatures that get stashed in the prisoner quantum stockpile
- send adamantine thread to the metalworker stockpiles
- give from thread/cloth stockpiles to clothier, loom, and dyer to protect the adamantine thread
- automatically create tavern, library, and temple locations (restricted to residents only by default)
- automatically associate the rented rooms with the tavern
- place a stockpile under the dump zone so you can set up stockpile links for dumped items
- doc improvements. in particular, point people to the new assign-minecarts tool for assigning minecarts to quantum stockpile dumps

* update changelog

* fix typo in cloth stockpile settings

* fix typo in guildhall location setup

* don't restrict stockpiles for clothiers and dyers

* deprecate jugs alias and add stone|woodentools

* remove dye thread, make jugs wooden

remove dye thread to protect adamantine
make jugs wooden to differentiate them from scroll rollers. that gives
us a chance to actually have a usable jugs-only stockpile

* dreamfort improvements

- move trap corridor gates and levers before the walls and traps so they get
  constructed first
- give useful names to the craftsdwarf's workshops
- redesign the services level to:
  - fit better in a 1x1 embark
  - add doors to the hospital recovery rooms to protect from
    werebeasts-to-be
  - add an interrogation room (sheriff's office) next to the jail

* shape hospital zone to exactly the hospital area

* don't clutter the hospital with statues

* update changelog
develop
Myk 2022-06-02 15:51:45 -07:00 committed by GitHub
parent ea44be9b94
commit ed2ba69713
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 735 additions and 632 deletions

File diff suppressed because it is too large Load Diff

@ -563,37 +563,6 @@
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
"flags" :
[
"collected",
"dyeable"
],
"item_type" : "THREAD",
"value" : 5
},
{
"condition" : "AtLeast",
"flags" :
[
"unrotten",
"dye"
],
"value" : 15
}
],
"job" : "DyeThread"
},
{
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 18,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
@ -611,7 +580,7 @@
"unrotten",
"dye"
],
"value" : 15
"value" : 3
}
],
"job" : "DyeCloth"
@ -620,7 +589,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 19,
"id" : 18,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -655,20 +624,14 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 20,
"id" : 19,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
[
{
"condition" : "AtLeast",
"flags" :
[
"non_economic",
"hard"
],
"item_type" : "BOULDER",
"material" : "INORGANIC",
"item_type" : "WOOD",
"value" : 20
},
{
@ -684,13 +647,16 @@
],
"item_subtype" : "ITEM_TOOL_JUG",
"job" : "MakeTool",
"material" : "INORGANIC"
"material_category" :
[
"wood"
]
},
{
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 21,
"id" : 20,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -719,7 +685,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 22,
"id" : 21,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -747,7 +713,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 23,
"id" : 22,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -775,7 +741,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 24,
"id" : 23,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -805,7 +771,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 25,
"id" : 24,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -835,7 +801,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 26,
"id" : 25,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -864,7 +830,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 27,
"id" : 26,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -895,7 +861,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 28,
"id" : 27,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -931,7 +897,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 29,
"id" : 28,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -967,7 +933,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 30,
"id" : 29,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1003,7 +969,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 31,
"id" : 30,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1022,9 +988,9 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 32,
"id" : 31,
"is_active" : false,
"is_validated" : true,
"is_validated" : false,
"item_conditions" :
[
{
@ -1048,7 +1014,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 33,
"id" : 32,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1070,7 +1036,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 34,
"id" : 33,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1096,7 +1062,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 35,
"id" : 34,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1122,7 +1088,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 36,
"id" : 35,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1148,7 +1114,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 37,
"id" : 36,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1181,7 +1147,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 38,
"id" : 37,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1220,7 +1186,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 39,
"id" : 38,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1254,7 +1220,7 @@
"amount_left" : 4,
"amount_total" : 4,
"frequency" : "Daily",
"id" : 40,
"id" : 39,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1277,7 +1243,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 41,
"id" : 40,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1301,7 +1267,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 42,
"id" : 41,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1335,7 +1301,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 43,
"id" : 42,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1364,7 +1330,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 44,
"id" : 43,
"is_active" : false,
"is_validated" : false,
"item_conditions" :
@ -1393,9 +1359,9 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 45,
"id" : 44,
"is_active" : false,
"is_validated" : true,
"is_validated" : false,
"item_conditions" :
[
{
@ -1424,7 +1390,7 @@
"amount_left" : 1,
"amount_total" : 1,
"frequency" : "Daily",
"id" : 46,
"id" : 45,
"is_active" : false,
"is_validated" : false,
"item_conditions" :

@ -77,6 +77,11 @@ give10right: {give move={Right 10}}
togglesequence: &{Down}
togglesequence2: &{Down 2}
# these aliases use the DFHack "search" plugin to filter the right column
forbidsearch: s{search}&f{Left}{Right}
permitsearch: s{search}&p{Left}{Right}
togglesearch: s{search}&&{Left}{Right}
masterworkonly: {prefix}{Right}{Up 2}f{Right}{Up 2}&^
artifactonly: {prefix}{Right}{Up 2}f{Right}{Up}&^
@ -116,7 +121,7 @@ plants: {foodprefix}b{Right}{Down 4}p^
booze: {foodprefix}b{Right}{Down 5}p{Down}p^
seeds: {foodprefix}b{Right}{Down 9}p^
dye: {foodprefix}b{Right}{Down 11}{Right}{Down 28}{togglesequence 4}^
tallow: {foodprefix}b{Right}{Down 13}{Right}stallow&p^
tallow: {foodprefix}b{Right}{Down 13}{Right}{permitsearch search=tallow}^
miscliquid: {foodprefix}b{Right}{Down 18}p^
wax: {foodprefix}b{Right}{Down 15}{Right}{Down 6}&^
@ -126,7 +131,7 @@ forbidplants: {foodprefix}{Right}{Down 4}f^
forbidbooze: {foodprefix}{Right}{Down 5}f{Down}f^
forbidseeds: {foodprefix}{Right}{Down 9}f^
forbiddye: {foodprefix}{Right}{Down 11}{Right}{Down 28}{togglesequence 4}^
forbidtallow: {foodprefix}{Right}{Down 13}{Right}stallow&f^
forbidtallow: {foodprefix}{Right}{Down 13}{Right}{forbidsearch search=tallow}^
forbidmiscliquid: {foodprefix}{Right}{Down 18}f^
forbidwax: {foodprefix}{Right}{Down 15}{Right}{Down 6}&^
@ -136,7 +141,7 @@ permitplants: {foodprefix}{Right}{Down 4}p^
permitbooze: {foodprefix}{Right}{Down 5}p{Down}p^
permitseeds: {foodprefix}{Right}{Down 9}p^
permitdye: {forbiddye}
permittallow: {foodprefix}{Right}{Down 13}{Right}stallow&p^
permittallow: {foodprefix}{Right}{Down 13}{Right}{permitsearch search=tallow}^
permitmiscliquid: {foodprefix}{Right}{Down 18}p^
permitwax: {forbidwax}
@ -200,7 +205,8 @@ shells: {refuseprefix}b{Right}{Down 5}p^
teeth: {refuseprefix}b{Right}{Down 6}p^
horns: {refuseprefix}b{Right}{Down 7}p^
hair: {refuseprefix}b{Right}{Down 8}p^
craftrefuse: {skulls}{permitbones}{permitshells}{permitteeth}{permithorns}{permithair}
usablehair: {refuseprefix}b{Right}{Down 8}{Right}{togglesearch search=sheep}{togglesearch search=llama}{togglesearch search=alpaca}{togglesearch search=troll}^
craftrefuse: {skulls}{permitbones}{permitshells}{permitteeth}{permithorns}{permitusablehair}
forbidcorpses: {refuseprefix}{Right}{Down}f^
forbidrawhides: {refuseprefix}{Right 2}{Down}&^
@ -211,7 +217,8 @@ forbidshells: {refuseprefix}{Right}{Down 5}f^
forbidteeth: {refuseprefix}{Right}{Down 6}f^
forbidhorns: {refuseprefix}{Right}{Down 7}f^
forbidhair: {refuseprefix}{Right}{Down 8}f^
forbidcraftrefuse: {forbidskulls}{forbidbones}{forbidshells}{forbidteeth}{forbidhorns}{forbidhair}
forbidusablehair: {refuseprefix}{Right}{Down 8}{Right}{forbidsearch search=sheep}{forbidsearch search=llama}{forbidsearch search=alpaca}{forbidsearch search=troll}^
forbidcraftrefuse: {forbidskulls}{forbidbones}{forbidshells}{forbidteeth}{forbidhorns}{forbidusablehair}
permitcorpses: {refuseprefix}{Right}{Down}p^
permitrawhides: {forbidrawhides}
@ -222,7 +229,8 @@ permitshells: {refuseprefix}{Right}{Down 5}p^
permitteeth: {refuseprefix}{Right}{Down 6}p^
permithorns: {refuseprefix}{Right}{Down 7}p^
permithair: {refuseprefix}{Right}{Down 8}p^
permitcraftrefuse: {permitskulls}{permitbones}{permitshells}{permitteeth}{permithorns}{permithair}
permitusablehair: {refuseprefix}{Right}{Down 8}{Right}{permitsearch search=sheep}{permitsearch search=llama}{permitsearch search=alpaca}{permitsearch search=troll}^
permitcraftrefuse: {permitskulls}{permitbones}{permitshells}{permitteeth}{permithorns}{permitusablehair}
##################################
@ -352,9 +360,11 @@ finishedgoodsprefix: {enter_sp_config}{Down 10}
enablefinishedgoods: {finishedgoodsprefix}e^
disablefinishedgoods: {finishedgoodsprefix}d^
crafts: {finishedgoodsprefix}{Right}f{Right}{Down 9}{togglesequence 9}^
goblets: {finishedgoodsprefix}{Right}f{Right}{Down 2}&^
jugs: {finishedgoodsprefix}{Right}f{Right}{Up 2}&{Left}{Down 2}f{Down}f{Down}f^
crafts: {finishedgoodsprefix}{Right}f{Right}{Down 9}{togglesequence 9}^
goblets: {finishedgoodsprefix}{Right}f{Right}{Down 2}&^
jugs: {finishedgoodsprefix}{Right}f{Right}{Up 2}&{Left}{Down 2}f{Down}f{Down}f^
stonetools: {finishedgoodsprefix}{Right}f{Right}{Up 2}&{Left}{Down 2}f{Down}f{Down}f^
woodentools: {finishedgoodsprefix}{Right}f{Right}{Up 2}&{Left}{Down}f{Down}f{Down}f{Down}f{Right}&^
forbidcrafts: {finishedgoodsprefix}{Right 2}{Down 9}{togglesequence 9}^
forbidgoblets: {finishedgoodsprefix}{Right 2}{Down 2}&^
@ -385,6 +395,15 @@ adamantinethread: {clothprefix}b{Right}{Down 3}p^
cloth: {clothprefix}b{Right}{Down 4}p{Down}p{Down}p^
adamantinecloth: {clothprefix}b{Right}{Up}p^
forbidthread: {clothprefix}{Right}f{Down}f{Down}f^
forbidadamantinethread: {clothprefix}{Right}{Down 3}f^
forbidcloth: {clothprefix}{Right}{Down 4}f{Down}f{Down}f^
forbidadamantinecloth: {clothprefix}{Right}{Up}f^
permitthread: {clothprefix}{Right}p{Down}p{Down}p^
permitadamantinethread: {clothprefix}{Right}{Down 3}p^
permitcloth: {clothprefix}{Right}{Down 4}p{Down}p{Down}p^
permitadamantinecloth: {clothprefix}{Right}{Up}p^
##################################
# weapon stockpile adjustments

@ -36,6 +36,7 @@ keybinding add Ctrl-Alt-S@dwarfmode/Default quicksave
# gui/quickfort script - apply pre-made blueprints to the map
keybinding add Ctrl-Shift-Q@dwarfmode gui/quickfort
keybinding add Alt-F@dwarfmode gui/quickfort
# gui/rename script - rename units and buildings
keybinding add Ctrl-Shift-N gui/rename

@ -43,7 +43,16 @@ changelog.txt uses a syntax similar to RST, with a few special sequences:
## Misc Improvements
- `confirm`: added a confirmation dialog for removing manager orders
- `confirm`: allow players to pause the confirmation dialog until they exit the current screen
- `dfhack-examples-guide`: refine food preparation orders and fix conditions for making jugs and pots in the ``basic`` manager orders
- `dfhack-examples-guide`: refine food preparation orders so meal types are chosen intelligently according to the amount of meals that exist and the number of aviailable items to cook with
- `dfhack-examples-guide`: reduce required stock of dye for "Dye cloth" orders
- `dfhack-examples-guide`: fix material conditions for making jugs and pots
- `dfhack-examples-guide`: make wooden jugs by default to differentiate them from other stone tools. this allows players to more easily select jugs out with a properly-configured stockpile (i.e. the new ``woodentools`` alias)
- `quickfort-alias-guide`: new aliases: ``forbidsearch``, ``permitsearch``, and ``togglesearch`` use the `search-plugin` plugin to alter the settings for a filtered list of item types when configuring stockpiles
- `quickfort-alias-guide`: new aliases: ``stonetools`` and ``woodentools``. the ``jugs`` alias is deprecated. please use ``stonetools`` instead, which is the same as the old ``jugs`` alias.
- `quickfort-alias-guide`: new aliases: ``usablehair``, ``permitusablehair``, and ``forbidusablehair`` alter settings for the types of hair/wool that can be made into cloth: sheep, llama, alpaca, and troll. The ``craftrefuse`` aliases have been altered to use this alias as well.
- `quickfort-alias-guide`: new aliases: ``forbidthread``, ``permitthread``, ``forbidadamantinethread``, ``permitadamantinethread``, ``forbidcloth``, ``permitcloth``, ``forbidadamantinecloth``, and ``permitadamantinecloth`` give you more control how adamantine-derived items are stored
- `quickfort`: `Dreamfort <quickfort-blueprint-guide>` blueprint set improvements: automatically create tavern, library, and temple locations (restricted to residents only by default), automatically associate the rented rooms with the tavern
- `quickfort`: `Dreamfort <quickfort-blueprint-guide>` blueprint set improvements: new design for the services level, including a werebeast-proof hospital recovery rooms and an appropriately-themed interrogation room next to the jail! Also fits better in a 1x1 embark for minimalist players.
## Documentation

@ -521,6 +521,9 @@ give10right
give move
togglesequence
togglesequence2
forbidsearch search
permitsearch search
togglesearch search
masterworkonly prefix
artifactonly prefix
togglemasterwork prefix
@ -588,6 +591,12 @@ four adjacent items::
dye: {foodprefix}b{Right}{Down 11}{Right}{Down 28}{togglesequence 4}^
``forbidsearch``, ``permitsearch``, and ``togglesearch`` use the DFHack
`search-plugin` plugin to forbid or permit a filtered list, or toggle the first
(or only) item in the list. Specify the search string in the ``search``
sub-alias. Be sure to move the cursor over to the right column before invoking
these aliases. The search filter will be cleared before this alias completes.
Finally, the ``masterwork`` and ``artifact`` group of aliases configure the
corresponding allowable core quality for the stockpile categories that have
them. This alias is used to implement category-specific aliases below, like
@ -724,13 +733,16 @@ shells forbidshells permitshells
teeth forbidteeth permitteeth
horns forbidhorns permithorns
hair forbidhair permithair
usablehair forbidusablehair permitusablehair
craftrefuse forbidcraftrefuse permitcraftrefuse
=========== ================== ==================
Notes:
* ``craftrefuse`` includes everything a craftsdwarf can use: skulls, bones,
shells, teeth, horns, and hair.
* ``usablehair`` Only hair and wool that can make usable clothing is included,
i.e. from sheep, llamas, alpacas, and trolls.
* ``craftrefuse`` includes everything a craftsdwarf or tailor can use: skulls,
bones, shells, teeth, horns, and "usable" hair/wool (defined above).
Stone stockpile adjustments
```````````````````````````
@ -802,7 +814,8 @@ Finished goods stockpile adjustments
======================= ============================= =============================
Exclusive Forbid Permit
======================= ============================= =============================
jugs
stonetools
woodentools
crafts forbidcrafts permitcrafts
goblets forbidgoblets permitgoblets
masterworkfinishedgoods forbidmasterworkfinishedgoods permitmasterworkfinishedgoods
@ -812,17 +825,18 @@ artifactfinishedgoods forbidartifactfinishedgoods permitartifactfinishedgo
Cloth stockpile adjustments
```````````````````````````
+------------------+
| Exclusive |
+==================+
| thread |
+------------------+
| adamantinethread |
+------------------+
| cloth |
+------------------+
| adamantinecloth |
+------------------+
================ ====================== ======================
Exclusive Forbid Permit
================ ====================== ======================
thread forbidthread permitthread
adamantinethread forbidadamantinethread permitadamantinethread
cloth forbidcloth permitcloth
adamantinecloth forbidadamantinecloth permitadamantinecloth
================ ====================== ======================
Notes:
* ``thread`` and ``cloth`` refers to all materials that are not adamantine.
Weapon stockpile adjustments
````````````````````````````

@ -1418,15 +1418,10 @@ Tips and tricks
Caveats and limitations
-----------------------
- If you use the ``jugs`` alias in your ``#query``-mode blueprints, be aware
that there is no way to differentiate jugs from other types of tools in the
game. Therefore, ``jugs`` stockpiles will also take nest boxes, scroll
rollers, and other tools. The only workaround is not to have other tools
lying around in your fort.
- Likewise for the ``bags`` alias. The game does not differentiate between
empty and full bags, so you'll get bags of gypsum power in your "bags"
stockpile unless you are careful to assign all your gypsum to your hospital.
- If you use the the ``bags`` alias, be aware that the game does not
differentiate between empty and full bags. Therefore, you can get bags of
gypsum power in your "bags" stockpile unless you are careful to assign all
your gypsum to your hospital.
- Weapon traps and upright spear/spike traps can currently only be built with a
single weapon.