burrow ====== .. dfhack-tool:: :summary: Quickly adjust burrow tiles and units. :tags: fort auto design productivity units This tool has two modes. When enabled, it monitors burrows with names that end in ``+``. If a wall at the edge of such a burrow is dug out, the burrow will be automatically extended to include the newly-revealed adjacent walls. If a miner digs into an open space, such as a cavern, the open space will *not* be included in the burrow. When run as a command, it can quickly adjust which tiles and/or units are associated with the burrow. Usage ----- :: enable burrow burrow tiles|units clear [ ...] [] burrow tiles|units set|add|remove [...] [] burrow tiles box-add|box-remove [] [] [] burrow tiles flood-add|flood-remove [] The burrows can be referenced by name or by the internal numeric burrow ID. If referenced by name, the first burrow that matches the name (case sensitive) will be targeted. If a burrow name ends in ``+`` (to indicate that it should be auto-expanded), the final ``+`` does not need to be specified on the commandline. For ``set``, ``add``, or ``remove`` commands, instead of a burrow, you can specify one of the following all-caps keywords: - ``ABOVE_GROUND`` - ``SUBTERRANEAN`` - ``INSIDE`` - ``OUTSIDE`` - ``LIGHT`` - ``DARK`` - ``HIDDEN`` - ``REVEALED`` to add or remove tiles with the corresponding properties. Flood fill selects tiles spreading out from a starting tile if they: - match the inside/outside and hidden/revealed properties of the starting tile - match the walkability group of the starting tile OR (if the starting tile is walkable) is adjacent to a tile with the same walkability group as the starting tile When flood adding, the flood fill will also stop at any tiles that have already been added to the burrow. Similarly for flood removing, the flood will also stop at tiles that are not in the burrow. Examples -------- ``enable burrow`` Start monitoring burrows that have names ending in '+' and automatically expand them when walls that border the burrows are dug out. ``burrow tiles clear Safety`` Remove all tiles from the burrow named ``Safety`` (in preparation for adding new tiles elsewhere, presumably). ``burrow units clear Farmhouse Workshops`` Remove all units from the burrows named ``Farmhouse`` and ``Workshops``. ``multicmd burrow tiles set Inside INSIDE; burrow tiles remove Inside HIDDEN`` Reset the burrow named ``Inside`` to include all the currently revealed, interior tiles. ``burrow units set "Core Fort" Peasants Skilled`` Clear all units from the burrow named ``Core Fort``, then add units currently assigned to the ``Peasants`` and ``Skilled`` burrows. ``burrow tiles box-add Safety 0,0,0`` Add all tiles to the burrow named ``Safety`` that are within the volume of the box starting at coordinate 0, 0, 0 (the upper left corner of the bottom level) and ending at the current location of the keyboard cursor. ``burrow tiles flood-add Safety --cur-zlevel`` Flood-add the tiles on the current z-level with the same properties as the tile under the keyboard cursor to the burrow named ``Safety``. Options ------- ``-c``, ``--cursor `` Indicate the starting position of the box or flood fill. If not specified, the position of the keyboard cursor is used. ``-z``, ``--cur-zlevel`` Restricts a flood fill operation to the currently visible z-level. Note ---- If you are auto-expanding a burrow (whose name ends in a ``+``) and the miner who is digging to expand the burrow is assigned to that burrow, then 1-wide corridors that expand the burrow will have very slow progress. This is because the burrow is expanded to include the next dig job only after the miner has chosen a next tile to dig, which may be far away. 2-wide cooridors are much more efficient when expanding a burrow since the "next" tile to dig will still be nearby. Overlay ------- When painting burrows in the vanilla UI, a few extra mouse operations are supported. If you box select across multiple z-levels, you will be able to select the entire volume instead of just the selected area on the z-level that you are currently looking at. In addition, double-clicking will start a flood fill from the target tile. The box and flood fill actions respect the UI setting for whether the burrow is being added to or erased.