<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Myk002</id>
	<title>Dwarf Fortress Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Myk002"/>
	<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php/Special:Contributions/Myk002"/>
	<updated>2026-05-09T18:34:34Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Experience&amp;diff=305646</id>
		<title>Experience</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Experience&amp;diff=305646"/>
		<updated>2024-12-29T08:19:20Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Reported Experience */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{migrated article}}&lt;br /&gt;
{{Quality|Unrated}}&lt;br /&gt;
{{av}}&lt;br /&gt;
&lt;br /&gt;
'''Experience''' is a number which describes how much a dwarf has practiced a [[skill]]. As a dwarf uses a skill, they slowly gain experience. After gaining sufficient experience, the dwarf's skill level will advance, and they will earn a new title describing their increased ability to use that skill. The effects of this experience gain vary from skill to skill -- for some skills the dwarf will complete their work faster, for others the dwarf will produce a higher-quality product, and for a small number of skills the gain will have no effect.&lt;br /&gt;
&lt;br /&gt;
== Experience earned per job ==&lt;br /&gt;
Most civilian skills give 30 XP per use, plus 30 more for each new item ''with [[quality]] levels'' produced. [http://www.bay12forums.com/smf/index.php?topic=96501] (That's 60 XP total for most crafting jobs. &lt;br /&gt;
[[Decoration]]s and generic items like [[block]]s do not grant this additional experience.) Four exceptions to this rule are [[smoothing]], carving [[fortifications]], [[engraving]] and [[mining]], which each give only 10 XP per use. Military skills have variable increases, with more XP gained from real combat than from training. A dwarf taken by any [[strange mood]] (except a [[Mood#Possessed|possession]]) will gain 20,000 experience in the affected skill upon completion of the artifact. By looking at a dwarf's [[Thoughts and Preferences|thoughts and preferences]], thoughts of skill increases can be found, whether it's learning a skill or teaching it:&lt;br /&gt;
&lt;br /&gt;
{{DFtext|She felt|7:0}}{{DFtext| satisfied|2:0:1}}{{DFtext| at work. She felt|7:0}}{{DFtext| satisfied|2:0:1}}{{DFtext| upon improving mining.|7:0}}&amp;lt;br /&amp;gt;&lt;br /&gt;
{{DFtext|He felt|7:0}}{{DFtext| satisfied|2:0:1}}{{DFtext| after teaching striking.|7:0}}&lt;br /&gt;
&lt;br /&gt;
== Reported Experience ==&lt;br /&gt;
In Adventure mode the game reports exact experience. However, in Fortress mode, a dwarf's exact amount of experience is never shown ([[DFHack]] has this implemented for fortress mode if you have it installed). To glean a general sense of how experienced a dwarf is, compare the dwarf's title and skill level with the table below. The title and skill level are shown when {{K|v}}iewing the dwarf, pressing {{K|g}}, and then either {{K|c}}, {{K|b}}, or {{K|m}}.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin: 0 auto; border: 1px solid black; border-spacing: 0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; style=&amp;quot;border-right: 1px solid black;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! Lvl !! Title !! XP&lt;br /&gt;
|-&lt;br /&gt;
| 0 || None/Dabbling *    ||align=&amp;quot;right&amp;quot;| 1&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Novice       ||align=&amp;quot;right&amp;quot;| 500&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Adequate     ||align=&amp;quot;right&amp;quot;| 1100&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Competent    ||align=&amp;quot;right&amp;quot;| 1800&lt;br /&gt;
|-&lt;br /&gt;
| 4 || Skilled      ||align=&amp;quot;right&amp;quot;| 2600&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Proficient ** ||align=&amp;quot;right&amp;quot;| 3500&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Talented     ||align=&amp;quot;right&amp;quot;| 4500&lt;br /&gt;
|}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; style=&amp;quot;border-right: 1px solid black;&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! Lvl !! Title !! XP&lt;br /&gt;
|-&lt;br /&gt;
| 7  || Adept        ||align=&amp;quot;right&amp;quot;| 5600&lt;br /&gt;
|-&lt;br /&gt;
| 8  || Expert       ||align=&amp;quot;right&amp;quot;| 6800&lt;br /&gt;
|-&lt;br /&gt;
| 9  || Professional ||align=&amp;quot;right&amp;quot;| 8100&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Accomplished ||align=&amp;quot;right&amp;quot;| 9500&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Great †        ||align=&amp;quot;right&amp;quot;| 11000&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Master       ||align=&amp;quot;right&amp;quot;| 12600&lt;br /&gt;
|-&lt;br /&gt;
| 13 || High Master  ||align=&amp;quot;right&amp;quot;| 14300&lt;br /&gt;
|}&lt;br /&gt;
| width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! Lvl !! Title !! XP&lt;br /&gt;
|-&lt;br /&gt;
| 14 || Grand Master  ||align=&amp;quot;right&amp;quot;| 16100&lt;br /&gt;
|-&lt;br /&gt;
| 15 || Legendary     ||align=&amp;quot;right&amp;quot;| 18000&lt;br /&gt;
|-&lt;br /&gt;
| 16 || Legendary+1 ‡ ||align=&amp;quot;right&amp;quot;| 20000&lt;br /&gt;
|-&lt;br /&gt;
| 17 || Legendary+2 ‡ ||align=&amp;quot;right&amp;quot;| 22100&lt;br /&gt;
|-&lt;br /&gt;
| 18 || Legendary+3 ‡ ||align=&amp;quot;right&amp;quot;| 24300&lt;br /&gt;
|-&lt;br /&gt;
| 19 || Legendary+4 ‡ ||align=&amp;quot;right&amp;quot;| 26600&lt;br /&gt;
|-&lt;br /&gt;
| 20 || Legendary+5 ‡ ||align=&amp;quot;right&amp;quot;| 29000&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
To reach ''Novice'' level in any skill requires 500 XP. Reaching each successive level requires 500 plus an additional 100 XP per additional rank, so to go from ''Novice'' to ''Adequate'' requires 600 XP; ''Adequate'' to ''Competent'' requires 700 XP, and so on. So, with most skills, getting an unskilled dwarf to Novice (Level 1) will take 17 tasks, to get to Proficient (Level 5, the highest for a starting dwarf) will take 117 tasks total, and to get to Legendary will take 600 tasks total (without the right [[mood]]).  It will take 484 ''additional'' tasks to skill a starting Level 5 dwarf up to Legendary.&lt;br /&gt;
&lt;br /&gt;
::::''Notes:''&lt;br /&gt;
:::::&amp;lt;nowiki&amp;gt;  *&amp;lt;/nowiki&amp;gt; Dwarves with no skill experience are referred to as &amp;quot;not &amp;lt;skill&amp;gt;&amp;quot; during embark. After embark, skills with 0 experience will not be displayed when {{K|v}}iewing a dwarf. Upon getting any experience, but before achieving &amp;quot;Novice&amp;quot;, dwarf skills are listed as &amp;quot;Dabbling&amp;quot;.  For the purposes of a [[strange mood]], skills with 0 experience are a lower level than Dabbling.&lt;br /&gt;
:::::&amp;lt;nowiki&amp;gt;  **&amp;lt;/nowiki&amp;gt; This is the highest skill level possible for one of your starting dwarves.&lt;br /&gt;
:::::† Once soldiers reach this level in a weapon skill, they will become a [[Soldier#Heroes|hero]] and no longer complain about long patrol duty.&lt;br /&gt;
:::::‡ These levels are not shown in-game, but they do have an effect. An ordinary legendary dwarf produces a significant proportion of superior quality goods while a legendary+5 dwarf is guaranteed at least exceptional quality, barring effects like tiredness and hunger. After 31,600 experience the levels are unlabelled but continue to be displayed as Legendary. There appears to be no upper limit to experience levels.&lt;br /&gt;
&lt;br /&gt;
== Loss of Experience ==&lt;br /&gt;
Experience can only be lost when a dwarf goes many months without using a skill, resulting in the skill becoming [[rusty]]. The initial stages of rust are reversible, but advanced stages result in permanent loss of experience.&lt;br /&gt;
{{Category|Game mechanics}}&lt;br /&gt;
[[Ru:Experience]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Digging_designation_canceled&amp;diff=305594</id>
		<title>Digging designation canceled</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Digging_designation_canceled&amp;diff=305594"/>
		<updated>2024-12-27T15:28:53Z</updated>

		<summary type="html">&lt;p&gt;Myk002: Add information about DFHack warm/damp dig mode&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Exceptional}}&lt;br /&gt;
{{av}}&lt;br /&gt;
This error message pauses the game and zooms to the location where the warm or damp stone was located.&lt;br /&gt;
&lt;br /&gt;
[[File:warm_stone_preview.png|right]]Warm or damp stone can be very dangerous, as it indicates the presence of nearby [[magma]] or [[water]], respectively. However, the stone could be warm/damp because the magma/water is beside the tile, directly above the tile, or directly below the tile - and, most of the time, ''you don't know which''. You will only know if you are near the surface and find the damp stone below a known [[murky pool]] or [[river]].&lt;br /&gt;
&lt;br /&gt;
[[File:Damp Stone Butcher.png|thumb|right|In this case, digging the room around the butcher was cancelled due to the last, bottom right tile being below the pool floor. The pool is known since it is on the surface. Note that it was possible to dig below the upper level's damp tiles of clay.]]The safest thing to do is back off several tiles, mine up a [[z-level]] then approach the location again. Rinse and repeat until you emerge above the surface of the magma/water. Note that you will not receive warnings when digging staircases upward. If you plan on digging a staircase to a higher z-level, make sure there are no heavy [[aquifer]]s or [[magma]] in your way!&lt;br /&gt;
&lt;br /&gt;
 Side Profile: &lt;br /&gt;
 &lt;br /&gt;
    Below tile   Beside tile  Above tile            Key&lt;br /&gt;
 &lt;br /&gt;
      #######     #######      #######          # Unmined stone&lt;br /&gt;
  ↑   __o&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;#&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;#&amp;lt;/font&amp;gt;##     ###&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;##      ###&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;##          &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;#&amp;lt;/font&amp;gt; Warm stone&lt;br /&gt;
  z   ##&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;#     _o&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;#&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;~~#&amp;lt;/font&amp;gt;#      ##&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;#          &amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;#&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt; Square that was just canceled&lt;br /&gt;
 axis ##&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;#     ##&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;#      ##&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;#          &amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;~&amp;lt;/font&amp;gt; Magma&lt;br /&gt;
  ↓   ###&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;##     ###&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;##      __o&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;&amp;lt;b&amp;gt;#&amp;lt;/b&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;#&amp;lt;/font&amp;gt;##          _ Floor of the tunnel&lt;br /&gt;
      #######     #######      #######          o Miner&lt;br /&gt;
&lt;br /&gt;
Only in the middle case would it be unsafe to mine out the square that had just been canceled: In the first and last cases, there would be a floor between your miner and the fluid.&lt;br /&gt;
&lt;br /&gt;
If the damp stone is due to an aquifer, empty tiles next to damp stone will fill with water, either slowly with a light aquifer, or quickly.&lt;br /&gt;
&lt;br /&gt;
The announcements can be changed to add recentering and pausing, either in the [[settings]], or by editing [[announcements.txt]].&lt;br /&gt;
&lt;br /&gt;
If you have [[DFHack]] installed, you will have the option to enable &amp;quot;Damp dig&amp;quot; or &amp;quot;Warm dig&amp;quot; mode. If you do not want to have your digging designations canceled, for example when digging minerals out of a light aquifer, you can enable the appropriate mode when you designate the tiles for digging. Click on the toolbar icon to set your desired mode.&lt;br /&gt;
&lt;br /&gt;
[[File:Dfhack damp dig.png|thumb|Digging toolbar with DFHack damp dig enabled]]&lt;br /&gt;
&lt;br /&gt;
In this screenshot, the upper row is designated without any special mode. The second row is designated with damp dig enabled. The third row is designated with warm dig enabled. The fourth row is designated with both damp and warm dig modes enabled.&lt;br /&gt;
&lt;br /&gt;
In ASCII mode, tiles designated in warm and/or damp dig mode will flash in an appropriate color.&lt;br /&gt;
&lt;br /&gt;
There are also options to retroactively enable damp or warm dig mode for existing designations on a z-level.&lt;br /&gt;
&lt;br /&gt;
{{Errors FAQ}}&lt;br /&gt;
{{Water FAQ}}&lt;br /&gt;
{{Magma FAQ}}&lt;br /&gt;
{{Category|Errors}}{{Category|Designations}}&lt;br /&gt;
[[ru:Digging designation canceled]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Dfhack_damp_dig.png&amp;diff=305593</id>
		<title>File:Dfhack damp dig.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Dfhack_damp_dig.png&amp;diff=305593"/>
		<updated>2024-12-27T15:22:51Z</updated>

		<summary type="html">&lt;p&gt;Myk002: Myk002 uploaded a new version of File:Dfhack damp dig.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Digging toolbar with DFHack damp dig enabled&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Dfhack_damp_dig.png&amp;diff=305592</id>
		<title>File:Dfhack damp dig.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Dfhack_damp_dig.png&amp;diff=305592"/>
		<updated>2024-12-27T15:17:28Z</updated>

		<summary type="html">&lt;p&gt;Myk002: Digging toolbar with DFHack damp dig enabled&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Digging toolbar with DFHack damp dig enabled&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Workshop&amp;diff=305591</id>
		<title>Workshop</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Workshop&amp;diff=305591"/>
		<updated>2024-12-27T15:11:38Z</updated>

		<summary type="html">&lt;p&gt;Myk002: add information about setting min/max skill level and labor restrictions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Unrated}}&lt;br /&gt;
{{av}}&lt;br /&gt;
[[File:workshop_preview.png|right]]'''Workshops''' are [[building]]s where materials are processed by dwarves into more valuable or useful items. There are a total of 31 workshops: 14 first tier, 11 second tier and 6 third tier across the game's various [[industry|industries]].&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
[[Image:DFflowchart.png|thumb|200px|'''Production flowchart for most workshops'''.&amp;lt;br /&amp;gt; Not all items are represented!&amp;lt;br /&amp;gt;''(Click to enlarge)'']]Anything that is created, refined, cooked, altered, decorated, or generally &amp;quot;produced&amp;quot; is processed at a workshop. There are many different types of workshops, for different purposes and different finished products. Just as they have specific products associated with them, they have specific labors that are required by dwarves to build them or to work there, and dwarves with more of the appropriate skill tend to produce higher [[quality]] objects*, and/or produce them faster.&lt;br /&gt;
&lt;br /&gt;
(* ''if the finished product has any quality modifiers - not all do: Processed milk is just [[cheese]], a [[stone]] block is just a stone [[block]], and a tanned hide is just [[leather]], etc''.)&lt;br /&gt;
&lt;br /&gt;
You can use the workshop interface to restrict the use of individual workshops to specific dwarves, called workshop Masters, to create workshop-specific [[work orders]], and limit how individual workshops accept general work orders.&lt;br /&gt;
&lt;br /&gt;
Almost all workshops measure 3 tiles square, 3×3, but a few are 5×5, or even a single tile.&lt;br /&gt;
&lt;br /&gt;
===Operation===&lt;br /&gt;
When there are items ordered at a workshop, the workshop will generate item creation jobs until it finds a suitable dwarf with appropriate labors (and skill level and so on if those are set in the workshop orders). When the dwarf is found, an A will appear next to the job in the workshop queue, and the following will happen:&lt;br /&gt;
&lt;br /&gt;
# The dwarf comes to the workshop.&lt;br /&gt;
# The dwarf finds a suitable nearby (or the farthest) raw material. (if any stockpiles are set to give to the workshop, only linked stockpiles will be looked in!)&lt;br /&gt;
# The dwarf fetches all the necessary ingredients and brings them to the workshop.&lt;br /&gt;
# The dwarf labors in the workshop for a while and creates the item.&lt;br /&gt;
# The dwarf brings the finished item to the nearest suitable stockpile. (see #2 for linked stockpiles)&lt;br /&gt;
# At this point, the workshop goes to the next queued item, and starts looking for a suitable dwarf again - it's most probable that the dwarf who just finished the item is nearby and will be recruited again for another job.&lt;br /&gt;
&lt;br /&gt;
If you have no [[stockpile]]s to put finished objects in, workshops will become [[clutter]]ed. You can see the clutter by checking the contents of the workshop by clicking on it. The more items there are, the longer tasks will take.&lt;br /&gt;
&lt;br /&gt;
If you have only one dwarf with the appropriate labors, and the task of fetching items takes a long time because the stockpiles are far away, then they will execute far fewer jobs before it's time for a break. If you have many dwarves, then recruitment of another one will waste time since they are far away. Therefore, in either situation, it's in your interest to put the stockpiles as close as possible to the workshop.&lt;br /&gt;
&lt;br /&gt;
===Interface===&lt;br /&gt;
A workshop's interface is accessed by clicking on it.  This will open a new window showing the properties and controls of the workshop.  The top section will show the name of the workshop; buttons to control its links to stockpiles, to rename it, and to deconstruct it; the tabs for Tasks, Workers, and Work orders; and the list of currently queued tasks and the button to add new tasks.  The bottom section shows the current contents of the workshop, including the item that was used to construct the workshop.&lt;br /&gt;
&lt;br /&gt;
The '''Tasks tab''' shows the current list of tasks, and is what allows you to queue up new tasks to be carried out immediately. Tasks are carried out in the order they are listed, with the current task being the topmost in the list.&lt;br /&gt;
&lt;br /&gt;
To queue up a new task:&lt;br /&gt;
# Click the ''Add new task'' button to open up the list of valid tasks for this workshop. Tasks that can currently be queued will be in white text, while tasks that cannot be currently queued will be in orange text with red text beneath them indicating why they are not available (typically lacking a required material).&lt;br /&gt;
# Click on the task you want the workshop to perform.  This will close the list and the task will be added to the bottom of the queue.&lt;br /&gt;
&lt;br /&gt;
Each task will have a series of buttons beside it, allowing you to control certain aspects of how that task is carried out:&lt;br /&gt;
* The active task icon (a page and green check mark); this isn't a button, but indicates which task is currently being done.&lt;br /&gt;
* The repeat task button (two circling arrows) tells the workshop to continually repeat the task until it is either manually cancelled by the player or the workshop runs out of materials required for the task.&lt;br /&gt;
* The highest priority button (yellow exclamation point) which instructs the workshop to carry out the task with the highest possible priority. This is useful for emergency lever-pulling and other time-critical tasks.&lt;br /&gt;
* The increase priority button (orange up arrow), which moves the task higher in the task queue, to be carried out sooner.&lt;br /&gt;
* The details button (magnifying glass), which allows you to specify certain details of the task, such as choosing the material(s) to be used, the size of the resulting item (eg. clothing for difference species), or the imagery to be used in creating an artistic work.&lt;br /&gt;
* The pause button, which pauses the task until pressed again. A paused task does not prevent the workshop from continuing through the rest of its queue, it is simply skipped over.&lt;br /&gt;
* The cancel task button (red X), which deletes the task from the queue.&lt;br /&gt;
&lt;br /&gt;
The '''Workers tab''' allows you to assign a Master to the workshop, restricting its use to that dwarf alone. Only one Master may be assigned to a given workshop. This can be useful if you want to restrict your highest-quality materials to be used by your most-skilled dwarves: by making them masters of their own workshops and controlling access to materials using stockpile links, those materials don't end up being used for lower-quality items in general workshops.  By default, all workshops start as &amp;quot;This workshop is free for anybody to use.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
To assign a workshop Master:&lt;br /&gt;
# Click on the Workers tab in the workshop interface.&lt;br /&gt;
# Click on the Add dwarf button to bring up the list of your dwarves. Beside each listed dwarf will be a button that will let you toggle them between &amp;quot;free to do any task&amp;quot; and &amp;quot;specialized&amp;quot;.  Dwarves set to &amp;quot;specialized&amp;quot; will only do tasks in their assigned workshops, work details, and occupations.&lt;br /&gt;
# Click on the dwarf's name to make them Master of this workshop.  The list will close and return you to the Workers tab.&lt;br /&gt;
Once a Master is chosen, they will be listed on the Workers tab, along with the specialization toggle button. If you wish to remove them as workshop Master, click the red X button next to their name to return the workshop to general use.&lt;br /&gt;
&lt;br /&gt;
If you have not assigned a workshop Master and have [[DFHack]] installed, you will be able to set a slider for the minimum and maximum skill level that a dwarf must have in order to perform tasks at the workshop. DFHack also provides a selection interface for which labors to enable for the workshop, filtering which general manager jobs the workshop will accept. These are vanilla features that the vanilla UI no longer provides an interface for.&lt;br /&gt;
&lt;br /&gt;
Dwarves with strange moods seem to be able to claim a workshop, even if they do not meet the profile criteria.&lt;br /&gt;
&lt;br /&gt;
The '''Work orders tab''' allows you to set up new [[Work Orders|work orders]] for the workshop, and lists all work orders specific to the workshop. These require the Manager noble position to be filled and operate identically to work orders created by a [[Manager]] (and will appear in the Manager's work order list), except that they apply only to the workshop in which they are created.&lt;br /&gt;
&lt;br /&gt;
At the bottom of the Work orders tab is &amp;quot;General work orders allowed&amp;quot;. This allows you to control how many general (ie. Manager-created) work orders the workshop will accept. The default value is 5.  Setting this to 0 means that the workshop will not accept any general work orders, and will only perform work orders created specifically for that workshop.&lt;br /&gt;
&lt;br /&gt;
==Management==&lt;br /&gt;
As your fortress continues to grow and diversify, it becomes increasingly difficult to keep your workshops fruitfully busy without causing overproduction or underproduction or depleting your resources. Though no process can be truly automated, there are a few tricks to keeping your workshops productive.&lt;br /&gt;
&lt;br /&gt;
===Standing orders===&lt;br /&gt;
[[Standing orders]] provide a rudimentary form of automation for some specific workshops in ''Dwarf Fortress''. Certain goods or materials are only useful for one thing, having no other use and requiring refinement before they can be made into something useful. Thus, standing orders automate certain tasks, queuing them up whenever input materials are available; this behavior may be configured in the &amp;quot;Labor&amp;quot; menu by pressing {{k|y}} or clicking the hammer icon in the bottom left toolbar, and selecting the Standing orders tab. Note that this rudimentary automation performs poorly with multiple workshops, often queuing dwarves to carry the materials to the farthest available workshop.&lt;br /&gt;
* '''Automatically weave all thread''': This option instructs the [[loom]] to weave any thread into cloth whenever it becomes available. There are two other options: Automatically weave dyed thread, which behaves the same except it will only use dyed thread; and No automatic weaving, which disables all automatic weaving.&lt;br /&gt;
* '''Use any cloth''': This option doesn't control any automation, instead restricting whether your [[clothier's shop]]s will use any available cloth, or '''Use only dyed cloth'''.&lt;br /&gt;
* '''Automatically collect webs''': This option instructs the [[loom]] to automatically queue up &amp;quot;Collect webs&amp;quot; tasks whenever spiderwebs become accessible to your dwarves. This can make your dwarves go wandering off into the caverns at some risk.&lt;br /&gt;
* '''Slaughter any marked animal''':  This option instructs the [[butcher's shop]] to queue up a &amp;quot;Slaughter animal&amp;quot; task any time an animal is marked for slaughter.&lt;br /&gt;
* '''Automatically butcher carcasses''': This option instructs the butcher's shop to queue up a &amp;quot;Butcher corpse&amp;quot; task any time a valid, unrotten corpse becomes available nearby. Butcherable corpses have no other use, and will [[rot]] if not processed quickly.&lt;br /&gt;
* '''Automatically clean fish''': This option instructs the [[fishery]] to queue up a &amp;quot;Prepare a raw fish&amp;quot; task any time an unrotten unprepared fish becomes available. Unprepared fish is not edible as-is and rots quickly, so leaving this on is recommended if your fort has a fishing industry.&lt;br /&gt;
* '''Automate kitchen''': This option instructs the [[kitchen]] to queue up a &amp;quot;Render fat to [[tallow]]&amp;quot; task any time a glob of fat becomes available from butchering an animal. The resulting tallow is useful for making [[soap]] and as a low-value &amp;quot;solid&amp;quot; cooking ingredient, however you will likely end up with an overabundance of tallow. Since the original fat apparently doesn't rot, and the rendering job is slow and tends to distract your head cook when he should be cooking the quickly-expiring meat instead, it is often more convenient to disable the automatic rendering and manually queue the job (on an auxiliary kitchen) if you somehow run low on tallow.&lt;br /&gt;
* '''Automate tannery''': This option instructs the [[tanner's shop]] to queue up a &amp;quot;Tan a hide&amp;quot; task any time an unrotten animal skin becomes available from butchering an animal. Skins will rot quickly if left untreated, so leaving this enabled can be useful; however, players processing skin into [[parchment]] will probably want to disable automatic tanning.&lt;br /&gt;
&lt;br /&gt;
===Repetition===&lt;br /&gt;
You can queue up to ten tasks in any workshop, and tell the dwarves to repeat any or all of them for as long as possible. This is most useful if you want to process all of a resource that you have into something usable (such as [[lye]] and [[tallow]] into [[soap]]), but don't know how much you have, or can't be bothered with exact numbers. If you want to keep a workshop busy, repeating a task for a period of time is the best way; most fledgling fortresses have craftdwarves making stone crafts 24/7. It is necessary to check back on your stocks every once in a while, however, as you might forget about your stone carver for a while and upon placing furniture discover that you have 99 doors but no tables. The easiest example would be gem cutting; just queue up all of the gems you've dug up on repeat, and use the cancellation messages to monitor progress through the stack. Note that if you place multiple jobs on repeat your dwarves will cycle through them, so you can have your mason make doors, cabinets, coffers, tables, and thrones (the &amp;quot;welcome to the fortress&amp;quot; package) in equally large numbers. &lt;br /&gt;
&lt;br /&gt;
===Manager===&lt;br /&gt;
Appointing a [[manager]] [[noble]] allows you to queue work orders using the job manager interface, though your manager will need time to approve work orders before production begins. Using the job manager interface has two major advantages. Firstly, it allows you to produce an exact number of items as opposed to putting a workshop on repeat, and secondly, it allows easier management of complex tasks: although you will get cancellation spam, the tasks will simply re-queue, to be fulfilled as soon as the prerequisites are in order. This makes complicated processes, such as the production of twenty steel breastplates for your military, much simpler and less time-consuming. You will be notified when your work orders are completed, so it has the advantage of timely organization as well.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
Finally, for those who find the other automation options lacking, the [[Utility:DFHack|dfhack]] &amp;quot;workflow&amp;quot; plug-in allows for automated job processing for many applications (e.g. auto process plants, auto mill plants, auto brew, auto make soap, etc.). Unfortunately, setting up the necessary rules can require some trial and error and a considerable investment of time, but the results can be well worth the trouble, at least until comprehensive automation support is added to the game itself.&lt;br /&gt;
&lt;br /&gt;
==Tier system==&lt;br /&gt;
&lt;br /&gt;
The tier system was developed to help understand how far removed a workshop is from the basic raw materials that can be found throughout your average map. A Tier-1 workshop processes raw materials directly; a Tier-2 workshop processes the output of a Tier-1 workshop (but may also include new raw materials); and a Tier-3 workshop processes the output of a Tier-2 workshop (but may also include inputs from lower levels) Note that containers (cloth and leather bags) are considered Tier 1 materials even though they are produced at a higher tier, because these items are reusable; your dwarves will not need to create a new bag each time they want to mill some flour. In some cases, a workshop may fit into multiple tiers, (ex. [[Mechanic's workshop]]).  In these cases, the workshop is listed in the lowest applicable tier for its primary purpose.&lt;br /&gt;
&lt;br /&gt;
: Tier 1 workshops use Tier 0 materials (animals, ore, wood, plants, bone, etc.).&lt;br /&gt;
: Tier 2 workshops use Tier 1 materials (processed Tier 0 materials) and possibly Tier 0 materials.&lt;br /&gt;
: Tier 3 workshops use Tier 2 materials (processed Tier 1 materials) and possibly Tier 0 and/or Tier 1 materials.&lt;br /&gt;
&lt;br /&gt;
===Tier 1 workshops===&lt;br /&gt;
*[[Bowyer's workshop]] {{Menu icon|b|o|b|sep=-}}&lt;br /&gt;
**Uses Tier 0 material: [[Wood]]&lt;br /&gt;
**Can also use higher-tier material: [[Bone]] &lt;br /&gt;
**Produces Tier 1 Weapon: [[Crossbow]]&lt;br /&gt;
*[[Carpenter's workshop]] {{Menu icon|b|o|p|sep=-}}&lt;br /&gt;
**Uses Tier 0 materials: [[Wood]]&lt;br /&gt;
**Produces Tier 1 materials: &lt;br /&gt;
***Armor: [[Buckler]], [[Shield]]&lt;br /&gt;
***Weapons: [[Training weapon|Training Axes]], [[Training weapon|Training Swords]], [[Training weapon|Training Spears]]&lt;br /&gt;
***Containers: [[Barrel]], [[Bin]], [[Bucket]], [[Casket]]&lt;br /&gt;
***Building Materials: [[Block]], [[Grate]], [[Pipe section]]&lt;br /&gt;
***Furniture: [[Bed]], [[Bookcase]], [[Chair]], [[Table]], [[Cabinet]], [[Chest]], [[Armor stand]], [[Weapon rack]]&lt;br /&gt;
***Furniture: [[Door]], [[Floodgate]], [[Hatch cover]]&lt;br /&gt;
***Trap Components: [[Cage]], [[Enormous corkscrew]], [[Menacing spike]], [[Spiked ball]]&lt;br /&gt;
***Finished Goods: [[Crutch]], [[Splint]]&lt;br /&gt;
***Tools: [[Animal trap]], [[stepladder]], [[wheelbarrow]], [[minecart]]&lt;br /&gt;
*[[Jeweler's workshop]] {{Menu icon|b|o|j|sep=-}}&lt;br /&gt;
**Uses Tier 0 Item: Rough [[gem]]&lt;br /&gt;
**Can also use higher-tier items: Cut [[gem]]s, Encrustable objects&lt;br /&gt;
**Produces: Cut [[gem]], Encrusted objects&lt;br /&gt;
*[[Stoneworker's workshop]] {{Menu icon|b|o|t|sep=-}}&lt;br /&gt;
**Uses Tier 0 Item: [[Stone]]&lt;br /&gt;
**Produces Tier 1 Items: [[Armor stand]], [[Block]], [[Throne]], [[Coffin]], [[Door]], [[Floodgate]], [[Hatch cover]], [[Grate]], [[Cabinet]], [[Coffer]], [[Statue]], [[Table]], [[Weapon rack]], [[Quern]], [[Millstone]], [[Slab]]&lt;br /&gt;
*[[Butcher's shop]] {{Menu icon|b|o|f|b|sep=-}}&lt;br /&gt;
**Uses Tier 0 Items: [[Tame animals]], Corpses of untamed non-sentient animals&lt;br /&gt;
**Produces Tier 1 Items: [[Skin]], [[Fat]], [[Meat]], [[Bone]], [[Prepared organs]], [[Skull]], [[Scale]], [[Hoof]], [[Ivory]], [[Tooth]]&lt;br /&gt;
*[[Mechanic's workshop]] {{Menu icon|b|o|h|sep=-}}&lt;br /&gt;
**Uses Tier 0-1 Items: [[Stone]], [[Table]], [[Rope]]&lt;br /&gt;
**Produces Tier 1 Item: [[Mechanism]]&lt;br /&gt;
**Produces Tier 3 Item: [[Traction bench]]&lt;br /&gt;
*[[Farmer's workshop]] {{Menu icon|b|o|f|f|sep=-}}&lt;br /&gt;
**Uses Tier 0 Items: [[crop]], [[Animal]]&lt;br /&gt;
**Can use Tier 1 Reusable Items: [[Container|Bags, barrels, vials]], [[Bucket]]s&lt;br /&gt;
**Produces Tier 1 Items: [[Pig tail]] [[thread]], [[Rope reed]] [[thread]], [[Quarry bush]] leaves, [[Dwarven syrup]], Plant [[extracts]], [[Milk]], [[Cheese]]&lt;br /&gt;
*[[Fishery]] {{Menu icon|b|o|f|y|sep=-}}&lt;br /&gt;
**Uses Tier 0 Items: Raw [[fish]]&lt;br /&gt;
**Produces Tier 1 Items: [[Meat|Fish meat]], [[Shell]]s, [[Captured live fish]]&lt;br /&gt;
*[[Craftsdwarf's workshop]] {{Menu icon|b|o|r|sep=-}}&lt;br /&gt;
**Uses Tier 0 Items: [[Stone]], [[Wood]]&lt;br /&gt;
**Can also use higher-tier items: [[Bone]], [[Shell]], [[Ivory]], [[Tooth]], [[Horn]], [[Pearl]], [[Cloth]], [[Leather]], [[Slab]]s&lt;br /&gt;
**Produces: [[Finished goods]], [[Pot]]s, [[Jug]]s, [[Tool]]s, [[Memorial]]s&lt;br /&gt;
*[[Siege workshop]] {{Menu icon|b|o|g|sep=-}}&lt;br /&gt;
**Uses Tier 0 Item: [[Wood]]&lt;br /&gt;
**Can also use higher-tier item: [[Ballista arrowhead]]&lt;br /&gt;
**Produces: [[Catapult]] parts, [[Ballista]] parts, [[Ballista arrow]]s&lt;br /&gt;
*[[Wood furnace]] {{Menu icon|b|o|u|f|sep=-}}&lt;br /&gt;
**Uses Tier 0 Item: [[Wood]]&lt;br /&gt;
**Produces: Fuel ([[Charcoal]]), [[Ash]]&lt;br /&gt;
*[[Magma smelter]] {{Menu icon|b|o|u|L|sep=-}} (requires [[magma]] access):&lt;br /&gt;
**Uses Tier 0 Items: [[Coal]], [[Ore]], [[Flux]]&lt;br /&gt;
**Can also use higher-tier items: Fuel ([[Charcoal]], [[Coke]]), [[Metal]] [[bar]]s, scrap [[weapon]]s, [[armor]], etc.&lt;br /&gt;
**Produces: [[Metal]] [[bar]]s, [[Coke]]&lt;br /&gt;
*[[Magma kiln]] {{Menu icon|b|o|u|K|sep=-}} (requires [[magma]] access):&lt;br /&gt;
**Uses Tier 0 Items: [[Gypsum]], [[Alabaster]], [[Selenite]], [[Satinspar]], [[Kaolinite]], [[Clay]], [[Silty clay]], [[Sandy clay]], [[Clay loam]], [[Fire clay]], [[Cassiterite]]&lt;br /&gt;
**Can also use higher-tier items: [[Ash]], [[Potash]]&lt;br /&gt;
**Produces: [[Pearlash]], [[Gypsum plaster]], [[Ceramic]]s ([[Jug]], [[Block|Bricks]], [[Statue]], [[Large pot]], [[Craft]]s, [[Hive]]), [[Glaze]]d items&lt;br /&gt;
*[[Magma glass furnace]] {{Menu icon|b|o|u|G|sep=-}} (requires [[magma]] access):&lt;br /&gt;
**Uses Tier 0 Items: [[Sand]] [[bag]], Raw [[rock crystal]]&lt;br /&gt;
**Can also use higher-tier item: [[Pearlash]]&lt;br /&gt;
**Produces: Raw crystal/clear/green [[glass]], [[Block]]s, [[Vial]]s, [[Toy]]s, [[Instrument]]s, [[Goblet]]s, [[Trap]] [[weapons]], [[Window]]s, [[Furniture]]&lt;br /&gt;
&lt;br /&gt;
===Tier 2 workshops===&lt;br /&gt;
*[[Tanner's shop]] {{Menu icon|b|o|f|t|sep=-}}&lt;br /&gt;
**Uses Tier 1 Item: [[Skin|Hide]]&lt;br /&gt;
**Produces Tier 2 Item: [[Leather]]&lt;br /&gt;
*[[Loom]] {{Menu icon|b|o|l|o|sep=-}}&lt;br /&gt;
**Uses Tier 1 Items: [[Adamantine]] strands, [[Cave spider]] [[silk]] [[Cloth|thread]], [[Giant cave spider]] [[silk]] [[Cloth|thread]], [[Phantom spider]] [[silk]] [[Cloth|thread]], [[Pig tail]] [[Cloth|thread]], [[Rope reed]] [[Cloth|thread]]&lt;br /&gt;
**Produces: [[Cloth]]&lt;br /&gt;
*[[Still]] {{Menu icon|b|o|f|l|sep=-}}&lt;br /&gt;
**Uses Tier 0 Item: [[Alcohol#Brewable plants|Brewable Plant]]&lt;br /&gt;
**Uses Tier 1 Reusable Item: [[Barrel]]&lt;br /&gt;
**Produces: [[Drink]]&lt;br /&gt;
*[[Ashery]] {{Menu icon|b|o|y|sep=-}}&lt;br /&gt;
**Uses Tier 1 Item: [[Ash]]&lt;br /&gt;
**Can use Tier 1 Reusable Item: [[Bucket]]&lt;br /&gt;
**Produces Tier 2 Items: [[Lye]], [[Potash]]&lt;br /&gt;
*[[Kitchen]] {{Menu icon|b|o|f|k|sep=-}}&lt;br /&gt;
**Uses Tier 1 Items: [[Meat|Fish]], [[Meat]], [[Cheese]], [[Dwarven syrup]], [[Milk]], [[Prepared organs]], [[Fat]] &lt;br /&gt;
**Can also use lower-tier items: [[Plants]], [[Seed]]s, [[Egg]]s&lt;br /&gt;
**Can also use higher-tier items: [[Alcohol]], [[Dwarven sugar]], [[Flour]], [[Tallow]]&lt;br /&gt;
**Produces: [[Food|Prepared meals]], [[Tallow]]&lt;br /&gt;
*[[Screw press]] {{Menu icon|b|o|R|sep=-}}&lt;br /&gt;
**Uses Tier 1 Items: [[Honeycomb]]&lt;br /&gt;
**Uses Tier 1 Reusable item: [[Jug]]&lt;br /&gt;
**Can also use higher-tier item: [[rock nut|Rock nut paste]]&lt;br /&gt;
**Produces: [[Honey]], [[Wax]], [[rock nut|Rock nut press cake]], [[rock nut|Rock nut oil]]&lt;br /&gt;
*[[Quern]] {{Menu icon|b|o|f|q|sep=-}}&lt;br /&gt;
**Uses Tier 0 Items: [[Blade weed]], [[Cave wheat]], [[Dimple cup]], [[Hide root]], [[Longland grass]], [[Sliver barb]], [[Sweet pod]], [[Whip vine]], [[Rock nut]]s&lt;br /&gt;
**Uses Tier 1 Reusable Item: [[bag]]&lt;br /&gt;
**Produces: [[Flour|Dwarven wheat flour]], [[Dwarven sugar]], [[Flour|Longland flour]], [[Whip vine flour]], [[Dimple dye]], [[Emerald dye]], [[Redroot dye]], [[Sliver dye]], [[rock nut|Rock nut paste]] &lt;br /&gt;
*[[Millstone]] {{Menu icon|b|m|n|sep=-}} (under Mechanisms instead of Workshops)&lt;br /&gt;
**Requires: Mechanical Power Source ([[Water wheel]] or [[Windmill]]), and a Millstone (Constructed at [[Mason's workshop]])&lt;br /&gt;
**Uses Tier 0 Items: [[Blade weed]], [[Cave wheat]], [[Dimple cup]], [[Hide root]], [[Longland grass]], [[Sliver barb]], [[Sweet pod]], [[Whip vine]], [[Rock nut]]s&lt;br /&gt;
**Uses Tier 1 Reusable Item: [[bag]]&lt;br /&gt;
**Produces: [[Emerald dye]], [[Flour|Dwarven wheat flour]], [[Dimple dye]], [[Redroot dye]], [[Flour|Longland flour]], [[Sliver dye]], [[Dwarven sugar]], [[Whip vine flour]], [[rock nut|Rock nut paste]]&lt;br /&gt;
*[[Smelter]] {{Menu icon|b|o|u|l|sep=-}}&lt;br /&gt;
**Uses Tier 1 Items: Fuel ([[Charcoal]], [[Coke]])&lt;br /&gt;
**Uses Tier 0 Items: [[Coal]], [[Ore]], [[Flux]]&lt;br /&gt;
**Can also use higher-tier items: [[Metal]] [[bar]]s, can [[melt]] metal [[weapon]]s, [[armor]], etc.&lt;br /&gt;
**Produces: [[Coke]], [[Metal]] [[bar]]s&lt;br /&gt;
*[[Kiln]] {{Menu icon|b|o|u|k|sep=-}}&lt;br /&gt;
**Uses Tier 0 Items: [[Gypsum]], [[Alabaster]], [[Selenite]], [[Satinspar]], [[Kaolinite]], [[Clay]], [[Silty clay]], [[Sandy clay]], [[Clay loam]], [[Fire clay]], [[Cassiterite]]&lt;br /&gt;
**Uses Tier 1 Items: Fuel ([[Charcoal]], [[Coke]]), [[Ash]], [[Potash]]&lt;br /&gt;
**Produces: [[Pearlash]], [[Gypsum plaster]], [[Ceramic]]s ([[Jug]], [[Block|Bricks]], [[Statue]], [[Large pot]], [[Craft]]s, [[Hive]]), [[Glaze]]d items&lt;br /&gt;
*[[Glass furnace]] {{Menu icon|b|o|u|g|sep=-}}&lt;br /&gt;
**Uses Tier 0 Items: [[Sand]] [[bag]], Raw [[rock crystal]]&lt;br /&gt;
**Uses Tier 1 Items: Fuel ([[Charcoal]], [[Coke]])&lt;br /&gt;
**Uses Tier 2 Item: [[Pearlash]]&lt;br /&gt;
**Produces: Raw crystal/clear/green [[glass]], [[Block]]s, [[Vial]]s, [[Toy]]s, [[Instrument]]s, [[Goblet]]s, [[Trap]] [[weapons]], [[Window]]s, [[Furniture]]&lt;br /&gt;
&lt;br /&gt;
===Tier 3 workshops===&lt;br /&gt;
*[[Leather works]] {{Menu icon|b|o|l|l|sep=-}}&lt;br /&gt;
**Uses Tier 2 Item: [[Leather]]&lt;br /&gt;
**Produces: [[Leather]] [[Clothing]], [[Leather]] [[Armor]], [[Leather]] [[Shield]], [[Leather]] [[Quiver]], [[Leather]] [[Bag]], [[Leather]] [[Backpack]], [[Leather]] [[Waterskin]], [[Decoration|Leather Images]] (decoration)&lt;br /&gt;
*[[Dyer's shop]] {{Menu icon|b|o|l|y|sep=-}}&lt;br /&gt;
**Uses Tier 2 Item: [[Dye]], [[Cloth]] &lt;br /&gt;
**Can also use lower-tier item: [[Thread]]&lt;br /&gt;
**Produces: Dyed [[Thread]], Dyed [[Cloth]]&lt;br /&gt;
*[[Clothier's shop]] {{Menu icon|b|o|l|k|sep=-}}&lt;br /&gt;
**Uses Tier 2 Item: [[Cloth]]&lt;br /&gt;
**Can also use higher-tier item: Dyed [[Cloth]]&lt;br /&gt;
**Produces: [[Backpack]], [[Bag]], [[Clothing]], [[Quiver]], [[Rope]]&lt;br /&gt;
*[[Metalsmith's forge]] {{Menu icon|b|o|i|sep=-}}&lt;br /&gt;
**Uses Tier 1 Item: Fuel ([[Charcoal]], [[Coke]])&lt;br /&gt;
**Uses Tier 2 Item: [[Metal]] [[bars]]&lt;br /&gt;
**Produces: [[weapon]]s, [[trap]] components, [[bolts]], [[ballista arrowhead|ballista arrowheads]], [[armor]], [[chain|chains]], [[craft|crafts]], [[coins]], [[goblet|goblets]], [[stud|studding]], [[anvil]]s, [[block]]s, [[furniture]], animal traps and mechanisms.&lt;br /&gt;
*[[Magma forge]] {{Menu icon|b|o|I|sep=-}} (requires [[magma]] access):&lt;br /&gt;
**Uses Tier 2 Item: [[Metal]] [[bar]]s&lt;br /&gt;
**Produces: [[Armor]], [[Weapon]], [[Chain]], [[Crafts]], [[Furniture]]&lt;br /&gt;
*[[Soap maker's workshop]] {{Menu icon|b|o|P|sep=-}}&lt;br /&gt;
**Uses Tier 2 Items: [[Tallow]], [[Lye]]&lt;br /&gt;
**Can also use higher-tier item: [[Rock nut oil]]&lt;br /&gt;
**Produces: [[Soap]]&lt;br /&gt;
&lt;br /&gt;
Note that some specific products can be higher-tier than indicated above. For example, production of [[steel]] weapons requires: producing [[Coke|fuel]], producing [[Iron]] [[bar]]s, producing [[pig iron]] bars, producing [[steel]] bars, then finally forging weapons (a Tier-5 process).&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[Manager]]&lt;br /&gt;
&lt;br /&gt;
{{Workshops}}&lt;br /&gt;
{{V50 menus}}&lt;br /&gt;
&lt;br /&gt;
{{Category|Workshops| }}&lt;br /&gt;
[[ru:Workshop]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Civilian_alert&amp;diff=305590</id>
		<title>Civilian alert</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Civilian_alert&amp;diff=305590"/>
		<updated>2024-12-27T14:47:13Z</updated>

		<summary type="html">&lt;p&gt;Myk002: add screenshot of DFHack civ alert management interface&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{removed feature}}&lt;br /&gt;
&lt;br /&gt;
[[File:Dfhack_civ_alert.png|thumb|DFHack-added panel for managing civilian alerts]]&lt;br /&gt;
&lt;br /&gt;
A '''civilian alert''' is a [[military]] alert that confined all civilians (and animals) to a specific [[burrow]].&lt;br /&gt;
&lt;br /&gt;
Vanilla Dwarf Fortress no longer provides an interface for managing civilian alerts, but the underlying functionality ''is'' still present and functional. [[DFHack]] exposes it via the '''gui/civ-alert''' tool, with the [[burrow]] being configurable in the modified {{menu icon|q}} [[Squad]] menu.&lt;br /&gt;
&lt;br /&gt;
[[ru:Civilian alert]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Dfhack_civ_alert.png&amp;diff=305589</id>
		<title>File:Dfhack civ alert.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Dfhack_civ_alert.png&amp;diff=305589"/>
		<updated>2024-12-27T14:46:00Z</updated>

		<summary type="html">&lt;p&gt;Myk002: Screenshot of the squads panel with the DFHack-added civilian alert button displayed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot of the squads panel with the DFHack-added civilian alert button displayed.&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Missing_features&amp;diff=303300</id>
		<title>Missing features</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Missing_features&amp;diff=303300"/>
		<updated>2024-08-28T19:51:41Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Other missing features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists the '''missing features''' of DF version 50, which were present in 0.47. Some of those don't have an alternative yet and are not implemented, which is what this list is about. This list is a work in progress as many discussions are scattered between multiple platforms and new issues are being discovered daily. Some of these were removed due to time constraints and are intended to be brought back in the future. {{cite forum|169696.msg8442542#msg8442542}}&lt;br /&gt;
&lt;br /&gt;
==Missing gameplay features==&lt;br /&gt;
*Locations can't be disbanded once they have been created. [[DFHack]] fixes this.&lt;br /&gt;
*Workshops can't be restricted to a certain skill level or labor ([[DF2014:Manager#Workshop_profiles|Workshop profiles]]). [[DFHack]] fixes this.&lt;br /&gt;
*Labor priorities are not available (aside from prioritizing certain tiles when [[mining]] or [[smoothing]]). [[DFHack]] fixes this.&lt;br /&gt;
*No mass designation of buildings to mark them as to be removed. [[DFHack]] fixes this.&lt;br /&gt;
*No mass removal of building foundations (as in the foundations which are created after placing a building). [[DFHack]] fixes this.&lt;br /&gt;
*Burrows are only designatable on a layer-by-layer basis. Painting over multiple layers only saves the one you first clicked. [[DFHack]] fixes this.&lt;br /&gt;
*Specific mechanisms aren't selectable when linking levers to objects, you need to forbid every other mechanism through the stock screen to have the autoselect choose the one you want. [[DFHack]] fixes this.&lt;br /&gt;
*[[Civilian alert]]s are not available. [[DFHack]] fixes this.&lt;br /&gt;
*Characters cited among your dwarves' relationships cannot be examined if they're not on the map (i.e. [[deity|gods]]).&lt;br /&gt;
*[[Ammo]] types are automatically selected by ranged weapon users and cannot be assigned.&lt;br /&gt;
*Worldgen cannot be aborted once it has reached the desired history length.&lt;br /&gt;
*Can't mass bury dwarves in the same room in multiple coffins. (can't select a coffin to be used for burial, that functionality has been moved to a tomb zone requiring multiple tombs for multiple dwarves). [[DFHack]] fixes this.&lt;br /&gt;
&lt;br /&gt;
==Missing UI features==&lt;br /&gt;
*Logs aren't accessible after closing them. There is no combat log available when clicking a creature. [[DFHack]] fixes this.&lt;br /&gt;
*No [[health screen]] with an overview of dwarf and livestock health.&lt;br /&gt;
*[[Notes]] cannot be created. As an alternative, most buildings, zones, and stockpiles can be renamed. [[DFHack]] fixes this.&lt;br /&gt;
*There is no UI to visualize [[trade depot]] accessibility. [[DFHack]] fixes this.&lt;br /&gt;
&lt;br /&gt;
==Other missing features==&lt;br /&gt;
*[[Adventure]] mode is missing, for now (currently in beta).&lt;br /&gt;
*The map cannot be viewed in [[Legends]] mode. This also leaves Civilizations without icons.&lt;br /&gt;
*[[World painter]] is absent.&lt;br /&gt;
&lt;br /&gt;
==Reintroduced features==&lt;br /&gt;
* [[Arena mode]] was reintroduced in [[Release information/50.06|50.06]].&lt;br /&gt;
* Exporting [[Legends]] content as XML was reintroduced in [[Release information/50.08|50.08]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Game]]&lt;br /&gt;
[[Category:Release information]]&lt;br /&gt;
[[ru:Missing features]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Missing_features&amp;diff=303299</id>
		<title>Missing features</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Missing_features&amp;diff=303299"/>
		<updated>2024-08-28T19:51:10Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Missing gameplay features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists the '''missing features''' of DF version 50, which were present in 0.47. Some of those don't have an alternative yet and are not implemented, which is what this list is about. This list is a work in progress as many discussions are scattered between multiple platforms and new issues are being discovered daily. Some of these were removed due to time constraints and are intended to be brought back in the future. {{cite forum|169696.msg8442542#msg8442542}}&lt;br /&gt;
&lt;br /&gt;
==Missing gameplay features==&lt;br /&gt;
*Locations can't be disbanded once they have been created. [[DFHack]] fixes this.&lt;br /&gt;
*Workshops can't be restricted to a certain skill level or labor ([[DF2014:Manager#Workshop_profiles|Workshop profiles]]). [[DFHack]] fixes this.&lt;br /&gt;
*Labor priorities are not available (aside from prioritizing certain tiles when [[mining]] or [[smoothing]]). [[DFHack]] fixes this.&lt;br /&gt;
*No mass designation of buildings to mark them as to be removed. [[DFHack]] fixes this.&lt;br /&gt;
*No mass removal of building foundations (as in the foundations which are created after placing a building). [[DFHack]] fixes this.&lt;br /&gt;
*Burrows are only designatable on a layer-by-layer basis. Painting over multiple layers only saves the one you first clicked. [[DFHack]] fixes this.&lt;br /&gt;
*Specific mechanisms aren't selectable when linking levers to objects, you need to forbid every other mechanism through the stock screen to have the autoselect choose the one you want. [[DFHack]] fixes this.&lt;br /&gt;
*[[Civilian alert]]s are not available. [[DFHack]] fixes this.&lt;br /&gt;
*Characters cited among your dwarves' relationships cannot be examined if they're not on the map (i.e. [[deity|gods]]).&lt;br /&gt;
*[[Ammo]] types are automatically selected by ranged weapon users and cannot be assigned.&lt;br /&gt;
*Worldgen cannot be aborted once it has reached the desired history length.&lt;br /&gt;
*Can't mass bury dwarves in the same room in multiple coffins. (can't select a coffin to be used for burial, that functionality has been moved to a tomb zone requiring multiple tombs for multiple dwarves). [[DFHack]] fixes this.&lt;br /&gt;
&lt;br /&gt;
==Missing UI features==&lt;br /&gt;
*Logs aren't accessible after closing them. There is no combat log available when clicking a creature. [[DFHack]] fixes this.&lt;br /&gt;
*No [[health screen]] with an overview of dwarf and livestock health.&lt;br /&gt;
*[[Notes]] cannot be created. As an alternative, most buildings, zones, and stockpiles can be renamed. [[DFHack]] fixes this.&lt;br /&gt;
*There is no UI to visualize [[trade depot]] accessibility. [[DFHack]] fixes this.&lt;br /&gt;
&lt;br /&gt;
==Other missing features==&lt;br /&gt;
*[[Adventure]] mode is missing, for now.&lt;br /&gt;
*The map cannot be viewed in [[Legends]] mode. This also leaves Civilizations without icons.&lt;br /&gt;
*[[World painter]] is absent.&lt;br /&gt;
&lt;br /&gt;
==Reintroduced features==&lt;br /&gt;
* [[Arena mode]] was reintroduced in [[Release information/50.06|50.06]].&lt;br /&gt;
* Exporting [[Legends]] content as XML was reintroduced in [[Release information/50.08|50.08]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Game]]&lt;br /&gt;
[[Category:Release information]]&lt;br /&gt;
[[ru:Missing features]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Missing_features&amp;diff=303298</id>
		<title>Missing features</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Missing_features&amp;diff=303298"/>
		<updated>2024-08-28T19:50:35Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Missing gameplay features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists the '''missing features''' of DF version 50, which were present in 0.47. Some of those don't have an alternative yet and are not implemented, which is what this list is about. This list is a work in progress as many discussions are scattered between multiple platforms and new issues are being discovered daily. Some of these were removed due to time constraints and are intended to be brought back in the future. {{cite forum|169696.msg8442542#msg8442542}}&lt;br /&gt;
&lt;br /&gt;
==Missing gameplay features==&lt;br /&gt;
*Locations can't be disbanded once they have been created. [[DFHack]] fixes this.&lt;br /&gt;
*Workshops can't be restricted to a certain skill level or labor ([[DF2014:Manager#Workshop_profiles|Workshop profiles]]). [[DFHack]] fixes this.&lt;br /&gt;
*Labor priorities are not available (aside from prioritizing certain tiles when [[mining]] or [[smoothing]]). [[DFHack]] fixes this.&lt;br /&gt;
*No mass designation of buildings to mark them as to be removed. [[DFHack]] fixes this.&lt;br /&gt;
*No mass removal of building foundations (as in the foundations which are created after placing a building). [[DFHack]] fixes this.&lt;br /&gt;
*Burrows are only designatable on a layer-by-layer basis. Painting over multiple layers only saves the one you first clicked. [[DFHack]] fixes this.&lt;br /&gt;
*Specific mechanisms aren't selectable when linking levers to objects, you need to forbid every other mechanism through the stock screen to have the autoselect choose the one you want. [[DFHack]] fixes this.&lt;br /&gt;
*[[Civilian alert]]s are not available. [[DFHack]] fixes this.&lt;br /&gt;
*Characters cited among your dwarves' relationships cannot be examined if they're not on the map (i.e. [[deity|gods]]).&lt;br /&gt;
*[[Ammo]] types are automatically selected by ranged weapon users and cannot be assigned.&lt;br /&gt;
*Worldgen cannot be aborted once it has reached the desired history length.&lt;br /&gt;
*Can't mass bury dwarves in the same room in multiple coffins. (can't select a coffin to be used for burial, that functionality has been moved to a tomb zone requiring multiple tombs for multiple dwarves). [[DFHack]] fixes this (burial command).&lt;br /&gt;
&lt;br /&gt;
==Missing UI features==&lt;br /&gt;
*Logs aren't accessible after closing them. There is no combat log available when clicking a creature. [[DFHack]] fixes this.&lt;br /&gt;
*No [[health screen]] with an overview of dwarf and livestock health.&lt;br /&gt;
*[[Notes]] cannot be created. As an alternative, most buildings, zones, and stockpiles can be renamed. [[DFHack]] fixes this.&lt;br /&gt;
*There is no UI to visualize [[trade depot]] accessibility. [[DFHack]] fixes this.&lt;br /&gt;
&lt;br /&gt;
==Other missing features==&lt;br /&gt;
*[[Adventure]] mode is missing, for now.&lt;br /&gt;
*The map cannot be viewed in [[Legends]] mode. This also leaves Civilizations without icons.&lt;br /&gt;
*[[World painter]] is absent.&lt;br /&gt;
&lt;br /&gt;
==Reintroduced features==&lt;br /&gt;
* [[Arena mode]] was reintroduced in [[Release information/50.06|50.06]].&lt;br /&gt;
* Exporting [[Legends]] content as XML was reintroduced in [[Release information/50.08|50.08]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Game]]&lt;br /&gt;
[[Category:Release information]]&lt;br /&gt;
[[ru:Missing features]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=DF2014:Faction&amp;diff=302841</id>
		<title>DF2014:Faction</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=DF2014:Faction&amp;diff=302841"/>
		<updated>2024-08-10T02:02:45Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* DFHack */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Exceptional|16:20, 8 September 2013 (UTC)}}&lt;br /&gt;
{{av}}&lt;br /&gt;
'''Factions''' govern how [[creature]]s will react in each other's presence. The world is full of dangers for your unfortunate dwarves, and it seems that nearly everything is trying to kill them; fortunately, said dangers are also hostile to each other most of the time. Confrontations between such opposed factions happen in both fortress and [[adventurer mode]]; the wise player will see to it that they weaken each other instead of ganging up against one's fort or adventurer.&lt;br /&gt;
&lt;br /&gt;
In the [[object testing arena]], each creature created can be tied to a faction (referred to in-game as a &amp;quot;side&amp;quot;). Creatures will be friendly to other creatures within their faction, and will be hostile to any other creature. There are a total of 99 factions, and an &amp;quot;independent&amp;quot; option which is hostile to all other creatures.&lt;br /&gt;
&lt;br /&gt;
==Faction relative hostility==&lt;br /&gt;
&lt;br /&gt;
The table below shows the behavior of different factions when confronted:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- bgcolor=&amp;quot;#dddddd&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
| '''[[Dwarf|Dwarves]]'''&lt;br /&gt;
| '''[[Elf|Elves]]'''&lt;br /&gt;
| '''[[Human]]s'''&lt;br /&gt;
| '''[[Goblin]]s'''&lt;br /&gt;
| '''[[Kobold]]s'''&lt;br /&gt;
| '''[[Necromancer]]s'''&lt;br /&gt;
| '''[[Undead]]'''&lt;br /&gt;
| '''[[Surroundings|Wildlife]]'''&lt;br /&gt;
| '''[[Animal people|Cave civs]]'''&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
| '''[[Semi-megabeast|(Semi-)]][[Megabeast]]s'''&lt;br /&gt;
| '''[[Demon|HFS]]'''&lt;br /&gt;
| '''[[Werebeast]]s'''&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Dwarves'''&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Elves'''&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Humans'''&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Goblins'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Kobolds'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Necromancers'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Undead'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Wildlife'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
| Variable&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| '''Cave civs'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''(Semi-)Megabeasts'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''HFS'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#cfc&amp;quot;| Friendly&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| '''Werebeasts'''&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
|style=&amp;quot;background-color:#fcc&amp;quot;| Hostile&lt;br /&gt;
| Variable&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&amp;lt;small&amp;gt;Advanced civilizations are subject to the mechanisms of [[diplomat|diplomacy]] and may routinely go to [[war]] or conclude peace treaties depending on [[World generation|worldgen]] and according to each civilization's [[ethics]]. On the one hand, war against elves or humans is not that uncommon; on the other hand, goblins will almost always be hostile toward everyone else.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&amp;lt;small&amp;gt;Cave civilizations are always hostile toward adventurers and they are usually hostile toward your dwarves. They often become friendly when confronted with a [[megabeast]]. Note that this behavior does not apply to most [[animal people]], who are simply treated as wildlife.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;3&amp;lt;/sup&amp;gt;&amp;lt;small&amp;gt;[[Werebeast]]s will switch factions from whatever civilization they belong to under their normal form to a special, species-dependent faction on the full moon. Different species of werebeasts will be hostile to each other.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;4&amp;lt;/sup&amp;gt;&amp;lt;small&amp;gt;A [[HFS]] denizen often takes control of a goblin civilization, and sometimes becomes the ruler of a human civilization by posing as their god.  Other HFS denizens are typically hostile.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;5&amp;lt;/sup&amp;gt;&amp;lt;small&amp;gt;[LARGE_PREDATOR]s will attack anything significantly smaller than themselves. In most other cases, wildlife will flee from non-[BENIGN] wildlife. Two [BENIGN] wild animals will ignore each other.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Entities and civilizations==&lt;br /&gt;
&lt;br /&gt;
There are four entity 'factions' that can be created in ''Dwarf Fortress'', although vanilla only uses three of them.  These factions are determined by the presence or absence of the [[Entity token#BABYSNATCHER]] or [[Entity token#ITEM_THIEF]] tags, so the four factions can be called the Civilized (with neither tag), the Baby[[snatcher]]s, the Item [[Thief|Thieves]], and the Babysnatching Item Thieves (which do not exist in vanilla DF).  Members of the same faction will [[trade]] with you in fort mode, and members of all other factions may [[invader|invade]] you.  This is separate from civs at [[war]], which is determined by having opposing [[ethics]]. (A civilization from an opposite faction which is *also* at war with you will simply siege you even more.)&lt;br /&gt;
&lt;br /&gt;
Generally, [[civilization]] relationships override whatever loyalty a creature may have to begin with. Therefore:&lt;br /&gt;
&lt;br /&gt;
* Conquered and otherwise incorporated populations from a foreign civ will always be loyal to that civ, both in fortress and adventure mode, *except* in the case of [[insurrection]]s and nothing else.&lt;br /&gt;
&lt;br /&gt;
* Foreign creatures kidnapped by goblins and raised by them will be loyal to their goblin civ and hostile against non-goblin civs, including your fort. This also includes their descendants, which means some goblin civs can be potentially ''depleted'' of goblins, but still send sieges (composed of humans, dwarves, elves, etc.) and ambushes to your fort. &lt;br /&gt;
&lt;br /&gt;
* More amusingly, foreign creatures occupying a [[noble]] position in a civ for whatever reason (e.g. demons that have impersonated a god to take control of human civs, demon law-givers ruling goblin civs, or necromancer kings) will behave the same way any other civ member would toward your dwarves or adventurer. Hence the ludicrous possibilities for a demon to visit your fortress as a [[diplomat]] (or join you in your adventures) or a friendly necromancer inadvertently wreaking havoc on your fortress by raising corpses whenever they can. &lt;br /&gt;
&lt;br /&gt;
Some caveats: sapient creatures without the ability to communicate will always be hostile, even if they technically would be considered the same faction.  They will also wage endless wars, since they lack the ability to form treaties.  This includes creatures without CAN_SPEAK (or INTELLIGENT, which is functionally CAN_LEARN and CAN_SPEAK combined).  Creatures with UTTERANCES cannot communicate with other civs, however, if they have both UTTERANCES and CAN_SPEAK, they will be able to communicate. For instance: [[kobold]]s are unable to speak besides in [[Creature token#UTTERANCES|utterances]] and are thus at war with everyone else - note that if you start as a kobold in adventure mode when they are available, you will be unable to speak to anyone, and other kobolds will attack you on sight because they won't be able to talk to you either.&lt;br /&gt;
&lt;br /&gt;
Civilizations with the [KILL_NEUTRAL:REQUIRED] [[ethics]] ([[goblin]]s in vanilla DF) will be hostile toward members of foreign civs. If you encounter goblins in Adventure mode, they will usually request that you &amp;quot;identify yourself&amp;quot;. A common workaround if you are not from their civilization (which you usually aren't) is to assume a false [[name|identity]] so that they believe you are one of their own (remember that due to conquests, kidnappings, etc. multi-racial civilizations are the norm and being from another race wouldn't be considered suspicious).&lt;br /&gt;
&lt;br /&gt;
==[[Undead]] and [[night creature]]s==&lt;br /&gt;
&lt;br /&gt;
The loyalty of undead and night creatures depends on whether they have a [[soul]] or not. Creatures with souls, even undead, will retain the existing loyalty links they had when they got 'transformed', with possible alterations or a more nefarious agenda of their own. For instance, necromancers, night trolls, mummies, etc. break off from civilizations and form separate entities with their own set of loyalties. Soulless undead (zombies and thralls), on the other hand, are hostile to every living creature (night creatures such as [[vampires]] are considered {{token|NONLIVING}}, even if they do die), due to their {{token|OPPOSED_TO_LIFE|c}} tag, which overrides all other relationships.  &lt;br /&gt;
&lt;br /&gt;
Vampires, despite their blood-sucking murder sprees, will still be loyal to their parent civ, including your fortress. In fortress mode,  you can take advantage of their neutrality toward undead, ordering them to kill necromancers when facing a siege; a vampire can and will path toward a necromancer unhindered and usually beat them to death. You can also order vampires to kill zombies one by one as they won't react unless attacked. In adventure mode, when they are not exposed, they will behave as any member of a civ. Occasionally, they will be accompanied by cultists who will have formed a separate group gathered around their 'immortality worship': if you confront the vampire, they will turn against you.&lt;br /&gt;
&lt;br /&gt;
[[Werebeasts]] are a notable exception: although nominally a night creature, they do not count as undead. Werebeasts are hostile toward each other (and everyone else) except if they belong to the same were-species (except baby werebeasts, which are generally neutral with everyone). &lt;br /&gt;
&lt;br /&gt;
[[Intelligent undead]] are creatures raised by necromancers to serve as their lieutenants. They retain their soul and aren't opposed to life but their loyalty will shift to that of the necromancer in worldgen. In fortress mode, intelligent undead raised by necromancers from your civilization are considered citizens if they were citizens when they died, and may be hostile (or just 'friendly' and mill around doing nothing) if they were invaders when they died. Intelligent undead raised by your adventurer will retain their loyalty links, so if you're the one that slew them in the first place, they will remember it and attack you on sight. A workaround is to destroy their soul by first raising them as regular undead, slay them, then raise them as intelligent undead - their soul will be a blank slate with no preexisting conflicting loyalties. &lt;br /&gt;
&lt;br /&gt;
In adventure mode, should you learn the secrets of life and death or become a night creature yourself, all zombies will become neutral to you, letting you seize the opportunity to make short work of their squishy and unarmed masters. Undead you raise will follow you as if they were companions; however, they will '''all''' turn neutral if you purposely attack one of them. Generally speaking, there seems to be a worldwide solidarity among night creatures, and if your parent entity does not have beef with any of them, becoming a night creature will allow you to just chat with various necromancers or [[mummy|mummies]], take quests from them, and take them as companions.&lt;br /&gt;
&lt;br /&gt;
==Levels of conflict==&lt;br /&gt;
{{Main|Level of conflict}}&lt;br /&gt;
&lt;br /&gt;
In adventure mode, while all hostile nonsapient beings are No Quarter by default (because they do not understand the concept of surrender), sapient creatures that are capable of speech (that means creatures with both [CAN_LEARN] and [CAN_SPEAK], or [INTELLIGENT]) can be talked out of a Lethal fight, either by surrendering to them or making them yield. A notable exception is creatures from civilizations with the [KILL_NEUTRAL:REQUIRED] or [KILL_ENEMY:REQUIRED] [[Ethics|ethics]], which are always No-Quarter with neutral and enemies, respectively. Non-lethal and below types of fighting (often happening at a [[tavern]] or as the result of a spat due to differing values or other grudges) can also be easily de-escalated. This makes conflicts with other hostile sapient beings much easier to manage.&lt;br /&gt;
&lt;br /&gt;
In fortress mode, invaders and your dwarves are No Quarter toward each other (the only exception is elven or human diplomats offering peace treaties). Brawls may also happen at your tavern if non-dwarves drink more alcohol than their livers can handle, but these don't escalate into full blown war, although they do result in sometimes lethal injuries.&lt;br /&gt;
&lt;br /&gt;
==Bandits and [[criminal]]s==&lt;br /&gt;
&lt;br /&gt;
[[Bandits]] are entities consisting of groups harassing [[town]]s (including your fortress) from [[camp]]s in the countryside, and they are hostile toward civilization members. If you don't want them to be hostile to your adventurer, you should start the game as an [[outsider]] with no link to existing entities, or assume the identity of one. Bandits may lay (small-scale) siege to you in fortress mode, and are often given as quest targets in adventure mode. However, as they effectively own sites (camps, with a [[boss]] acting as the lord) it means you can try and de-escalate any [[level of conflict]] you may have with them, talk to the boss, and join them as a [[Hearthperson|lieutenant]], and take quests from them, effectively shifting your loyalty.  &lt;br /&gt;
&lt;br /&gt;
[[Criminal#Criminal Organization|Criminal organizations]], on the other hand, dwell in a town's [[dungeon]]s, and although they take part in various [[intrigue| schemes]], they are not nominally hostile toward anyone (apart from the occasional insult or spitting). Their members have links with existing groups in the town, and killing some of them as part of a [[quest]] may not be taken well by the citizenry.&lt;br /&gt;
&lt;br /&gt;
==Insurrections==&lt;br /&gt;
{{Main|Insurrection}}&lt;br /&gt;
&lt;br /&gt;
Several civilizations may lay claim to a single site. When a site belonging to a civilization gets occupied by another, there is a chance for the site's inhabitants to revolt, treating their current parent civ as enemies (and their former civ as friendly). This shift of loyalty often translates into a bunch of fights erupting out of nowhere in adventure mode.&lt;br /&gt;
&lt;br /&gt;
==Intelligent wildlife==&lt;br /&gt;
&lt;br /&gt;
Random non-civilized intelligent beings (gorlaks, gremlins, animal people) are hostile (as wildlife would be) in fortress mode. In adventure mode, their behavior depends on their alignment - evil-aligned ones like [[troll]]s or [[ogre]]s will attack you, while neutral and good-aligned ones like animal people or gorlaks can start conversations with you. (A notable exception is ''civilized'' animal people found in caves, that are hostile toward adventurers unlike previous versions.) They won't have much to say if they are not part of a civilization, though. [[Gremlin]]s are special as they can be tamed in fortress mode, which means they are able to become pet citizens, which, in turn, triggers all sorts of weirdness.&lt;br /&gt;
&lt;br /&gt;
Benign wildlife isn't really hostile in that they generally flee conflict if able, but they ''will'' put up a fight if cornered.&lt;br /&gt;
&lt;br /&gt;
==Tamed enemies==&lt;br /&gt;
{{Main|Animal trainer}}&lt;br /&gt;
&lt;br /&gt;
In Fortress mode, ''any'' creature that's been labelled as an enemy of your civilization ''will'' be hostile toward your fortress, no matter what. Creatures become enemies of your civilization by either killing a member of your civilization (e.g. one of your dwarves, but even pets qualify) or by belonging to an enemy civilization or otherwise hostile entity in the first place. In practice, this means that the following creatures will always be hostile, ''despite'' their tameable status:&lt;br /&gt;
&lt;br /&gt;
*[[Megabeast]]s ([[Roc|rocs]], [[Hydra|hydras]], [[Dragon|dragons]] are the tameable megabeasts)&lt;br /&gt;
*Enemy [[Mount|mounts]] brought in a [[siege]]&lt;br /&gt;
*Wildlife creatures that have killed one of your dwarves or pets. Most often, they acquire a [[name]] for this feat.&lt;br /&gt;
&lt;br /&gt;
You may cage and attempt to [[Animal training|train]] these creatures, raise their training level, and sure enough, this will yield experience for your trainers, and raise civilization-level knowledge about the animals. But you should ''never'' set them free inside your fortress, as they will munch on your dwarves ''and'' trigger a loyalty cascade in the process. See below for specific cases.&lt;br /&gt;
&lt;br /&gt;
Interestingly, the offspring of such creatures do ''not'' count as enemies of your civilization. This means you may attempt a breeding program between enemies of the same species, or an enemy and a wild counterpart that's presumably easier to handle. In practice, this leads to extremely disturbing situations where a mother either massacres her offspring as soon as she gives birth, or said offspring overwhelm her as soon as they come out of her. Note that this only ever happens if the species does not lay eggs - enemies do not use your [[nest box]]es (and, if they are [[building destroyer]]s, will simply demolish them) if you provide them with some.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
&lt;br /&gt;
[[Megabeast]]s and [[semi-megabeast]]s are neutral toward each other, but will try to kill everything else they can find - whether it be in [[World generation|worldgen]], [[adventurer mode]] or [[fortress mode]]. [[Forgotten beast]]s and [[titan]]s are hostile to everyone, including other forgotten beasts and titans. &lt;br /&gt;
&lt;br /&gt;
[[Insanity|Berserk]] dwarves are hostile to everyone, including each other. &lt;br /&gt;
&lt;br /&gt;
[[Visitors]] side with their parent civ if it goes to war with you.&lt;br /&gt;
&lt;br /&gt;
[[Demon|Demons]] that didn't escape from the [[Underworld|Underworld]] are hostile to every non-demon, and [[Angel|angels]] are hostile to every non-angel. This, obviously, does not apply to demons your adventurer has bound into servitude, nor does it apply to demons who rule (human or goblin) civilizations.&lt;br /&gt;
&lt;br /&gt;
If for some reason a demon is given a nobility title, they will turn neutral to creatures from the same faction. If they are given a [[religion|religious]] title, they will slaughter everyone with a different religion. Bestowing nobility titles can be a way to turn normally hostile creatures like [[night troll]]s or even [[bogeymen]] into becoming friendly to the parent civ the nobility relates to.&lt;br /&gt;
&lt;br /&gt;
==Loyalty cascade==&lt;br /&gt;
&lt;br /&gt;
Loyalty cascades are the result of entity members attacking each other. The conflict will escalate into a full civil war (hence Toady One referring to it as the &amp;quot;civil war bug&amp;quot;) and won't resolve until one side of the conflict is wiped out. Loyalty cascades can be triggered in both fortress and adventure mode.&lt;br /&gt;
&lt;br /&gt;
===Attacking [[Trade|merchants]] from your mountainhome===&lt;br /&gt;
&lt;br /&gt;
If you order your military to kill merchants from your own civilization, a bizarre result of the way loyalty is handled makes the members of your military who attacked the traders become enemies of your civilization, but remain members of your fort's government (dwarves of this faction will henceforth be referred to as ''separatists''). As enemies, they attack your other dwarves (''citizens''), but as members of the fort, they still follow orders. Allowing citizen militia dwarves to attack the separatists will give them opposite loyalties of the separatists, (i.e. loyal to civ, not to fort), or ''loyalists'', who do '''not''' follow orders. And then, if a separatist or loyalist kill a citizen, they become enemies of the civ '''and''' fort, making them ''Renegades'', who are essentially complete enemies of the citizens.&lt;br /&gt;
&lt;br /&gt;
===Attempting to tame enemy [[mount]]s===&lt;br /&gt;
&lt;br /&gt;
If you use [[cage]] [[trap]]s against goblin sieges, you are likely to capture [[Giant bat|a]] [[Cave crocodile|few]] [[Giant cave swallow|mounts]] [[Rutherer|from]] [[Jabberer|various]] [[Voracious cave crawler|species]]. You may assign them to your [[animal trainer]]s and attempt to tame them, thus gaining a few facts about each specific species; but under no circumstances should you ever release them from their cages, as they are always considered enemies to your civilization and will wreak havoc as soon as they are free. Not only that, but they will trigger a similar loyalty cascade as soon as they attack your citizens, leading your fort to its demise through a never-ending civil war - as well as, for example, some copious jabberer-chomping. The best course of action is to keep re-training the mounts in their cages over and over again, thus facilitating future taming of their '''wild''' counterparts.&lt;br /&gt;
&lt;br /&gt;
===Attacking a [[werebeast]] in dwarven form===&lt;br /&gt;
&lt;br /&gt;
If one of your dwarves turns into a [[werebeast]] and you send your military to kill them while shapeshifted, their failure to do so (and allowing the dwarf to revert to normal) may cause a loyalty cascade.&lt;br /&gt;
&lt;br /&gt;
===Attacking a berserk citizen or werebeast in wereform===&lt;br /&gt;
&lt;br /&gt;
Dwarven military can no longer be relied upon to put an end to the rampages of citizens gone [[insane|berserk]] or transformed into a beast. Fighting such a threat is treated as assaulting a citizen and will cause ''the defenders of your fort'' to lose loyalty and be hunted down as traitors. {{bug|7107}} Seems partially fixed in 0.42{{Verify}}.&lt;br /&gt;
&lt;br /&gt;
===How to deal with loyalty cascades===&lt;br /&gt;
&lt;br /&gt;
To prevent the cascade from spreading, order the original separatists away from the fortress and let them fight amongst themselves. If the results are renegades, it is okay to allow other dwarves to kill them (by stationing them nearby). If the results are separatists/loyalists, then you will need to separate them somehow.&lt;br /&gt;
&lt;br /&gt;
Dwarves from these different &amp;quot;factions&amp;quot; will cancel jobs if they ever come across one another, each running away. This will likely lead to a massive number of job interruption announcements reading ''Urist McDwarf cancels Eat: Interrupted by Farmer''&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' Tame animals are loyal to civilizations and fortresses indefinitely due to a bug, so they can be used to kill off separatists/loyalists without repercussions.&lt;br /&gt;
&lt;br /&gt;
A more radical solution is to briefly retire and then [[Reclaim_fortress_mode|reclaim]] your fort, which should reset your dwarves' loyalties.&lt;br /&gt;
&lt;br /&gt;
{{mod}}&lt;br /&gt;
&lt;br /&gt;
====DFHack====&lt;br /&gt;
If you have [[Utility:DFHack|DFHack]] installed, the command {{DFtext|fix/loyaltycascade|white}} will immediately end most loyalty cascades.&lt;br /&gt;
&lt;br /&gt;
{{Translation&lt;br /&gt;
| dwarven = uzlir&lt;br /&gt;
| elvish  = anoni&lt;br /&gt;
| goblin  = osmrur&lt;br /&gt;
| human   = ozo&lt;br /&gt;
}}&lt;br /&gt;
{{Category|Game mechanics}}{{Category|World}}&lt;br /&gt;
[[ru:Faction]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Aquifer&amp;diff=302238</id>
		<title>Aquifer</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Aquifer&amp;diff=302238"/>
		<updated>2024-07-02T17:30:46Z</updated>

		<summary type="html">&lt;p&gt;Myk002: change aquifer draining instructions to refer to gui/aquifer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior}}&lt;br /&gt;
{{av}}&lt;br /&gt;
[[File:aquifier_preview.png|thumb|300px|right|&amp;quot;This is what the in-game prompts were warning us about!&amp;quot;&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;''Photographed by Michael Behrens''&amp;lt;/small&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
An '''aquifer''' is a subterranean [[Stone layers|body of rock]] that holds groundwater. Once exposed it will start leaking [[water]], which can lead to a lot of [[Fun]] [[flood]]ing if left unmanaged. &lt;br /&gt;
&lt;br /&gt;
Aquifer tiles produce water in any ''neighboring'' open tiles – '''north, south, east, west,''' and '''below'''. The amount of water an aquifer produces depends on what type it is. '''Heavy aquifers''' are faster to produce water and much harder to manage compared to '''light aquifers'''. Aquifers cannot be drained; the groundwater is limitless, with even a single isolated tile leaking water forever. However, [[smoothing|smoothed]], mined, carved staircase, or channeled aquifer tiles no longer produce water. Aquifers located in [[ocean]] [[biome]]s will produce salty water; aquifers in other biomes will produce freshwater. The frequency of aquifers differs between embark locations.&lt;br /&gt;
&lt;br /&gt;
If you are digging an up/down staircase in the downward direction and you hit an aquifer, the aquifer tile will be revealed as [[damp stone|damp soil]] or stone and the digging job will be un-designated for that tile. If you are mining horizontally, you will similarly be warned of &amp;quot;damp stone&amp;quot; before breaching the aquifer. If you are digging an up/down staircase in the ''upward'' direction, or a ramp, and you hit an aquifer from below, the aquifer tile will immediately start producing water in the stairwell.&lt;br /&gt;
&lt;br /&gt;
== Types of aquifers ==&lt;br /&gt;
[[File:aqua_varied.png|thumb|150px|Embark screen: Area with a varied aquifer.]]&lt;br /&gt;
&lt;br /&gt;
The type of aquifers contained within the [[embark]] location can be reviewed in the [[embark screen]]. In addition to the heavy and light types of aquifer, DF can also display &amp;quot;Varied aquifer&amp;quot; if both types are present within the embark rectangle (also note that the biomes of neighboring tiles can &amp;quot;spill over&amp;quot; into a tile, resulting in different, unannounced aquifers in those parts).&lt;br /&gt;
&lt;br /&gt;
=== Light aquifers ===&lt;br /&gt;
Light aquifers are by far the most common (being ~19 out of every 20 aquifers), and produce water at a greatly diminished rate. As a result, they can easily be penetrated with minimal effort by digging out one level at a time and walling it off reasonably quickly. Light aquifers can be very useful for low-water applications such as slowly filling a cistern for wells, or feeding an atmospheric waterfall.&lt;br /&gt;
&lt;br /&gt;
An open tile will receive water from a light aquifer only if it is directly '''north of, south of, east of, west of, or below''' a tile of the aquifer  (not in the tile '''above''' them, nor in any diagonally-adjacent tiles). &lt;br /&gt;
The amount of water that the open tile receives is random, on average four per month, possibly reaching as low as two or as high as six. The same amount of water is received regardless of the number of adjacent aquifer tiles.&lt;br /&gt;
&lt;br /&gt;
Since water will leak into tiles '''below''' an aquifer, you must dig out and wall off or smooth the same tiles in every single damp Z-level you wish to utilize, or else find all lower z-levels flooded by an alarming downpour coming from a seemingly unknown source, that being the unmined or unsmoothed aquifer tiles above. It will seem as though the floor is leaking water, but it is actually coming through the ceiling. There is no need to smooth or construct floors, only solid tiles can leak water. However, if what you're trying to do is dig out a cistern, the most efficient way is to simply dig a large area out from directly under an aquifer layer, since every single tile will fill with water at a steady rate until it reaches 7/7. You'll know you're digging in the right level to make a cistern when every single tile you're trying to dig out is damp stone, but the layer below is dry.&lt;br /&gt;
&lt;br /&gt;
If you wish to excavate a large area within a light aquifer without painstakingly and continually walling it off, dig regular drains to an open area in a non-aquifer layer where the water can evaporate more quickly than it arrives. It will need to be much larger than the area of the aquifer dug out, however.&lt;br /&gt;
&lt;br /&gt;
Unlike heavy aquifers, light aquifer tiles do not drain away water.&lt;br /&gt;
&lt;br /&gt;
Although digging through light aquifer tiles is not very dangerous, your dwarves will continuously cancel designations with the &amp;quot;damp stone&amp;quot; warning with each new tile uncovered. The player must therefore repeatedly re-designate light aquifer squares to get the dwarves to mine it, making it a tedious affair. There is no way to turn off this automatic cancellation without using external tools such as [[DFHack]]. Alternately, once all desired tiles are revealed from above and designated for mining, when the &amp;quot;damp stone&amp;quot; alert pauses the mining activity, simply unpause for each alert (note that the unrevealed parts of designations will still be cancelled).&lt;br /&gt;
&lt;br /&gt;
=== Heavy aquifers ===&lt;br /&gt;
Unlike light aquifers, heavy aquifers produce water almost immediately, effectively halting excavation at or below the aquifer level. This, in conjunction with the fact that they are often located in areas rich in [[loam]] and [[sand]], makes it difficult to find great quantities of [[stone]] in areas with heavy aquifers, making for more challenging gameplay.&lt;br /&gt;
&lt;br /&gt;
Unmined heavy aquifer tiles also act as an infinite ''sink'' for water, just like an open map edge. A single aquifer tile can absorb any amount of [[pressure|pressurized]] water each tick, limited only by the supply. One less obvious consequence is that if an opening is made through a multi-layer aquifer, only the lowest opened layer will ever fill with water.&lt;br /&gt;
&lt;br /&gt;
Empirically, heavy aquifers gain approximately 1/7 water every 14 ticks, though production has been observed to vary from 2-28 ticks. This rate does not appear to change significantly based on the number of adjacent aquifer tiles.&lt;br /&gt;
&lt;br /&gt;
== Where they are found ==&lt;br /&gt;
&lt;br /&gt;
Aquifers appear based on the elevation of the terrain. Low elevations - particularly those near rivers and oceans - are more prone to having an aquifer present, while locations closer to mountains are much less likely, but still possible. Depending on the [[embark]] location's biomes, you may deploy to an area containing no aquifers, or up to several aquifers throughout your map.&lt;br /&gt;
&lt;br /&gt;
Layers which '''can''' contain aquifers:&lt;br /&gt;
{{columns-list|colwidth=20em|&lt;br /&gt;
*[[sandy clay loam]]&lt;br /&gt;
*[[silty clay loam]]&lt;br /&gt;
*[[loam]]&lt;br /&gt;
*[[sandy loam]]&lt;br /&gt;
*[[silt loam]]&lt;br /&gt;
*[[loamy sand]]&lt;br /&gt;
*[[silt]]&lt;br /&gt;
*[[sand (tan)|sand]]&lt;br /&gt;
*[[yellow sand]]&lt;br /&gt;
*[[white sand]]&lt;br /&gt;
*[[black sand]]&lt;br /&gt;
*[[red sand]]&lt;br /&gt;
*[[peat]]&lt;br /&gt;
*[[pelagic clay]]&lt;br /&gt;
*[[calcareous ooze]]&lt;br /&gt;
*[[siliceous ooze]]&lt;br /&gt;
*[[sandstone]]&lt;br /&gt;
*[[conglomerate]]&lt;br /&gt;
*[[puddingstone]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;!-- Note: only layers with the [AQUIFER] token can support aquifers. Other layers can appear directly below an aquifer and will blink &amp;quot;damp&amp;quot;, but they are not actually part of the aquifer - digging into them will still cause water to come from above. Please check the raws for the [AQUIFER] token before adding to this list. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Layers which '''cannot''' contain aquifers, despite their names suggesting otherwise:&lt;br /&gt;
{{columns-list|colwidth=20em|&lt;br /&gt;
*[[clay]]&lt;br /&gt;
*[[silty clay]]&lt;br /&gt;
*[[sandy clay]]&lt;br /&gt;
*[[clay loam]]&lt;br /&gt;
*[[siltstone]]&lt;br /&gt;
*[[mudstone]]&lt;br /&gt;
*[[claystone]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Working in aquifers ==&lt;br /&gt;
When working in aquifers, some points to keep in mind include:&lt;br /&gt;
&lt;br /&gt;
*Water on the tile where a worker is standing will cause job cancellations if it gets too high. A construction job (e.g. wall building) will be suspended by 2/7 depth, but a mining job will only be stopped by 4/7 depth of water.&lt;br /&gt;
* Flowing water will cause parents to drop their infants, leading to job cancellations, and occasionally [[fun]].&lt;br /&gt;
* Aquifers do not create water in diagonal tiles, but do create water in open tiles directly below them. Therefore, you will want to dig two z-levels below the lowest aquifer layer before continuing with your fortress.&lt;br /&gt;
&lt;br /&gt;
=== Probing an aquifer ===&lt;br /&gt;
&lt;br /&gt;
You can discover what layer lies below an aquifer layer by digging up/down stairs into the aquifer. This will reveal the tile below the aquifer layer, and if this is non-aquifer (for example, clay, ore or bedrock) then you know the aquifer is only 1z deep at that location. This method can only be used to determine whether the aquifer is 1 layer deep, or multiple layers deep, but this is still enough information to help plan how to penetrate it. Using a pump-based method is highly recommended for multiple layer heavy aquifers.&lt;br /&gt;
&lt;br /&gt;
== Dealing with heavy aquifers ==&lt;br /&gt;
===Going around===&lt;br /&gt;
If your embark site is covered by multiple biomes, there is a chance the heavy aquifer is not present in every biome.  In some maps this may be indicated by an outcropping of stone in a landscape otherwise composed of soil; in other maps the change in biome might be visible as a change in soil type, vegetation type or density.  You might be able to dig down through a biome that doesn't have a heavy aquifer, to a Z-level below the heavy aquifer, and then (if you wish) tunnel beneath the heavy aquifer to the previously -inaccessible region.&lt;br /&gt;
&lt;br /&gt;
Even if all the biomes of your site contain aquifers, they might not all be at the same Z-level, so you still might be able to dig down in one biome, reaching a Z-level beneath the aquifer in another biome.&lt;br /&gt;
&lt;br /&gt;
Additionally, if your biome contains deep cliffs, for instance, in the form of a river gorge, it may be possible to build a staircase down the side of the gorge past the aquifer.&lt;br /&gt;
&lt;br /&gt;
=== The double slit method ===&lt;br /&gt;
{{Main|Double-slit method}}&lt;br /&gt;
This is one of the most commonly-used methods, due to its convenience and power. It was originally developed by QuantumMenace, and is also mentioned below under [[#The pump method|the pump method]].&lt;br /&gt;
&lt;br /&gt;
=== The hatch trick ===&lt;br /&gt;
The hatch trick is a simple method for putting one or two dwarves through a single heavy aquifer layer. (This is not to be mistaken with only working for a single layer aquifer.) You can use the trick to essentially bypass the problematic final layer of a multi-layer aquifer, allowing access to the rock layers and caverns before you've put a sealed staircase through the aquifer.&lt;br /&gt;
&lt;br /&gt;
First you must dig a pair of up/down stairs into the aquifer (i.e. as in twin slit), while draining one of the tiles with a screw pump, simply build a hatch on the tile (the hatch must be built on a downstairs or up/down stairs for the trick to work). Once the hatch is constructed, with the pump still operating, designate an up/down staircase under the hatch, a miner will dig the staircase out while standing 'on top' of the hatch, he can then pass through the hatch to continue digging, the hatch will let 1-2 water through with him before closing and preventing further water from following the miner. The miner is now safely under the aquifer and can dig down to the caverns or to the map edge and establish a drain, allowing you to use the much faster [[#The drainage method|drainage from below method]] to finish penetrating the aquifer. This can save a lot of time for multiple-layer aquifers where the final layer is sand. It is also quicker and cleaner than cave-in for single layer aquifers if you plan to extend a staircase straight down to the caverns anyway (making the drain essentially free).&lt;br /&gt;
&lt;br /&gt;
===The ore method===&lt;br /&gt;
On maps where the aquifer is not held in a layer of soil, but instead is held in a [[sedimentary layer]] such as sandstone, it may be possible to tunnel down through deposits of ore such as [[magnetite]]. For this to work you have to find a spot where there is coincidentally an ore deposit on each Z-level you need to dig through.  This is only possible through tiresome trial and error, or through the use of a utility like DFHack's &amp;lt;tt&amp;gt;reveal&amp;lt;/tt&amp;gt;. The trial and error method can be accomplished somewhat more easily by digging up/down stairs to reveal the layer underneath them without actually digging into the underlying layer.  This method is more complicated with aquifers located in layers of [[conglomerate]], as large clusters of [[puddingstone]] will support the aquifer and thus cannot be used to provide a path through it.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;quot;Chicken Run&amp;quot; technique ===&lt;br /&gt;
In versions of the game earlier than {{version|0.40.23}}, this term meant having a reasonably fast/skilled miner dig a set of up/down staircases faster than the water from the aquifer could fall down the stairs and block movement into the mining tile. With luck, a miner could breach the caverns this way, allowing the aquifer water to drain. After the addition of job priorities, this became impossible. Now, when a newly revealed damp tile cancels mining, the miner will revert to &amp;quot;No Job&amp;quot; status and will take a few dozen ticks to resume mining. In that time, the miner will walk away and the site will be flooded, making the tile below unreachable.&lt;br /&gt;
&lt;br /&gt;
A limited but useful variant of this technique still exists. By digging downward staircases in the layer above the aquifer, those tiles can be revealed as damp, and thus will not trigger the mining cancellation. A sufficiently fast miner (Professional or so should do for soil layers, depending on agility) can then dig a stair in one of the tiles, and before that tile floods, channel out an adjacent tile. The channel will breach the layer below, and if that layer is also an aquifer, it will of course act as an infinite drain for water from above. This then opens the possibility of opening space to work in the upper layer.&lt;br /&gt;
&lt;br /&gt;
While not a direct staircase in the original method, establishing a drain with just a pick is also possible with a dabbling miner. One can channel an aquifer tile from up to four ramps dug at the corners of the tile to be channeled, such that the channel priority is higher than the ramp-digging priority. Using this, one can establish drains into the next level of a soil aquifer, as digging progress accumulates in revealed tiles.&lt;br /&gt;
&lt;br /&gt;
If you fail to mine fast enough, or if flowing water pushes your miner down the channeled ramp, the dwarf will usually walk up the stairs to safety, but it is possible that the miner might &amp;lt;s&amp;gt;drown&amp;lt;/s&amp;gt; have fun. In stone aquifers, a legendary miner can manage with one attempt at channeling, and at minimum, a proficient miner can manage with four, though in the second case they'll risk drowning and can take weeks to dig the next channel to expand the drain.&lt;br /&gt;
&lt;br /&gt;
=== Exploiting cave-ins ===&lt;br /&gt;
Conceptually this method involves removing the aquifer-bearing sand, soil or rock using channeling, and then dropping an island of dry sand, soil or clay into the resulting pond, a staircase can then be dug through the center of the resulting artificial island. This requires at least one natural dry layer, but is more flexible if two or more are available. An advantage of these methods is that they can be carried out by a single miner with no resources other than a pick.&lt;br /&gt;
&lt;br /&gt;
This does not work with [[construction|constructed]] walls since they deconstruct on cave-in.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' There is a bug{{bug|1206}} that can occasionally prevent this method from working. Collapsed layers often turn into the layer type that was dug out at the level where they land (e.g. dry loam becomes dry sand). On occasion, a dry layer collapsed into an aquifer will also transform into actual aquifer tiles (e.g. dry loam becomes water-producing sand). It is unknown what triggers this behavior, but when it occurs it will be impossible to pierce the aquifer using cave-ins.&lt;br /&gt;
&lt;br /&gt;
When unmined tiles collapse into a liquid, the displaced liquid teleports to sit ''on top'' of the collapsed tiles. Thus, when plugging an aquifer, it is usually advisable to incorporate aquifer drain space into the design to dispose of the displaced water.&lt;br /&gt;
&lt;br /&gt;
==== Cave-in example ====&lt;br /&gt;
[[File:Aquifer-Plug.png|frame|none|Side view]]&lt;br /&gt;
&lt;br /&gt;
*Dig stairs down to the aquifer. Dig over the aquifer layer but under your &amp;quot;plug&amp;quot;. You'll need a 5x5 landmass. (Slide 2)&lt;br /&gt;
*Channel out the area the plug will fall into. (Slide 3)&lt;br /&gt;
*Leave a single floor tile on top of the plug and dig out the outer layer of your plug. The plug should be a 3x3 landmass now. The single floor tile must keep the plug from falling. (Slide 3)&lt;br /&gt;
*Channel out the floor tile holding up the plug. (Slides 4 &amp;amp; 5)&lt;br /&gt;
*Construct floor tiles to reach the plug and dig through the middle to get under the aquifer. (Slide 6)&lt;br /&gt;
&lt;br /&gt;
==== Concentric ring method for multiple layers ====&lt;br /&gt;
&lt;br /&gt;
If you build many rings inside one another in your top drop layer, you can breach multi-level aquifers with as little as 2 natural layers of dry soil above it.  Drop the rings from the outside to the inside using constructed arms to hold the center rings in place.  Once a ring drops into the water below it, pump out the water in the center and dig down another layer.  When that is complete, drop the next ring and continue the process until you are through.  Since you start dropping rings from the outside it is necessary to know how many levels deep the aquifer is before you begin.&amp;lt;br&amp;gt;&lt;br /&gt;
Tutorial for more than one Aquifier can be found here: [[User:Rhenaya/HowtoDualAquifer]]&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Chicken-Run&amp;quot; plug ====&lt;br /&gt;
&lt;br /&gt;
This method was developed for a single-pick challenge on a hostile biome. In the specific (but common) case of a 2-Z thick soil aquifer, with two dry layers above, it is possible to very quickly penetrate the aquifer using a cave-in without breaching the surface and compromising the fort's security. The method starts with a Chicken Run (see above), after which an area of the upper aquifer level is cleared out with drainage into the lower level. The lower dry level is then collapsed, which means that the sub-surface level only needs to be mined (to release the plug) rather than collapsed as part of the plug.&lt;br /&gt;
&lt;br /&gt;
The procedure is described in detail {{Forum|129994.msg4620421#msg4620421|in this and the following posts}}.&lt;br /&gt;
&lt;br /&gt;
While not yet demonstrated, it should be possible to use successive cycles of chicken-running and clearing to pierce arbitrarily deep soil aquifers this way.&lt;br /&gt;
&lt;br /&gt;
=== The pump method ===&lt;br /&gt;
The pumping method uses one or more [[screw pump|pumps]] to keep an area dry long enough to smooth or [[wall]] off the sides, stopping the flow of water.  It requires no special environment or resources, other than wood and dwarves (and patience).  Most commonly, a modestly-sized section of the aquifer layer is channeled out and several screw pumps are built facing it.  Directly behind each of the screw pumps a few tiles are channeled out to receive and dispose of the pumped water.  When the pumps are activated, they should pump water faster than the aquifer can produce it, allowing masons to smooth or build walls around your future staircase.  You ''will'' get job cancellations during this process, as stray 2/7's of water interrupt the building process.  Just unsuspend the construction when this happens, as long a dwarf manages to touch the wall before canceling, it will move incrementally toward completion and eventually finish.  Depending on the availability of screw pumps and dwarves, you may need to wall off one corner or side at a time, then move the pumps and repeat.  When drilling through more than one aquifer layer, be sure to leave yourself enough room to build additional layers of pumps and water disposal channels on lower levels. &lt;br /&gt;
&lt;br /&gt;
Things to consider: &lt;br /&gt;
* The smaller your work area, the less water your dwarves will have to remove and the faster construction will finish. For a single-layer soil aquifer, you only need to mine five tiles (your stairway and walls directly North, South, East, and West of it); single-layer stone aquifers require only a single tile be channeled.&lt;br /&gt;
* Mechanical [[power]] may come in handy, but dwarf power works just fine and is much more portable.&lt;br /&gt;
* Channels can sometimes be used in place of walls, causing water produced by the aquifer on one level to immediately fall and be consumed by the aquifer on the level below.&lt;br /&gt;
* This method may take a while.&lt;br /&gt;
&lt;br /&gt;
==== Specific pump methods in detail ====&lt;br /&gt;
QuantumMenace's [[double-slit method]] can pierce an aquifer of any depth using only wood and dwarven labor. Taken from [http://www.bay12forums.com/smf/index.php?topic=79224.15 this forum post].&lt;br /&gt;
&lt;br /&gt;
Earlier in the same thread, Hans Lemurson laid out a very dwarfy method that can also pierce aquifers of any depth, using several pumps and machinery. [http://www.bay12forums.com/smf/index.php?topic=79224.0#msg2058307 Find it here].&lt;br /&gt;
&lt;br /&gt;
A convenient method without job cancellation using a [[pump stack]] was presented by kingubu in [http://www.bay12forums.com/smf/index.php?topic=143064.0 this forum post], see [[Pump-stack_method]]&lt;br /&gt;
&lt;br /&gt;
Leonidas posted a [http://www.bay12forums.com/smf/index.php?topic=169616.0 detailed procedure], copiously illustrated, for tunneling through any aquifer with limited resources and relative safety.&lt;br /&gt;
&lt;br /&gt;
===The freezing method===&lt;br /&gt;
If you are playing in a freezing or very cold landscape, where it snows in winter and instantly freezes water on the map, you can dig out a 3x3 hole in the ground using [[channel]]s, and make it deeper and deeper until you reach the aquifer level. Once you reach the damp rock, tunnel into it with up/down staircases, then channel out the downstairs, the exposed water will turn to ice, digging the up/downstairs before channeling allows the tiles to safely fill with 7/7 water before being frozen, this avoids the hazard of miners being encased in ice and avoids a bug(?) where frozen water which is less than 7/7 deep does not produce a floor above it. The central square of the 3x3 hole should be tunnelable ice, so you can get to the rock beneath.&lt;br /&gt;
&lt;br /&gt;
If your fortress is in a zone that gets warm, build walls around the inside of the hole to stop the water coming in once the ice melts. In order to build a wall around a 1x1 staircase it will be necessary to have a 5x5 hole, since you need to leave an outer ring of ice to seal the aquifer.&lt;br /&gt;
&lt;br /&gt;
If the aquifer is multiple layers deep you will need to start with a sufficiently large hole to account for both an ice wall to seal the aquifer and a constructed wall to seal the ice wall for each layer of the aquifer. A pump based method might be preferable.&lt;br /&gt;
&lt;br /&gt;
As an alternative to building a second wall to seal the ice wall, you can establish a drain into the caverns, and build a constructed wall when the melt comes.&lt;br /&gt;
&lt;br /&gt;
===The magma/obsidian method===&lt;br /&gt;
If you have access to a supply of magma, you can create your own obsidian caissons. By channeling into the aquifer layer and then filling these channels with magma, or by digging staircases and pouring magma down the staircases, it is possible to create a wall of obsidian between your working area and the [[water]]-bearing rock or [[soil]]. However, changes to world generation with the last version have made this method more difficult than it once was, as it is now harder to find magma vents that extend above the aquifer level.&lt;br /&gt;
&lt;br /&gt;
===The drainage method===&lt;br /&gt;
Having made an initial hole in the aquifer, you may wish to punch another larger hole through, say for example to grow wild strawberries in the caverns. Or you may simply want an additional (natural stone!) staircase. Once you have access from below this is much easier than digging from above, and it has the additional benefit of producing a shaft of exactly the size you want.&lt;br /&gt;
&lt;br /&gt;
Locate the caverns and dig a drainage shaft of up/down stairs or downward stairs up from the caverns to the aquifer (downward stairs function as grates and are far safer than channeling). Once the drainage shaft is complete punch the shaft up through the aquifer (using up/down stairs) until you hit dry dirt. Now mine out the walls around the shaft and build constructed walls to seal the aquifer. It's even faster if the walls are dug out using down stairs instead, constructed walls can be built on the stairs and water falls straight through, thus construction can always be started and is never suspended. Always build the walls from the highest layer down, so the dwarves aren't having water dumped on them from above.&lt;br /&gt;
&lt;br /&gt;
This method can be used to create arbitrarily large (and shaped) holes. Large holes, which would be impractical to dig from above, are very easy using this technique. It's also extremely useful for digging straight shafts through &amp;quot;layercake&amp;quot; aquifers where aquifer tiles and non-aquifer tiles are intermixed.&lt;br /&gt;
&lt;br /&gt;
Just be very aware that your framerate is bound to suffer, if you are not fast with plugging the aquifer walls.&lt;br /&gt;
&lt;br /&gt;
===The modding method===&lt;br /&gt;
{{Mod}}&lt;br /&gt;
By editing the raws and removing the [AQUIFER] tag from all of the appropriate entries in inorganic_stone_layer.txt, inorganic_stone_mineral.txt, and inorganic_stone_soil.txt it is possible to remove all aquifers from the world.  This can be done before creating a new world or after, if you find a particularly neat location ruined only by the presence of an aquifer. In order to modify an existing world, you must delete the [AQUIFER] tag from the raws in the savegame's folder.&lt;br /&gt;
&lt;br /&gt;
==== With Lazy Newb Pack====&lt;br /&gt;
Using the [[Utility:Lazy Newb Pack|Lazy Newb Pack]] you can disable aquifers in the options tab before generating a new world.  This works similarly to the command-line method below, but is usually a lot easier.&lt;br /&gt;
&lt;br /&gt;
==== With DFHack ====&lt;br /&gt;
The [[Utility:DFHack|DFHack]] command &amp;lt;code&amp;gt;light-aquifers-only&amp;lt;/code&amp;gt; changes all heavy aquifers to light aquifers. If you prefer not having to deal with aquifers at all, the DFHack command &amp;lt;code&amp;gt;drain-aquifer&amp;lt;/code&amp;gt; removes the aquifer flag from all tiles in your current embark without requiring raw edits.  &lt;br /&gt;
&lt;br /&gt;
===== With DFHack's gui/aquifer command =====&lt;br /&gt;
DFHack's [https://docs.dfhack.org/en/latest/docs/tools/gui/aquifer.html &amp;quot;gui/aquifer&amp;quot;] command lets you interactively remove (or create) aquifers on specific tiles. This is useful if you want to keep a heavy aquifer on your map, but don't want to deal with the hassle of breaching it.&lt;br /&gt;
&lt;br /&gt;
To create an aquiferless shaft, do this:&lt;br /&gt;
# Open gui/launcher by clicking on the DFHack logo and selecting gui/launcher&lt;br /&gt;
# Run gui/aquifer&lt;br /&gt;
# Draw a cube containing the area to drain&lt;br /&gt;
&lt;br /&gt;
Don't worry about hitting non-aquifer tiles: they shouldn't be affected by the tool at all.&lt;br /&gt;
&lt;br /&gt;
==== Command-line (Linux/OS X) ====&lt;br /&gt;
Note that this prevents light aquifers as well as heavy ones!&lt;br /&gt;
&lt;br /&gt;
 cd df_linux/raw/objects/&lt;br /&gt;
 sed -i 's/\[AQUIFER\]/(AQUIFER)/g' inorganic_stone_*.txt&lt;br /&gt;
&lt;br /&gt;
and generate world.  To edit an already generated world, run the &amp;lt;code&amp;gt;sed&amp;lt;/code&amp;gt; command in the &amp;lt;tt&amp;gt;df_linux/data/save/''regionNN''/raw/objects&amp;lt;/tt&amp;gt; folder instead. &lt;br /&gt;
&lt;br /&gt;
OS X requires an argument to the &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt; flag, which is used as an extension to create backup files (but it can be empty):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;pre&amp;gt;sed -i '' 's/\[AQUIFER\]/(AQUIFER)/g' inorganic_stone_*.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to restore the tags later, you can do it with the command:&lt;br /&gt;
&lt;br /&gt;
 sed -i 's/(AQUIFER)/[AQUIFER]/g' inorganic_stone_*.txt&lt;br /&gt;
&lt;br /&gt;
==== Text editor (all operating systems) ====&lt;br /&gt;
You can manually perform the command-line method above.&lt;br /&gt;
&lt;br /&gt;
There are three files. They can be found in two different places.&lt;br /&gt;
&lt;br /&gt;
For every new world you make:&lt;br /&gt;
    “THE FOLDER DF IS INSTALLED IN”\data\vanilla\vanilla_materials\objects&lt;br /&gt;
&lt;br /&gt;
For worlds that have already been made:&lt;br /&gt;
    “THE FOLDER DF IS INSTALLED IN”/data/save/“THE WORLD YOU ARE EDITING”/raw/objects&lt;br /&gt;
&lt;br /&gt;
The three files you are editing are:&lt;br /&gt;
     inorganic_stone_layer.txt&lt;br /&gt;
     inorganic_stone_mineral.txt&lt;br /&gt;
     inorganic_stone_soil.txt&lt;br /&gt;
&lt;br /&gt;
Open these in a text editior.&lt;br /&gt;
Open the “Find and Replace” function of your text editor.&lt;br /&gt;
&lt;br /&gt;
Replace all instances of&lt;br /&gt;
[AQUIFER]&lt;br /&gt;
with &lt;br /&gt;
(AQUIFER)&lt;br /&gt;
&lt;br /&gt;
Later on, if you would like to reverse the process, replace (AQUIFER) with [AQUIFER].&lt;br /&gt;
&lt;br /&gt;
== Benefits of aquifers ==&lt;br /&gt;
Aquifers can be useful for building a self-sufficient fortress, and are often indispensable for water-related [[megaprojects]] in maps without a river.&lt;br /&gt;
&lt;br /&gt;
Aquifers outside [[ocean]] biomes also contain fresh water. Since aquifers are almost always located close to the surface, freshwater aquifers can easily be turned into a source of infinite, secure, non-freezing drinking water for your dwarves, eliminating the need for a [[Reservoir|cistern]]. While both of these roles can also be filled by [[Caverns|cavern]] features, an aquifer allows you to get the same advantages without exposing yourself to potentially &amp;lt;s&amp;gt;dangerous&amp;lt;/s&amp;gt; Fun cavern creatures.&lt;br /&gt;
&lt;br /&gt;
=== A benefit of heavy aquifers? ===&lt;br /&gt;
Although annoying, heavy aquifers can absorb an infinite amount of water, meaning they can function as a drain for anything above them. For instance, digging a pit in a lower Z-level of the aquifer, then connecting it to a breached aquifer a level above, through a channel dug a level above that, will create a permanently flowing, compact, secure water/power source completely contained within the fortress.&lt;br /&gt;
&lt;br /&gt;
== Technical implementation of the aquifer version split ==&lt;br /&gt;
&lt;br /&gt;
The aquifer split introduced in 0.47.01 uses the crude but effective random-appearing method of making all aquifers light unless the Drainage modulo 20 equals 7.&lt;br /&gt;
&lt;br /&gt;
== Notes &amp;amp; Bugs ==&lt;br /&gt;
* As of {{version|0.47.01}}, there are two types of aquifers: '''light aquifer''' and '''heavy aquifer''', with light aquifers being by far the most common. Prior to this, all aquifers behaved as the &amp;quot;heavy&amp;quot; type.&lt;br /&gt;
* Aquifers south/west of the NW-SE diagonal in the local embark map are not displayed on the embark screen (but they're still present). {{bug|11358}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=79224.15 QuantumMenace's two-slit method] for breaching aquifers of any depth - Illustrated guide&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=141600 Hatch trick] described with ascii art.&lt;br /&gt;
{{World}}&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Modding&amp;diff=300027</id>
		<title>Modding</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Modding&amp;diff=300027"/>
		<updated>2024-04-28T22:51:37Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Resource Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{migrated article}}&lt;br /&gt;
{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{For/see|a list of Dwarf Fortress mods|[[List of mods]]}}&lt;br /&gt;
{{Modding}}&lt;br /&gt;
'''Modding''', or creating [[mod]]s, refers to modifying the behavior of the base game (vanilla). ''Dwarf Fortress'' is remarkably moddable.&lt;br /&gt;
&lt;br /&gt;
== Resource Overview==&lt;br /&gt;
[[File:modding_icon.png|120px|right]]This section serves as a portal to all modding-related pages on the wiki. &lt;br /&gt;
&lt;br /&gt;
; Using Mods:&lt;br /&gt;
* [[Mod#Installing Mods|Installing mods]]&lt;br /&gt;
* [[Mod#Enabling Mods|Enabling mods in-game]]&lt;br /&gt;
&lt;br /&gt;
; Guides and references:&lt;br /&gt;
* [[Modding guide|DF RAWs modding guide]]&lt;br /&gt;
* [https://docs.dfhack.org/en/latest/docs/guides/modding-guide.html#dfhack-modding-guide DFHack modding guide]&lt;br /&gt;
* [[Modding pitfalls]] for troubleshooting&lt;br /&gt;
&lt;br /&gt;
* [[Mod#Mod Format|Mod Format]] and [[Game folders and files]]&lt;br /&gt;
* [[Mod#Publish on Steam Workshop|Publish on Steam Workshop]]&lt;br /&gt;
* [[Memory hacking]], [[Main:Offset Finding Methods|Offset Finding Methods]]&lt;br /&gt;
* [[Character table]]&lt;br /&gt;
&lt;br /&gt;
; Where to get help?&lt;br /&gt;
* This [http://www.bay12forums.com/smf/index.php?board=13.0 forum] is the official DF subforum dedicated to discussions about modding.&lt;br /&gt;
* [https://discord.com/channels/329272032778780672/629902895138996264 Kitfox modding discord] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#getting-help DFhack questions] &lt;br /&gt;
&lt;br /&gt;
; Modding tools&lt;br /&gt;
There are several [[Utilities#Modding_tools|utilities]] that assist in modding efforts. There is [http://www.bay12forums.com/smf/index.php?topic=28829.0 a list of them] on the [[Bay 12 Forums]].&lt;br /&gt;
* Text Editors are used in all areas of modding. Use a good text editor to edit files and search into multiple files (like the free [https://notepad-plus-plus.org/ Notepad++] for example) or more advanced editors capable of highlighting and formatting the displayed text (like [[Utilities#DF_RAW_Language_server|DF RAW Language server]])&lt;br /&gt;
* Image Editor will be needed for doing custom graphics. [https://www.getpaint.net/ Paint.NET], Photoshop and GIMP are the most used, but whatever supports the .png format will work.&lt;br /&gt;
&lt;br /&gt;
=== Documentation===&lt;br /&gt;
; [[Raw file]]s&lt;br /&gt;
&lt;br /&gt;
These object files, stored in &amp;lt;code&amp;gt;/data/vanilla/*/objects/&amp;lt;/code&amp;gt;, define various specifics of game items, materials, and creatures, and can be changed using mods to alter how the game behaves. These are text based and can be edited with any text editor, however, editing the vanilla raw files is now discouraged.&lt;br /&gt;
&lt;br /&gt;
See [[Token|Token reference]] - It's always good to refer to tokens on the wiki. Even experienced modders have to look up tokens! A list of articles about tokens can be found here.&lt;br /&gt;
&lt;br /&gt;
; [[Graphics|Graphics Files]]:&lt;br /&gt;
&lt;br /&gt;
The `/data/art/` subfolder of Dwarf Fortress is used to store user-customizable graphics sets.&lt;br /&gt;
&lt;br /&gt;
; [[Reaction]]s:&lt;br /&gt;
&lt;br /&gt;
; [[Language token|Language]] and [[Speech file]]:&lt;br /&gt;
&lt;br /&gt;
; [[Audio|Sound and Music files]]:&lt;br /&gt;
&lt;br /&gt;
All sound and music files used by ''Dwarf Fortress'' are stored in the [https://en.wikipedia.org/wiki/Ogg .ogg] format within the &amp;lt;code&amp;gt;/data/sound/&amp;lt;/code&amp;gt; subfolders. You can replace the existing ogg files with different ones. That has to be performed manually and isn't actually supported by the game. You can also change some of the definitions of when certain musical cues are played, using available [[music token]]s and [[sound token]]s in the raw files. However, you can't add new music or sounds other than replacing what's already there.&lt;br /&gt;
&lt;br /&gt;
=== Best practice ===&lt;br /&gt;
The current best practice is to not modify the original raw files, since most modifications can be made via mods. Mods can add new objects, add tokens to existing objects, and cut objects entirely. You should prefer SELECT over CUT, and prefer CUT over not loading vanilla raws.&lt;br /&gt;
&lt;br /&gt;
== Guide ==&lt;br /&gt;
This is intended to be a guide to inform those new to ''Dwarf Fortress'' modding on what elements of the game can be modified, and how. After reading through this guide, a user should be capable of editing creatures, entities, materials ''et al'', and creating their own.&lt;br /&gt;
&lt;br /&gt;
Generally, breaking stuff is fine - nothing that can be changed will affect the DF executable, and new additions can be easily removed.&lt;br /&gt;
&lt;br /&gt;
This guide is based on [[40d:Modding guide|Teldin's guide]], originally created for version 0.27.176.39c. Per wiki tradition, it has been updated through all the major releases since then; hopefully it reflects current knowledge.&lt;br /&gt;
&lt;br /&gt;
=== Token reference ===&lt;br /&gt;
It's always good to refer to tokens on the wiki. Even experienced modders have to look up tokens! A list of articles about tokens can be found [[Token|here]].&lt;br /&gt;
&lt;br /&gt;
=== Basics of DF modding ===&lt;br /&gt;
To make a mod, one must put a folder into the &amp;lt;code&amp;gt;/mods/&amp;lt;/code&amp;gt; folder. The vast majority of modifications to the game can be done via this method. This folder should contain a file named &amp;quot;info.txt&amp;quot; and two subfolders: &amp;quot;graphics&amp;quot; (where you insert [[Graphics set repository|graphics sets]]), and &amp;quot;objects&amp;quot;, which contains all the data for, generally, everything in the game that is not hardcoded.&lt;br /&gt;
&lt;br /&gt;
The [[info.txt]] is formatted like so:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
[ID:my_first_mod]&lt;br /&gt;
[NUMERIC_VERSION:1]&lt;br /&gt;
[DISPLAYED_VERSION:1.0.0]&lt;br /&gt;
[EARLIEST_COMPATIBLE_NUMERIC_VERSION:1]&lt;br /&gt;
[EARLIEST_COMPATIBLE_DISPLAYED_VERSION:1.0.0]&lt;br /&gt;
[AUTHOR:Your Name Here]&lt;br /&gt;
[NAME:My First Mod]&lt;br /&gt;
[DESCRIPTION:A cool mod I made!]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A mod should have all of these. There are a [[mod info token|few more tokens]], but the above are the important ones.&lt;br /&gt;
&lt;br /&gt;
Most of the game's vanilla content is in the same format as mods. Many text files can be found in the subfolders of the &amp;lt;code&amp;gt;/data/vanilla&amp;lt;/code&amp;gt; folder - these are the [[raw file|raw files]], and using them as a basis for modification is quite easy. For now, we will take a look at one of the existing files. For example, if you open &amp;lt;code&amp;gt;/data/vanilla/vanilla_creatures/creature_standard.txt&amp;lt;/code&amp;gt;, it should look something like this:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 creature_standard&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:CREATURE]&lt;br /&gt;
 &lt;br /&gt;
 [CREATURE:DWARF]&lt;br /&gt;
     [DESCRIPTION:A short, sturdy creature fond of drink and industry.]&lt;br /&gt;
     [NAME:dwarf:dwarves:dwarven]&lt;br /&gt;
     [CASTE_NAME:dwarf:dwarves:dwarven]&lt;br /&gt;
     [CREATURE_TILE:1][COLOR:3:0:0]&lt;br /&gt;
     [CREATURE_SOLDIER_TILE:2]&lt;br /&gt;
 ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
As you can see, each file comprises a header string stating the file name, a second header stating the type of object data it contains, followed by the contents of the file itself. These are all necessary elements of the file, and without them, the file will be ignored by the game. &lt;br /&gt;
&lt;br /&gt;
'''In other words, to be recognized by the game, a raw file must have all of the following:'''&lt;br /&gt;
&lt;br /&gt;
# A filename that refers to the type of objects contained therein. '''Creature files must start with creature_, entity files must start with entity_, and so on.'''&lt;br /&gt;
# The filename on the first line of the file.&lt;br /&gt;
# [OBJECT:type], where &amp;quot;type&amp;quot; is replaced with the relevant object type.&lt;br /&gt;
&lt;br /&gt;
Below the headers, there begins a list of entries. Each entry is made up of its own header (in this case, &amp;quot;[CREATURE:DWARF]&amp;quot;), again stating the type of object, and then the object's unique identifier - if an identifier isn't unique, the game will mess up and you'll get some serious, and potentially very trippy, errors. ([[Duplicated raws|For example...]])  Below that, we have the body of the entry, which determines the entry's specific properties.&lt;br /&gt;
&lt;br /&gt;
The body of an entry is made up of a series of &amp;quot;tokens&amp;quot;, which are essentially flags that can be added or removed to affect the entry's attributes. Most of these effects are hardcoded: for example, it's possible to make a creature only eat meat with the [CARNIVOROUS] token, but it's impossible to create your own token detailing a specific diet for the creature.&lt;br /&gt;
&lt;br /&gt;
Before we continue, a few key things to remember when modding the raw files:&lt;br /&gt;
&lt;br /&gt;
* Try to avoid modifying the existing raw files when possible. You should make a mod instead!&lt;br /&gt;
* When adding files, token identifiers are all you need to include to ensure proper references are maintained.  The game searches through all loaded raw files by tokens.  For example, you can add a new pair of leather boots and not even have to add it to a file named item_shoes.txt, but rather your own file, say item_shoes_new.txt and ensure you have the token listed, ex. [ITEM_SHOES:ITEM_SHOES_BOOTS_NEW].&lt;br /&gt;
&lt;br /&gt;
* When a new world is generated, the mods included are &amp;quot;baked in&amp;quot; and cannot be modified except to be updated--for this, the game checks that the mod used by the save is of a compatible NUMERIC_VERSION.&lt;br /&gt;
* There's nothing stopping you from just copying an existing creature/entity/whatever, changing the identifier, and modifying it. This can save you a lot of time, especially when it comes to entities.&lt;br /&gt;
&lt;br /&gt;
=== Modifying the vanilla objects ===&lt;br /&gt;
&lt;br /&gt;
You should not modify the vanilla raws where they originally are if you can help it. Instead, patch them using the patching functions provided with ''Dwarf Fortress'' since v50.01.&lt;br /&gt;
&lt;br /&gt;
There are two patching functions: SELECT and CUT. When SELECT is used, it lets you make changes to an object without needing the entire entry to be present in your mod file. When CUT is used, it forces the game to not use that object, even though it is still found in the vanilla raws (or in any other mods earlier in the load order). Both of these functions take the form of tokens. These functions are not universally applicable to any token found in any entry, just the following list of objects:&lt;br /&gt;
&lt;br /&gt;
CREATURE, ENTITY, INTERACTION, ITEM, WORD, TRANSLATION, SYMBOL, INORGANIC, PLANT, MUSIC, REACTION, SOUND&lt;br /&gt;
&lt;br /&gt;
The syntax required for these functions is: '''['''&amp;lt;function&amp;gt;'''_'''&amp;lt;object&amp;gt;''':'''&amp;lt;specific object being affected&amp;gt;''']'''. For instance, [CUT_PLANT:MUSHROOM_HELMET_PLUMP] cuts the plump helmet object in the vanilla file plant_standard.txt, so the game will not use that object at all. However, [SELECT_ITEM_HELM:ITEM_HELM_HELM] does not select the helm object from the vanilla file item_helm.txt, even though that's how the object appears in that file, because there is no [SELECT_ITEM_HELM] token. Instead, the helm would be selected with [SELECT_ITEM:ITEM_HELM_HELM].&lt;br /&gt;
&lt;br /&gt;
For example, if you wanted to mod beards onto dwarven women while also removing elephants from the game:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
creature_mypatch&lt;br /&gt;
&lt;br /&gt;
[OBJECT:CREATURE]&lt;br /&gt;
&lt;br /&gt;
[SELECT_CREATURE:DWARF] starts editing DWARF from the end of the entry&lt;br /&gt;
    [SELECT_CASTE:FEMALE]&lt;br /&gt;
        [BODY_DETAIL_PLAN:FACIAL_HAIR_TISSUE_LAYERS]&lt;br /&gt;
&lt;br /&gt;
[CUT_CREATURE:ELEPHANT] removes the ELEPHANT creature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Or, say, add your own reaction and building to dwarves:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
entity_mypatch&lt;br /&gt;
&lt;br /&gt;
[OBJECT:ENTITY]&lt;br /&gt;
&lt;br /&gt;
[SELECT_ENTITY:MOUNTAIN]&lt;br /&gt;
    [PERMITTED_REACTION:MY_REACTION]&lt;br /&gt;
    [PERMITTED_BUILDING:MY_BUILDING]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
And in any of these, one can add the token [LOG_CURRENT_ENTRY] somewhere under one of the objects of the file, which logs the full contents of the object in question to logs\current_entry.txt. This can be useful to make sure that the patch is doing what you think it is. For instance if [LOG_CURRENT_ENTRY] were added on the next line after [CREATURE:DWARF] in your mod file, then the dwarf object would be the object detailed in the log entry.&lt;br /&gt;
&lt;br /&gt;
...Speaking of, let's move on to modifying and adding entities.&lt;br /&gt;
&lt;br /&gt;
=== Modding civilizations (entities) ===&lt;br /&gt;
&lt;br /&gt;
Entities - the objects that determine how civilizations work - are stored in &amp;lt;code&amp;gt;vanilla_entities/entity_default.txt&amp;lt;/code&amp;gt; (though, like all other files, you may add more). They follow the same format as any other raw file:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 entity_default&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:ENTITY]&lt;br /&gt;
 &lt;br /&gt;
 [ENTITY:ENTITYNAME]&lt;br /&gt;
     [CREATURE:CREATURETYPE]&lt;br /&gt;
     [TRANSLATION:LANGUAGETYPE]&lt;br /&gt;
     [BIOME_SUPPORT:BIOMETOKEN:FREQUENCY]&lt;br /&gt;
     ...[OTHER TAGS]...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Most of the time, it doesn't matter which order these tokens are in or where they're placed so long as they're below the &amp;quot;ENTITY:&amp;quot; identifier, but there are some important exceptions in the case of other files, especially creatures, which can contain a lot of &amp;quot;nested&amp;quot; tokens.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;[CREATURE:]&amp;quot; links the civilization with a specific creature defined in a creature file. This is the creature that'll be making up the entity's population, and, therefore, the creature you'll be playing as in fortress or adventure mode if the entity is a playable one. For example, if you wanted to do something silly, you could switch the &amp;quot;CREATURE:DWARF&amp;quot; entry in entity_default.txt with &amp;quot;CREATURE:ELF&amp;quot; and you would be marching elves around in fortress mode, although they would still use dwarven technology, language and names and so forth. Oh, and before you get any funny ideas - it ''is'' possible to define more than one creature for a civ, but that won't work in quite the way you probably expect; it will pick only one of the defined creatures at random to use for the civ. Later on, in the creature section, you'll learn about castes, which will provide a much more viable alternative, so try to bear with us until then.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;[TRANSLATION:]&amp;quot; defines the language file that the entity will be using, which will determine what their untranslated words are for things. This doesn't determine which words they use for naming things, only the way those words are spelled. The default language files are HUMAN, DWARF, ELF, and GOBLIN.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;[BIOME_SUPPORT:]&amp;quot; defines the biomes that civs will attempt to settle in. The &amp;quot;FREQUENCY&amp;quot; value determines the likelihood of them building there, but also raises an important point: most of the values you'll be setting for things are relative to each other. If one were to type:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BIOME_SUPPORT:ANY_FOREST:1]&lt;br /&gt;
 [BIOME_SUPPORT:SAVANNA:2]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This would have very much the same effect as:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BIOME_SUPPORT:ANY_FOREST:5]&lt;br /&gt;
 [BIOME_SUPPORT:SAVANNA:10]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This holds true for a lot of values throughout the files, excluding when it simply doesn't make sense, such as in materials.&lt;br /&gt;
&lt;br /&gt;
You can find many details about the rest of the civilization tokens [[entity token|here]]. &lt;br /&gt;
&lt;br /&gt;
Besides those mentioned, some fundamental ones are the &amp;lt;code&amp;gt;[SITE_CONTROLLABLE]&amp;lt;/code&amp;gt; token, which lets you control the civ in fortress mode, the &amp;lt;code&amp;gt;[OUTSIDER_CONTROLLABLE]&amp;lt;/code&amp;gt; token, which allows you to play in adventure mode as an outsider, and the &amp;lt;code&amp;gt;[ALL_MAIN_POPS_CONTROLLABLE]&amp;lt;/code&amp;gt; token, which allows you to play a civ native (non-outsider) in adventure mode. Other tokens that you should pay attention to are START_BIOME and the ones regarding sites, but in general, you can just run through the aforementioned list and add or remove what you want.&lt;br /&gt;
&lt;br /&gt;
If you have more than one civ with the &amp;lt;code&amp;gt;[SITE_CONTROLLABLE]&amp;lt;/code&amp;gt; token, all the available civs from those entities will appear in the group selection section on the embark screen. It may not be immediately obvious from which species each civ may be - while this can be determined from legends mode, the topmost species in the &amp;quot;neighbors&amp;quot; display in the embark screen is always the same as the currently selected species; if your group is dwarven, dwarves will be topmost, whilst (say) elves will be topmost if your chosen group is elven. By default, the game seems to choose a civ (and therefore a species if there is more than one) at random.&lt;br /&gt;
&lt;br /&gt;
You can also attempt to discern the civ yourself by the names it uses - this is the realm of &amp;quot;symbols&amp;quot;, collections of words centered around a specific concept. The civ will use the words comprising whatever symbols are applicable to it for various things. This association might be a little confusing at first, so, let's refer to the DWARF entity:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [SELECT_SYMBOL:WAR:NAME_WAR]&lt;br /&gt;
 [SUBSELECT_SYMBOL:WAR:VIOLENT]&lt;br /&gt;
 [SELECT_SYMBOL:BATTLE:NAME_BATTLE]&lt;br /&gt;
 [SUBSELECT_SYMBOL:BATTLE:VIOLENT]&lt;br /&gt;
 [SELECT_SYMBOL:SIEGE:NAME_SIEGE]&lt;br /&gt;
 [SUBSELECT_SYMBOL:SIEGE:VIOLENT]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Here, we can see that dwarves will generally name their wars first after words in the &amp;quot;NAME_WAR&amp;quot; symbol group, and then, after words in the &amp;quot;VIOLENT&amp;quot; symbol group. This might, for example, result in a war being named &amp;quot;The War of Carnage&amp;quot;. The symbols used for the other types of conflict are arrayed in a similar fashion. It would be trivial to replace the instances of VIOLENT with, say, PEACE and end up with a battle called &amp;quot;The Clash of Calm&amp;quot; or something.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [SELECT_SYMBOL:ROAD:NAME_ROAD]&lt;br /&gt;
 [SELECT_SYMBOL:TUNNEL:NAME_TUNNEL]&lt;br /&gt;
 [SELECT_SYMBOL:BRIDGE:NAME_BRIDGE]&lt;br /&gt;
 [SELECT_SYMBOL:WALL:NAME_WALL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The above applies here. Dwarves are fond of naming their roads and tunnels after... roads and tunnels.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [SELECT_SYMBOL:REMAINING:ARTIFICE]&lt;br /&gt;
 [SELECT_SYMBOL:REMAINING:EARTH]&lt;br /&gt;
 [CULL_SYMBOL:ALL:DOMESTIC]&lt;br /&gt;
 [CULL_SYMBOL:ALL:SUBORDINATE]&lt;br /&gt;
 [CULL_SYMBOL:ALL:EVIL]&lt;br /&gt;
 [CULL_SYMBOL:ALL:UNTOWARD]&lt;br /&gt;
 [CULL_SYMBOL:ALL:FLOWERY]&lt;br /&gt;
 [CULL_SYMBOL:ALL:NEGATIVE]&lt;br /&gt;
 [CULL_SYMBOL:ALL:UGLY]&lt;br /&gt;
 [CULL_SYMBOL:ALL:NEGATOR]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This section deals with everything else. The things that haven't already been dealt with (hence the &amp;quot;REMAINING&amp;quot;) - such as site names, kingdom names, the names of individuals, and such - will have names from the ARTIFICE and EARTH symbol groups. After that, the dwarf entity is told to cull all inappropriate symbols - this applies to everything (hence the &amp;quot;ALL&amp;quot;) so if the game happens to choose a symbol associated with, say, EVIL for one of the battles, it'll scrap that name and try again. This sort of thing adds a lot of flavour to DF's entities and can account for a lot of a civ's perceived personality.&lt;br /&gt;
&lt;br /&gt;
Another basic thing to note: any entity token that's dealing with weapons, armor, clothing, etc., will state the items that the civ can build natively, not necessarily the ones they can wear or use. For example, you could create a species with no clothes specified, but then rob a clothes shop in adventurer mode and wear everything you want, or give them weapons that are too large to wield and they could sell them, but not use them. &lt;br /&gt;
&lt;br /&gt;
An easy method of creating a civilization is just to copy-paste a similar one to the bottom of the entity_default.txt file and edit things to your liking. Remember to always change the civ's &amp;quot;ENTITY:&amp;quot; identifier! This can be anything, so long as it's not already existing.&lt;br /&gt;
&lt;br /&gt;
At the end of some of the default entries you'll find a list of positions, both ones that'll directly affect you in fort mode (such as nobles) and ones that'll primarily affect worldgen and adventure mode. A list of the tokens applicable to positions can be found [[position token|here]]; they don't require a great deal of explanation, but that can be found in [[Advanced Entity Position Mechanics]]&lt;br /&gt;
&lt;br /&gt;
==== Trade ====&lt;br /&gt;
The following [[entity token]]s affect the appearance of [[trading]] [[caravan]]s:&lt;br /&gt;
&lt;br /&gt;
* [[Entity token#ACTIVE_SEASON|[ACTIVE_SEASON]]] - Defines the seasons when an entity may visit your fortress.&lt;br /&gt;
* [[Entity token#PROGRESS_TRIGGER_POPULATION|[PROGRESS_TRIGGER_*]]] - Defines the triggers which control when an entity will become interested in your fortress.&lt;br /&gt;
* [[Entity token#COMMON_DOMESTIC_PACK|[COMMON_DOMESTIC_PACK]]] - Allows the civilization to use domestic pack animals. If an entity lacks pack animals (or ability to pull wagons), it will be unable to send caravans (showing as {{DFtext|No Trade|6:1}} at the [[embark]] screen), unless it has domesticated any suitable animal species or is forced to use a non-suitable creature by the [ANIMAL] definition [ALWAYS_WAGON_PULLER] on creature, caste or class.&lt;br /&gt;
* [[Entity token#COMMON_DOMESTIC_PULL|[COMMON_DOMESTIC_PULL]]] - Allows the civilization to use domestic animals to pull [[wagon]]s, assuming their [[Ethic#KILL_PLANT|KILL_PLANT ethic]] permits them to use wagons in the first place.&lt;br /&gt;
* [[Entity token#MERCHANT_BODYGUARDS|[MERCHANT_BODYGUARDS]]] - Caravan will be guarded by [[soldier]]s.&lt;br /&gt;
&lt;br /&gt;
=== Modding creatures ===&lt;br /&gt;
&lt;br /&gt;
Creature modding is great fun – you can change nearly any aspect of a creature, or make your own completely from scratch.&lt;br /&gt;
&lt;br /&gt;
Modding creatures is very similar to modding civs: it's just a matter of editing, adding, or removing tokens, enclosed in square brackets underneath the creature's [CREATURE:] header. The creature entries contain all of the information about each and every non-random creature in the game, from animals to dwarves to goblins to even caravan wagons. A lot of the creature tokens are fairly self-explanatory; you can find a list of such tokens [[creature token|here]]. But before you start creating your own creatures, you'll want to learn how the tissues system works.&lt;br /&gt;
&lt;br /&gt;
==== Creature materials and tissues ====&lt;br /&gt;
&lt;br /&gt;
In the most basic sense, a creature is a series of body parts. These parts are defined in their own file, and we'll talk about them later, as a specific aspect of how creatures work, which throws off a lot of prospective modders, is the relationship between body parts, tissues, and materials. We're going to show you part of the creature entry for a bronze colossus (bear with us):&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 ...&lt;br /&gt;
 [BODY:HUMANOID:2EYES:2EARS:NOSE:HUMANOID_JOINTS:5FINGERS:5TOES]&lt;br /&gt;
 [NO_THOUGHT_CENTER_FOR_MOVEMENT]&lt;br /&gt;
 [TISSUE:BRONZE]&lt;br /&gt;
     [TISSUE_NAME:bronze:bronze]&lt;br /&gt;
     [TISSUE_MATERIAL:INORGANIC:BRONZE]&lt;br /&gt;
     [MUSCULAR]&lt;br /&gt;
     [FUNCTIONAL]&lt;br /&gt;
     [STRUCTURAL]&lt;br /&gt;
     [RELATIVE_THICKNESS:1]&lt;br /&gt;
     [CONNECTS]&lt;br /&gt;
     [TISSUE_SHAPE:LAYER]&lt;br /&gt;
 [TISSUE_LAYER:BY_CATEGORY:ALL:BRONZE]&lt;br /&gt;
 ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
At the top, we can see the &amp;quot;BODY:&amp;quot; token, followed by a list of body parts. As you've probably guessed, these parts make up the physical form of the colossus. But the colossus has to be made out of something - it has to have tissues, and those tissues also have to be made out of something - in this case, bronze.&lt;br /&gt;
&lt;br /&gt;
Below the BODY token you'll see a TISSUE token, followed by an identifier, much like the others we've seen. The TISSUE block is determining how the tissue works, and which purposes it'll serve. As the colossus is just going to be made out of this one tissue, this tissue needs to act like bone, muscle, and everything else combined, hence the MUSCULAR, FUNCTIONAL and STRUCTURAL tokens. The tissue also references a material - INORGANIC:BRONZE - the properties of which are declared in the inorganic materials file, and the tissue is subsequently made out of this material. With us so far?&lt;br /&gt;
&lt;br /&gt;
Below the tissue definition is the TISSUE_LAYER line. TISSUE_LAYER allows you to control where each tissue is applied. Its first argument defines if it's to search by body part category (BY_CATEGORY), body part type (BY_TYPE), or look for a specific part (BY_TOKEN). That's followed by the parts argument itself, which is in this case ALL (so the game's looking for parts in all categories, which is to say, every body part). This is followed by the tissue to be applied, BRONZE. So the TISSUE_LAYER token is telling the game to select all body parts in every category and make them out of the tissue &amp;quot;BRONZE&amp;quot;. The colossus is now made of bronze.&lt;br /&gt;
&lt;br /&gt;
By now you're probably thinking &amp;quot;Wow, if this was for a creature made out of however many tissues, this would be amazingly longwinded&amp;quot; and you're right. Luckily, there are two methods by which we can speed things up a lot.&lt;br /&gt;
&lt;br /&gt;
Firstly, there are material and tissue templates. Let's say you were going to make a lot of creatures out of bronze, and you didn't want to have to copy and paste the bronze tissue all over the place. Instead, you create a tissue template. This goes, as you've probably guessed, in a tissue template file.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [TISSUE_TEMPLATE:BRONZE_TEMPLATE]&lt;br /&gt;
     [TISSUE_NAME:bronze:bronze]&lt;br /&gt;
     [TISSUE_MATERIAL:INORGANIC:BRONZE]&lt;br /&gt;
     [MUSCULAR]&lt;br /&gt;
     [FUNCTIONAL]&lt;br /&gt;
     [STRUCTURAL]&lt;br /&gt;
     [RELATIVE_THICKNESS:1]&lt;br /&gt;
     [CONNECTS]&lt;br /&gt;
     [TISSUE_SHAPE:LAYER]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Now, instead of applying the tissue to each and every bronze creature you're making, you can just refer to the template:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 ...&lt;br /&gt;
 [BODY:HUMANOID:2EYES:2EARS:NOSE:HUMANOID_JOINTS:5FINGERS:5TOES]&lt;br /&gt;
 [NO_THOUGHT_CENTER_FOR_MOVEMENT]&lt;br /&gt;
 [USE_TISSUE_TEMPLATE:BRONZE:BRONZE_TEMPLATE]&lt;br /&gt;
 [TISSUE_LAYER:BY_CATEGORY:ALL:BRONZE]&lt;br /&gt;
 ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Material templates work in the same way, but refer to materials instead of tissues.&lt;br /&gt;
&lt;br /&gt;
However, if we're looking at something like a dwarf, even with the templates, editing can get very slow indeed:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:SKIN:SKIN_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:FAT:FAT_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:MUSCLE:MUSCLE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:BONE:BONE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:CARTILAGE:CARTILAGE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:HAIR:HAIR_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:TOOTH:TOOTH_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:EYE:EYE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:NERVE:NERVE_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:BRAIN:BRAIN_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:LUNG:LUNG_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:HEART:HEART_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:LIVER:LIVER_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:GUT:GUT_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:STOMACH:STOMACH_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:PANCREAS:PANCREAS_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:SPLEEN:SPLEEN_TEMPLATE]&lt;br /&gt;
     [USE_MATERIAL_TEMPLATE:KIDNEY:KIDNEY_TEMPLATE]&lt;br /&gt;
     [USE_TISSUE_TEMPLATE:SKIN:SKIN_TEMPLATE]&lt;br /&gt;
     [USE_TISSUE_TEMPLATE:FAT:FAT_TEMPLATE]&lt;br /&gt;
     [USE_TISSUE_TEMPLATE:MUSCLE:MUSCLE_TEMPLATE]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is where body detail plans, which have their own file, and are designed to help automate some of the more common processes in creature creation, come in. The first entry in b_detail_plan_default.txt does exactly what we've been trying to do above: it takes all the common materials and shoves them into one plan, which can be referenced with a single token.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_MATERIALS]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Much easier. But what about the TISSUE_LAYER tokens? Will we have to type out all of those manually?&lt;br /&gt;
&lt;br /&gt;
Nope, detail plans have that covered as well. It's possible to place variable arguments into a detail plan. For example:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:BODY:ARG3:50:ARG2:5:ARG1:1]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:BODY_UPPER:ARG3:50:ARG2:5:ARG1:1]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:BODY_LOWER:ARG3:50:ARG2:5:ARG1:1]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:ARM:ARG4:25:ARG3:25:ARG2:5:ARG1:1]&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:ARM_UPPER:ARG4:25:ARG3:25:ARG2:5:ARG1:1]&lt;br /&gt;
     ...&lt;br /&gt;
     [BP_LAYERS:BY_CATEGORY:NOSE:ARG5:4:ARG1:1]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
First an argument is placed in the plan (ARG1, ARG2 etc.), followed by the thickness of the tissue that will be inserted in place of the argument. So when we reference the VERTEBRATE_TISSUE_LAYERS plan, we'll be able to do something like this:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     [BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
ARG1 in the detail plan is replaced by SKIN, the first tissue we entered. ARG2 is replaced by FAT, ARG3 by MUSCLE, ARG4 by BONE, and ARG5 by CARTILAGE. Hence, our creature's body part designated as BODY is made up of SKIN with thickness 1, FAT with thickness 5, and MUSCLE with thickness 50. Its nose is made up of SKIN (thickness 1) and CARTILAGE (thickness 4).&lt;br /&gt;
&lt;br /&gt;
Things left out of the body plans aside, our dwarf's entire body, material, tissue and tissue layer tokens have been boiled down to this:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:&lt;br /&gt;
     THROAT:NECK:SPINE:BRAIN:SKULL:5FINGERS:5TOES:MOUTH:FACIAL_FEATURES:TEETH:RIBCAGE]&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_MATERIALS]&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_TISSUES]&lt;br /&gt;
     [BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This can save you a lot of time and space if you're making lots of changes common to many creatures. In general, if you're making a creature that's fleshy or chitinous, there are detail plans already included in the game to help you out. You should only have to resort to declaring tissues individually (like our bronze colossus) if you're doing something really out-of-the-ordinary.&lt;br /&gt;
&lt;br /&gt;
Another great thing about templates (and so, detail plans) is that they can be modified after being declared. Let's say we wanted our dwarves to be perpetually on fire (don't ask). We leave the body stuff declared normally:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [BODY:HUMANOID:2EYES:2EARS:NOSE:2LUNGS:HEART:GUTS:ORGANS:HUMANOID_JOINTS:&lt;br /&gt;
     THROAT:NECK:SPINE:BRAIN:SKULL:5FINGERS:5TOES:MOUTH:FACIAL_FEATURES:TEETH:RIBCAGE]&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_MATERIALS]&lt;br /&gt;
     [BODY_DETAIL_PLAN:STANDARD_TISSUES]&lt;br /&gt;
     [BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
We then, in our own mod, select the appropriate material:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
[SELECT_CREATURE:DWARF]&lt;br /&gt;
     [SELECT_MATERIAL:SKIN]&lt;br /&gt;
         [MAT_FIXED_TEMP:10600]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
We don't want them burning to death, so we'll need to stop that from happening:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
[SELECT_CREATURE:DWARF]&lt;br /&gt;
     [SELECT_MATERIAL:SKIN]&lt;br /&gt;
         [MAT_FIXED_TEMP:10600]&lt;br /&gt;
     [SELECT_MATERIAL:ALL]&lt;br /&gt;
         [HEATDAM_POINT:NONE]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Note that this makes use of DF's built-in temperature scale. You can read more about that [[Temperature|on this page]]. We're also referencing material tokens, which we haven't gone over yet - we'll talk about making your own materials later.&lt;br /&gt;
&lt;br /&gt;
==== Creature castes ====&lt;br /&gt;
&lt;br /&gt;
Another potentially extremely powerful part of the creature raws is the caste system. The caste system handles both true biological castes and lesser variations, such as sexes.&lt;br /&gt;
&lt;br /&gt;
To understand the true potential of the caste system, we only need to take a look at the raws for antmen, found in creature_subterrenean.txt:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
     ...&lt;br /&gt;
     [CASTE:WORKER]&lt;br /&gt;
         [CASTE_NAME:worker ant woman:worker ant women:worker ant woman]&lt;br /&gt;
         Female, but non-breeding.&lt;br /&gt;
         [POP_RATIO:10000]&lt;br /&gt;
     [CASTE:SOLDIER]&lt;br /&gt;
         [CASTE_NAME:soldier ant woman:soldier ant women:soldier ant woman]&lt;br /&gt;
         Female, but non-breeding.&lt;br /&gt;
         [POP_RATIO:1000]&lt;br /&gt;
     [CASTE:DRONE]&lt;br /&gt;
         [MALE]&lt;br /&gt;
         [CASTE_NAME:drone ant man:drone ant men:drone ant man]&lt;br /&gt;
         [POP_RATIO:5]&lt;br /&gt;
     [CASTE:QUEEN]&lt;br /&gt;
         [FEMALE]&lt;br /&gt;
         [CASTE_NAME:queen ant woman:queen ant women:queen ant woman]&lt;br /&gt;
         [POP_RATIO:1]&lt;br /&gt;
     [SELECT_CASTE:WORKER]&lt;br /&gt;
      [SELECT_ADDITIONAL_CASTE:SOLDIER]&lt;br /&gt;
      [SELECT_ADDITIONAL_CASTE:QUEEN]&lt;br /&gt;
         [BODY:HUMANOID_4ARMS:2EYES:HEART:GUTS:BRAIN:MOUTH]&lt;br /&gt;
         [BODYGLOSS:INSECT_UPPERBODY:INSECT_LOWERBODY]&lt;br /&gt;
     [SELECT_CASTE:DRONE]&lt;br /&gt;
         [BODY:HUMANOID_4ARMS:2EYES:HEART:GUTS:BRAIN:MOUTH:2WINGS]&lt;br /&gt;
         [BODYGLOSS:INSECT_UPPERBODY:INSECT_LOWERBODY]&lt;br /&gt;
         [FLIER]&lt;br /&gt;
     [SELECT_CASTE:ALL]&lt;br /&gt;
         [BODY_DETAIL_PLAN:CHITIN_MATERIALS]&lt;br /&gt;
         [BODY_DETAIL_PLAN:CHITIN_TISSUES]&lt;br /&gt;
         [BODY_DETAIL_PLAN:EXOSKELETON_TISSUE_LAYERS:CHITIN:FAT:MUSCLE]&lt;br /&gt;
         [BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS]&lt;br /&gt;
         [ATTACK:PUNCH:BODYPART:BY_TYPE:GRASP]&lt;br /&gt;
             [ATTACK_SKILL:GRASP_STRIKE]&lt;br /&gt;
             [ATTACK_VERB:punch:punches]&lt;br /&gt;
     ...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
It's evident that the process of creating and editing castes is comparable to the modifications we were making to tissues and materials earlier: A caste is declared, and modifications to the base creature are made. Declared castes can be selected and subsequently modified, again, just like tissues and materials.&lt;br /&gt;
&lt;br /&gt;
In this case, each caste is declared, given its own name, and a POP_RATIO, which determines how commonly a birth results in that caste - for every 10000 workers born, there'll be an average of 1000 soldiers, 5 drones and one queen. You've probably also noticed that the DRONE and QUEEN castes have the MALE and FEMALE tokens respectively - these tokens determine how breeding works. A creature without both a MALE caste and a FEMALE caste will be unable to breed (no asexually reproducing creatures yet, unfortunately). As they lack FEMALE, the workers and soldiers are unable to breed with the male drones.&lt;br /&gt;
&lt;br /&gt;
After this, there are some modifications to bodyparts. In this case, the drones have wings and the FLIER token, which the other castes lack. It's entirely possible for creatures of different castes to have completely different body structures, even to the extent that they don't resemble each other at all. If you read the section of this guide that dealt with entities, you may remember a passing mention of multi-creature civilisations and how they don't quite work as you may think they would. The castes system is your workaround. You could create a caste that is, for all intents and purposes, a human, and another caste of the same creature that acts exactly like a giant cave spider, put the creature in a civ, and get a human-spider civ. The only flaw in this approach is that the castes will interbreed.&lt;br /&gt;
&lt;br /&gt;
That's the most complex components of creature creation out of the way. You should find the rest trivial by comparison.&lt;br /&gt;
&lt;br /&gt;
=== Modding items ===&lt;br /&gt;
&lt;br /&gt;
Items are fairly simple to deal with. By default, each item type is contained in its own file; this may help make browsing for a specific item easier, but from a purely technical point of view, it's possible to throw all items into one file. Unfortunately, [[Item definition token|item definition tokens]] don't seem to be especially well-documented (at least not as well as the other object types), but you should be able to figure out most things by way of our explanations and your assumptions.&lt;br /&gt;
&lt;br /&gt;
Let's look at the entry for, of course, the thong:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [ITEM_PANTS:ITEM_PANTS_THONG]&lt;br /&gt;
 [NAME:thong:thongs]&lt;br /&gt;
 [LAYER:UNDER]&lt;br /&gt;
 [COVERAGE:25]&lt;br /&gt;
 [LAYER_SIZE:10]&lt;br /&gt;
 [LAYER_PERMIT:30]&lt;br /&gt;
 [MATERIAL_SIZE:1]&lt;br /&gt;
 [SOFT]&lt;br /&gt;
 [LEATHER]&lt;br /&gt;
 [STRUCTURAL_ELASTICITY_WOVEN_THREAD]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Most of these are pretty obvious if one compares them to the other entries in the file. There's a layer for the item, determining where it's worn; a coverage value to determine how well it protects you from cold and other things; a size token to determine how much it counts for when it's under something else; a layer permit token to determine how much can be worn under it; and a material size token to determine how much raw material it takes to make it.&lt;br /&gt;
&lt;br /&gt;
Now, if you wanted to mod these to turn them into metal thongs (ouch!), you would simply have to add [METAL] to it somewhere. Simple! These tokens work by tying into material properties - some materials are designated as suitable for making hard items, some for soft, etc..&lt;br /&gt;
&lt;br /&gt;
Weapons involve a little more detail:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [ITEM_WEAPON:ITEM_WEAPON_SWORD_2H]&lt;br /&gt;
 [NAME:two-handed sword:two-handed swords]&lt;br /&gt;
 [SIZE:900]&lt;br /&gt;
 [SKILL:SWORD]&lt;br /&gt;
 [TWO_HANDED:67500]&lt;br /&gt;
 [MINIMUM_SIZE:62500]&lt;br /&gt;
 [MATERIAL_SIZE:5]&lt;br /&gt;
 [ATTACK:EDGE:100000:8000:slash:slashes:NO_SUB:1250]&lt;br /&gt;
 	[ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
 [ATTACK:EDGE:50:4000:stab:stabs:NO_SUB:1000]&lt;br /&gt;
 	[ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
 [ATTACK:BLUNT:100000:8000:slap:slaps:flat:1250]&lt;br /&gt;
 	[ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
 [ATTACK:BLUNT:100:1000:strike:strikes:pommel:1000]&lt;br /&gt;
 	[ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
SIZE determines how heavy the weapon is. This has a substantial effect on weapon effectiveness. SKILL determines which skill is used in using the weapon; a list of skills can be found [[skill token|on this page]]. MINIMUM_SIZE determines the minimum size a creature must be before the weapon can be wielded, while TWO_HANDED determines how large a creature must be in order to wield the weapon with one hand.&lt;br /&gt;
&lt;br /&gt;
Attacks take a little more explanation. The first value determines the contact area of the weapon's attack; this should be high for slashing weapons and low for bludgeoning, piercing and poking ones. The second value determines how deep the weapon penetrates - for BLUNT attacks this value is ignored as they're not supposed to penetrate anyway, but in the case of EDGE attacks it should generally be lower for slashing attacks and higher for stabbing attacks.&lt;br /&gt;
&lt;br /&gt;
Following these are the nouns and verb used; they should be self-explanatory. Finally, we have the velocity modifier, which has a multiplying effect on the weapon's size for the purposes of determining how powerful it is in combat. But more accurate it describe distribution of momentum across length of weapon. So STAB perfomed with only muscular power and modifier is x1 (1000). SLASH performed with some rotating momentum of cutting edge, but sword is pretty balanced thru it's length and modifier is just x1.25 (1250). Axes, hammers and maces have more unbalanced mass distribution and weapon mass concentrated far from grasp, so higher modifiers.&lt;br /&gt;
&lt;br /&gt;
ATTACK_PREPARE_AND_RECOVER determine number of game frames to perform these actions. In vanilla almost not varies for different weapons.&lt;br /&gt;
&lt;br /&gt;
Other, more miscellaneous items are generally simple and shouldn't require any further explanation.&lt;br /&gt;
&lt;br /&gt;
Once you've made an item, you just add it to the civ entry so a civilization can actually craft it, and it's done.&lt;br /&gt;
&lt;br /&gt;
=== Modding language files ===&lt;br /&gt;
{{main|Language token}}&lt;br /&gt;
&lt;br /&gt;
Let's say you added a whole new species.  Sure, you could just swipe one of the existing translation files and steal their language for your species, but that's the lazy way!  If you want to create a whole new language, it is very simple.&lt;br /&gt;
&lt;br /&gt;
First, you'd need a whole new language_RACE file, such as language_LIZARDMAN.txt, along with &amp;quot;language_LIZARDMAN&amp;quot; at the top of the file proceeded by [OBJECT:LANGUAGE] and [TRANSLATION:LIZARDMAN].  After that, it's just a matter of copy-pasting one of the existing language lists and editing the finished 'translated' word.  That's it! Then just add the translation link to your civ in entity_default.txt and it'll be added to the game on worldgen. &lt;br /&gt;
&lt;br /&gt;
All raw files use Code Page 437 encoding, and you should make sure you are editing these files in that format. As many text editors default to UTF-8, some characters with diacritical marks may fail to show properly. Saving one of the default language raw files in this state will overwrite these characters with the unicode question mark, which will corrupt the file. To fix this  replace the file with a clean one downloaded from the distributed version of DF.&lt;br /&gt;
&lt;br /&gt;
(Note that the name of the file doesn't actually matter; however, it's good form to name the file after a creature if only that creature speaks the language.)&lt;br /&gt;
&lt;br /&gt;
=== Modding body parts ===&lt;br /&gt;
&lt;br /&gt;
Imagine you have this fantastic idea for a multi-tentacled winged spider-monster. Sounds great! But in order to make this a reality you may need to create a new set of body parts for it. That's no problem! Making body parts is easy, though it may look complicated at first. &lt;br /&gt;
&lt;br /&gt;
All of the default body definitions are located in body_default.txt and then linked to a creature in the creature's entry. We've talked about how bodyparts make up creatures earlier, in the creature section. You can mix and match them in the creature entry and it makes no difference, as long as they're there: each body part will link itself to the appropriate connection automatically when the creature is first created.&lt;br /&gt;
&lt;br /&gt;
Body parts work by sections: you can add as many sections as you want to a body part definition, but generally you should keep it fairly low for ease of use. Each body section entry is in the, very simple, format:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY:BODYNAME]&lt;br /&gt;
 [BP:TOKENID:name][TOKENSGOHERE][DEFAULT_RELSIZE:][CATEGORY:WHATEVER]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The most important tokens are &amp;quot;CONTYPE&amp;quot; and &amp;quot;CON&amp;quot;: CONTYPE means the body part in question is connected to a certain ''type'' of body part, while CON means it's connected to a ''specific'' one. TOKENID is yet another identifier, which should be unique, as it's referenced every time something uses CON or BY_TOKEN. DEFAULT_RELSIZE defines, of course, what the body part's size is in relation to the other parts. CATEGORY defines a category for the part, which can be unique or shared with other parts. This is referenced whenever BY_CATEGORY is used.&lt;br /&gt;
&lt;br /&gt;
A list of body part tokens can be found [[body token|here]].&lt;br /&gt;
&lt;br /&gt;
Let's take a simple example, a head:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY:BASIC_HEAD]&lt;br /&gt;
 [BP:HD:head:STP][CONTYPE:UPPERBODY][HEAD][CATEGORY:HEAD]&lt;br /&gt;
 [DEFAULT_RELSIZE:300]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
It connects directly to an upper body.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY:2EYES]&lt;br /&gt;
     [BP:REYE:right eye:STP][CONTYPE:HEAD][SIGHT][EMBEDDED][SMALL][RIGHT][CATEGORY:EYE]&lt;br /&gt;
         [DEFAULT_RELSIZE:5]&lt;br /&gt;
     [BP:LEYE:left eye:STP][CONTYPE:HEAD][SIGHT][EMBEDDED][SMALL][LEFT][CATEGORY:EYE]&lt;br /&gt;
         [DEFAULT_RELSIZE:5]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are a pair of eyes, connecting to the head.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [BODY:HUMANOID]&lt;br /&gt;
     [BP:UB:upper body:upper bodies][UPPERBODY][CATEGORY:BODY_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:1000]&lt;br /&gt;
     [BP:LB:lower body:lower bodies][CON:UB][LOWERBODY][CATEGORY:BODY_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:1000]&lt;br /&gt;
     [BP:HD:head:STP][CON:UB][HEAD][CATEGORY:HEAD]&lt;br /&gt;
         [DEFAULT_RELSIZE:300]&lt;br /&gt;
     [BP:RUA:right upper arm:STP][CON:UB][LIMB][RIGHT][CATEGORY:ARM_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:200]&lt;br /&gt;
     [BP:LUA:left upper arm:STP][CON:UB][LIMB][LEFT][CATEGORY:ARM_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:200]&lt;br /&gt;
     [BP:RLA:right lower arm:STP][CON:RUA][LIMB][RIGHT][CATEGORY:ARM_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:200]&lt;br /&gt;
     [BP:LLA:left lower arm:STP][CON:LUA][LIMB][LEFT][CATEGORY:ARM_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:200]&lt;br /&gt;
     [BP:RH:right hand:STP][CON:RLA][GRASP][RIGHT][CATEGORY:HAND]&lt;br /&gt;
         [DEFAULT_RELSIZE:80]&lt;br /&gt;
     [BP:LH:left hand:STP][CON:LLA][GRASP][LEFT][CATEGORY:HAND]&lt;br /&gt;
         [DEFAULT_RELSIZE:80]&lt;br /&gt;
     [BP:RUL:right upper leg:STP][CON:LB][LIMB][RIGHT][CATEGORY:LEG_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:500]&lt;br /&gt;
     [BP:LUL:left upper leg:STP][CON:LB][LIMB][LEFT][CATEGORY:LEG_UPPER]&lt;br /&gt;
         [DEFAULT_RELSIZE:500]&lt;br /&gt;
     [BP:RLL:right lower leg:STP][CON:RUL][LIMB][RIGHT][CATEGORY:LEG_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:400]&lt;br /&gt;
     [BP:LLL:left lower leg:STP][CON:LUL][LIMB][LEFT][CATEGORY:LEG_LOWER]&lt;br /&gt;
         [DEFAULT_RELSIZE:400]&lt;br /&gt;
     [BP:RF:right foot:right feet][CON:RLL][STANCE][RIGHT][CATEGORY:FOOT]&lt;br /&gt;
         [DEFAULT_RELSIZE:120]&lt;br /&gt;
     [BP:LF:left foot:left feet][CON:LLL][STANCE][LEFT][CATEGORY:FOOT]&lt;br /&gt;
         [DEFAULT_RELSIZE:120]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
An entire humanoid body. The foot bone's connected to the ankle bone...&lt;br /&gt;
&lt;br /&gt;
&amp;quot;BODYGLOSS&amp;quot; entries, which you can sometimes find applied to creature entries, are simply replacement words for specific part name strings in a creature. For example, you'll find the bodygloss [BODYGLOSS:CLAW_HAND:hand:claw] in body_default.txt; you can then use this in a creature via &amp;quot;[BODYGLOSS:CLAW_HAND]&amp;quot; and it'll replace all instances of &amp;quot;hand&amp;quot; with &amp;quot;claw&amp;quot; in that creature. Be warned, however—if you were to, say make a bodygloss [BODYGLOSS:EARSTALK:ear:stalk:ears:stalk], it would not only change &amp;quot;ear&amp;quot; and &amp;quot;ears&amp;quot; to &amp;quot;stalk&amp;quot; and &amp;quot;stalks&amp;quot;, it would also change &amp;quot;h'''ear'''t&amp;quot; to &amp;quot;h'''stalk'''t&amp;quot;! For all intents and purposes the body part will still function as the proper part, though.&lt;br /&gt;
&lt;br /&gt;
=== Modding plants ===&lt;br /&gt;
&lt;br /&gt;
Plants are, again, not unlike creatures. With what you've learned so far in regard to tokens and the materials system, running through the notes included in plant_standard.txt should explain most things. [[Plant token|Here's the list of plant-specific tokens]].&lt;br /&gt;
&lt;br /&gt;
Below is the [[plump helmet]] raw description:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [PLANT:MUSHROOM_HELMET_PLUMP]&lt;br /&gt;
 	[NAME:plump helmet][NAME_PLURAL:plump helmets][ADJ:plump helmet]&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
 		[MATERIAL_VALUE:2]&lt;br /&gt;
 	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
 		[EDIBLE_VERMIN]&lt;br /&gt;
 		[EDIBLE_RAW]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 	[PICKED_TILE:161][PICKED_COLOR:6:13:0]&lt;br /&gt;
 	[GROWDUR:300][VALUE:2]&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]&lt;br /&gt;
 		[STATE_NAME_ADJ:ALL_SOLID:frozen dwarven wine]&lt;br /&gt;
 		[STATE_NAME_ADJ:LIQUID:dwarven wine]&lt;br /&gt;
 		[STATE_NAME_ADJ:GAS:boiling dwarven wine]&lt;br /&gt;
 		[MATERIAL_VALUE:2]&lt;br /&gt;
 		[DISPLAY_COLOR:5:0:0]&lt;br /&gt;
 		[EDIBLE_RAW]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 		[PREFIX:NONE]&lt;br /&gt;
 	[DRINK:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
 &lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]&lt;br /&gt;
 		[MATERIAL_VALUE:1]&lt;br /&gt;
 		[EDIBLE_VERMIN]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 	[SEED:plump helmet spawn:plump helmet spawn:4:0:1:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
 	[SPRING][SUMMER][AUTUMN][WINTER]&lt;br /&gt;
 	[FREQUENCY:100]&lt;br /&gt;
 	[CLUSTERSIZE:5]&lt;br /&gt;
 	[PREFSTRING:rounded tops]&lt;br /&gt;
 	[WET][DRY]&lt;br /&gt;
 	[BIOME:SUBTERRANEAN_WATER]&lt;br /&gt;
 	[UNDERGROUND_DEPTH:1:3]&lt;br /&gt;
 	[SHRUB_TILE:142]&lt;br /&gt;
 	[DEAD_SHRUB_TILE:28]&lt;br /&gt;
 	[SHRUB_COLOR:5:13:0]&lt;br /&gt;
 	[DEAD_SHRUB_COLOR:5:6:0]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Let's look at this line by line:&amp;lt;br&amp;gt;&lt;br /&gt;
First, we define its file name. In this case it's MUSHROOM_HELMET_PLUMP. Next we define its in-game name (plump helmet) and its adjective for if you were to craft with it (e.g. plump helmet earrings).&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
 		[MATERIAL_VALUE:2]&lt;br /&gt;
 	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This defines the structure and material of the plant. It references STRUCTURAL_PLANT_TEMPLATE in the first line, so if you were to say, add wings to the template, the plump helmet plant would be winged. This is for the plant itself, not the end plump helmets.&lt;br /&gt;
&lt;br /&gt;
After that we get our edible tokens. These say that vermin can eat the plant, and it can be eaten raw or cooked by your dwarves. So if you wanted a plant vermin would leave alone, you'd remove the [EDIBLE_VERMIN] token.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 		[EDIBLE_VERMIN]&lt;br /&gt;
 		[EDIBLE_RAW]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Next, [PICKED_TILE:161] is the character (161 in this case) shown when the crop is harvested. See [[Main:Character table|character table]] for a table of usable tiles. [PICKED_COLOR:6:13:0] is the color used for the crop's tile when harvested. It's in a foreground:background:brightness format. See [[color]] for the colors usable.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[PICKED_TILE:161][PICKED_COLOR:6:13:0]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[GROWDUR:300] is how long it takes for your crop to grow. There are 1008 growdur units in a season.&amp;lt;br&amp;gt;&lt;br /&gt;
[VALUE:2] Is the value of the harvested plant (default 1). &lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[GROWDUR:300][VALUE:2]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This defines the plant's alcohol states. [STATE_NAME_ADJ:ALL_SOLID:] is the frozen name, followed is the actual drink name, and then its boiling name. These are achieved by either Scorching or Freezing climates. [DISPLAY_COLOR] is, of course, color, and [EDIBLE_RAW] and [EDIBLE_COOKED] are saying you can drink the alcohol raw or cooked.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]&lt;br /&gt;
 		[STATE_NAME_ADJ:ALL_SOLID:frozen dwarven wine]&lt;br /&gt;
 		[STATE_NAME_ADJ:LIQUID:dwarven wine]&lt;br /&gt;
 		[STATE_NAME_ADJ:GAS:boiling dwarven wine]&lt;br /&gt;
 		[MATERIAL_VALUE:2]&lt;br /&gt;
 		[DISPLAY_COLOR:5:0:0]&lt;br /&gt;
 		[EDIBLE_RAW]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 		[PREFIX:NONE]&lt;br /&gt;
 	[DRINK:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
After that we get our seed template:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]&lt;br /&gt;
 		[MATERIAL_VALUE:1]&lt;br /&gt;
 		[EDIBLE_VERMIN]&lt;br /&gt;
 		[EDIBLE_COOKED]&lt;br /&gt;
 	[SEED:plump helmet spawn:plump helmet spawn:4:0:1:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
And all this says is that the seeds may be eaten by vermin or cooked. Then it gives the name of our plant's seed, its plural name, its foreground, background, and brightness colors, followed by its seed material; said material should have [SEED_MAT] to permit proper stockpiling.&lt;br /&gt;
&lt;br /&gt;
And finally for the last chunk we have this:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[SPRING][SUMMER][AUTUMN][WINTER]&lt;br /&gt;
 	[FREQUENCY:100]&lt;br /&gt;
 	[CLUSTERSIZE:5]&lt;br /&gt;
 	[PREFSTRING:rounded tops]&lt;br /&gt;
 	[WET][DRY]&lt;br /&gt;
 	[BIOME:SUBTERRANEAN_WATER]&lt;br /&gt;
 	[UNDERGROUND_DEPTH:1:3]&lt;br /&gt;
 	[SHRUB_TILE:142]&lt;br /&gt;
 	[DEAD_SHRUB_TILE:28]&lt;br /&gt;
 	[SHRUB_COLOR:5:13:0]&lt;br /&gt;
 	[DEAD_SHRUB_COLOR:5:6:0]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
First we define what season(s) the plant may grow in, then we define how frequently this plant is generated in a particular area, followed by how many harvested crop items may come from 1 plant. [PREFSTRING:] is what your dwarves like about the plant, which in this case is the rounded tops. [WET][DRY] are the conditions under which the plant can grow. Wet means it can grow close to water, dry means it can grow away from water. This does not mean you can grow the plant on dry stone however. It is just for natural spawning of the plant.&amp;lt;br&amp;gt;&lt;br /&gt;
[BIOME] Is what biome the plant grows in. [UNDERGROUND_DEPTH:Minimum:Maximum] Is the highest and lowest cavern levels that the plant can appear in if its biome is subterranean. Dwarven civilizations will only export (via the embark screen or caravans) things that are available at depth 1. Defaults to 0:0 (surface only).&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, [SHRUB_TILE] is the character used for the naturally spawning shrub of this plant, [DEAD_SHRUB] is the dead shrub character. [SHRUB_COLOR] Is the shrub's color, and [DEAD_SHRUB_COLOR] is, of course, the dead shrub's color.&lt;br /&gt;
&lt;br /&gt;
While this may or may not look like a lot of tokens, it's very easy. Just copy an existing plant and edit it to your new plant.&amp;lt;br&amp;gt;&lt;br /&gt;
For the rest of the tokens, see [[plant token]].&lt;br /&gt;
&lt;br /&gt;
==== Trees ====&lt;br /&gt;
&lt;br /&gt;
Trees are another kind of plant that can be modded. Being plants, they use many of the same tokens as edible crops, but differ in having a few tree-specific tokens.&lt;br /&gt;
&lt;br /&gt;
Below is the [[apple|apple tree]] raw description:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
  [PLANT:APPLE] malus sieversii&lt;br /&gt;
  	[NAME:apple tree][NAME_PLURAL:apple trees][ADJ:apple tree]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
  	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:WOOD:WOOD_TEMPLATE]&lt;br /&gt;
  		[STATE_NAME:ALL_SOLID:apple wood]&lt;br /&gt;
  		[STATE_ADJ:ALL_SOLID:apple wood]&lt;br /&gt;
  		[PREFIX:NONE]&lt;br /&gt;
  		[SOLID_DENSITY:745] *** http://www.csudh.edu/oliver/chemdata/woods.htm&lt;br /&gt;
  		[STATE_COLOR:ALL_SOLID:CHOCOLATE] *** http://www.forestryforum.com/board/index.php/topic,61009.0.html&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]&lt;br /&gt;
    		[STATE_NAME_ADJ:ALL_SOLID:frozen apple cider]&lt;br /&gt;
  		[STATE_NAME_ADJ:LIQUID:apple cider]&lt;br /&gt;
  		[STATE_NAME_ADJ:GAS:boiling apple cider]&lt;br /&gt;
  		[MATERIAL_VALUE:2]&lt;br /&gt;
  		[DISPLAY_COLOR:6:0:0]&lt;br /&gt;
  		[EDIBLE_RAW]&lt;br /&gt;
    		[EDIBLE_COOKED]&lt;br /&gt;
  		[PREFIX:NONE]&lt;br /&gt;
  	[DRINK:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:LEAF:LEAF_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:GREEN]&lt;br /&gt;
  		[DISPLAY_COLOR:2:0:0]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:FLOWER:FLOWER_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:ROSE]&lt;br /&gt;
  		[DISPLAY_COLOR:5:0:1]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:FRUIT:FRUIT_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:RUST]&lt;br /&gt;
  		[DISPLAY_COLOR:4:0:0]&lt;br /&gt;
  		[EDIBLE_VERMIN]&lt;br /&gt;
  		[EDIBLE_RAW]&lt;br /&gt;
  		[EDIBLE_COOKED]&lt;br /&gt;
  		[STOCKPILE_PLANT_GROWTH]&lt;br /&gt;
  		[MATERIAL_REACTION_PRODUCT:DRINK_MAT:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
  		[MATERIAL_REACTION_PRODUCT:SEED_MAT:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]&lt;br /&gt;
  		[MATERIAL_VALUE:1]&lt;br /&gt;
  		[EDIBLE_VERMIN]&lt;br /&gt;
  	[SEED:apple seed:apple seeds:0:0:1:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
  	[TREE:LOCAL_PLANT_MAT:WOOD][TREE_TILE:5]&lt;br /&gt;
  	[TRUNK_PERIOD:10]&lt;br /&gt;
  	[HEAVY_BRANCH_DENSITY:25]&lt;br /&gt;
  	[BRANCH_DENSITY:50]&lt;br /&gt;
  	[MAX_TRUNK_HEIGHT:3]&lt;br /&gt;
  	[HEAVY_BRANCH_RADIUS:1]&lt;br /&gt;
  	[BRANCH_RADIUS:2]&lt;br /&gt;
  	[TRUNK_BRANCHING:2]&lt;br /&gt;
  	[MAX_TRUNK_DIAMETER:1]&lt;br /&gt;
  	[TRUNK_WIDTH_PERIOD:200]&lt;br /&gt;
  	[ROOT_DENSITY:5]&lt;br /&gt;
  	[ROOT_RADIUS:3]&lt;br /&gt;
  	[STANDARD_TILE_NAMES]&lt;br /&gt;
  	[PREFSTRING:fruit]&lt;br /&gt;
  	[DRY]&lt;br /&gt;
  	[BIOME:ANY_TEMPERATE]&lt;br /&gt;
  	[SAPLING]&lt;br /&gt;
  	[GROWTH:LEAVES]&lt;br /&gt;
  		[GROWTH_NAME:apple leaf:apple leaves]&lt;br /&gt;
  		[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:LEAF]&lt;br /&gt;
  		[GROWTH_DENSITY:1000]&lt;br /&gt;
  		[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]&lt;br /&gt;
  		[GROWTH_HOST_TILE:SAPLING]&lt;br /&gt;
  		[GROWTH_TIMING:0:300000]&lt;br /&gt;
  		[GROWTH_PRINT:0:6:2:0:0:0:209999:1]&lt;br /&gt;
  		[GROWTH_PRINT:0:6:6:0:1:210000:239999:1] autumn color&lt;br /&gt;
  		[GROWTH_PRINT:0:6:4:0:1:240000:269999:1]&lt;br /&gt;
 		[GROWTH_PRINT:0:6:4:0:0:270000:300000:1]&lt;br /&gt;
   		[GROWTH_DROPS_OFF]&lt;br /&gt;
  	[GROWTH:FLOWERS]&lt;br /&gt;
  		[GROWTH_NAME:apple flower:STP]&lt;br /&gt;
  		[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FLOWER]&lt;br /&gt;
  		[GROWTH_DENSITY:1000]&lt;br /&gt;
  		[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]&lt;br /&gt;
  		[GROWTH_TIMING:60000:119999]&lt;br /&gt;
  		[GROWTH_PRINT:5:5:5:0:1:60000:119999:2]&lt;br /&gt;
 	[GROWTH:FRUIT]&lt;br /&gt;
  		[GROWTH_NAME:apple:STP]&lt;br /&gt;
  		[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FRUIT]&lt;br /&gt;
  		[GROWTH_DENSITY:1000]&lt;br /&gt;
  		[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]&lt;br /&gt;
   		[GROWTH_TIMING:120000:200000]&lt;br /&gt;
  		[GROWTH_DROPS_OFF_NO_CLOUD]&lt;br /&gt;
  		[GROWTH_PRINT:'%':'%':4:0:0:120000:200000:3]&lt;br /&gt;
  		[GROWTH_HAS_SEED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The first lines are the same as the ones we saw being used in the plump helmets, defining the plant object, giving it a name, and deciding that it should use the standard STRUCTURAL_PLANT material for its structure.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 [PLANT:APPLE] malus sieversii&lt;br /&gt;
 	[NAME:apple tree][NAME_PLURAL:apple trees][ADJ:apple tree]&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
 	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Adding the token [[DF2014:Material_definition_token#DISPLAY_COLOR|DISPLAY_COLOR]] directly after [USE_MATERIAL_TEMPLATE] would allow us to change the color of the tree.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
        [USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]&lt;br /&gt;
        	[DISPLAY_COLOR:1:0:0]&lt;br /&gt;
 	[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
would give us a dark blue apple tree. This method is used by the game in [[birch|birches]] and [[spore tree|various]] [[nether-cap|underground]] [[blood thorn|trees]].&lt;br /&gt;
&lt;br /&gt;
Next come the definitions of various other materials used by the tree:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
        [USE_MATERIAL_TEMPLATE:WOOD:WOOD_TEMPLATE]&lt;br /&gt;
  		[STATE_NAME:ALL_SOLID:apple wood]&lt;br /&gt;
  		[STATE_ADJ:ALL_SOLID:apple wood]&lt;br /&gt;
  		[PREFIX:NONE]&lt;br /&gt;
  		[SOLID_DENSITY:745] *** http://www.csudh.edu/oliver/chemdata/woods.htm&lt;br /&gt;
  		[STATE_COLOR:ALL_SOLID:CHOCOLATE] *** http://www.forestryforum.com/board/index.php/topic,61009.0.html&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]&lt;br /&gt;
    		[STATE_NAME_ADJ:ALL_SOLID:frozen apple cider]&lt;br /&gt;
  		[STATE_NAME_ADJ:LIQUID:apple cider]&lt;br /&gt;
  		[STATE_NAME_ADJ:GAS:boiling apple cider]&lt;br /&gt;
  		[MATERIAL_VALUE:2]&lt;br /&gt;
  		[DISPLAY_COLOR:6:0:0]&lt;br /&gt;
  		[EDIBLE_RAW]&lt;br /&gt;
    		[EDIBLE_COOKED]&lt;br /&gt;
  		[PREFIX:NONE]&lt;br /&gt;
  	[DRINK:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:LEAF:LEAF_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:GREEN]&lt;br /&gt;
  		[DISPLAY_COLOR:2:0:0]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:FLOWER:FLOWER_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:ROSE]&lt;br /&gt;
  		[DISPLAY_COLOR:5:0:1]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:FRUIT:FRUIT_TEMPLATE]&lt;br /&gt;
  		[STATE_COLOR:ALL:RUST]&lt;br /&gt;
  		[DISPLAY_COLOR:4:0:0]&lt;br /&gt;
  		[EDIBLE_VERMIN]&lt;br /&gt;
  		[EDIBLE_RAW]&lt;br /&gt;
  		[EDIBLE_COOKED]&lt;br /&gt;
  		[STOCKPILE_PLANT_GROWTH]&lt;br /&gt;
  		[MATERIAL_REACTION_PRODUCT:DRINK_MAT:LOCAL_PLANT_MAT:DRINK]&lt;br /&gt;
  		[MATERIAL_REACTION_PRODUCT:SEED_MAT:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
  	[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]&lt;br /&gt;
  		[MATERIAL_VALUE:1]&lt;br /&gt;
  		[EDIBLE_VERMIN]&lt;br /&gt;
  	[SEED:apple seed:apple seeds:0:0:1:LOCAL_PLANT_MAT:SEED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From them, we get to know what the parts of the tree can be used for, as well as how they will appear when separated from the tree. Any alterations that can be done to materials normally can be done here, such as changing the value or adding a [[syndrome]].&lt;br /&gt;
&lt;br /&gt;
 	[TREE:LOCAL_PLANT_MAT:WOOD][TREE_TILE:5]&lt;br /&gt;
&lt;br /&gt;
[TREE] is what turns your plant object into an actual tree. The following argument describes what material the harvested logs should be made of. If NONE, the felled tree will give no logs. [TREE_TILE] is the tile the tree shows up as on the world map.&lt;br /&gt;
&lt;br /&gt;
Note that all vanilla trees (that give logs) use the WOOD material defined above as the argument for [TREE], as opposed to the STRUCTURAL material. Thus, any changes to the properties of the wood harvested should be done to the WOOD material.&lt;br /&gt;
&lt;br /&gt;
The following tokens decide the dimensions of the tree, and how it grows.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
    [TRUNK_PERIOD:10]&lt;br /&gt;
 	[HEAVY_BRANCH_DENSITY:25]&lt;br /&gt;
 	[BRANCH_DENSITY:50]&lt;br /&gt;
 	[MAX_TRUNK_HEIGHT:3]&lt;br /&gt;
 	[HEAVY_BRANCH_RADIUS:1]&lt;br /&gt;
 	[BRANCH_RADIUS:2]&lt;br /&gt;
 	[TRUNK_BRANCHING:2]&lt;br /&gt;
 	[MAX_TRUNK_DIAMETER:1]&lt;br /&gt;
 	[TRUNK_WIDTH_PERIOD:200]&lt;br /&gt;
 	[ROOT_DENSITY:5]&lt;br /&gt;
 	[ROOT_RADIUS:3]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[TRUNK_PERIOD] and [TRUNK_WIDTH_PERIOD] determine how long it takes for the trunk to grow one tile taller respectively wider, in years. [MAX_TRUNK_HEIGHT:3] and [MAX_TRUNK_DIAMETER:1] determine the maximum value the above can reach. [TRUNK_BRANCHING] decides how &amp;quot;curvy&amp;quot; the tree is, with [TRUNK_BRANCHING:0] meaning the tree is entirely straight. &lt;br /&gt;
&lt;br /&gt;
[HEAVY_BRANCH_DENSITY:25], [HEAVY_BRANCH_RADIUS:1], [BRANCH_DENSITY:50], [BRANCH_RADIUS:2], [ROOT_DENSITY:5], and [ROOT_RADIUS:3] determine the density (how many are there, integer ranging 0-100) and radius (in tiles) away from the trunk, of heavy branches, normal branches and roots respectively.&lt;br /&gt;
&lt;br /&gt;
[STANDARD_TILE_NAMES] makes the tree use standard names for the trunk, branches etc. Otherwise custom ones can be used. (see [[Plant_token|full plant token list]])&lt;br /&gt;
&lt;br /&gt;
[SAPLING] ensures saplings of this tree are called &amp;quot;[tree name] sapling&amp;quot;, instead of the standard &amp;quot;young [tree name]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Lastly, we are introduced to the [GROWTH] token. [GROWTH] defines growths growing on a plant, in this case our apple tree. Apple trees have three growths: leaves, flowers and fruits.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
  [GROWTH:FRUIT]&lt;br /&gt;
 		[GROWTH_NAME:apple:STP]&lt;br /&gt;
 		[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FRUIT]&lt;br /&gt;
 		[GROWTH_DENSITY:1000]&lt;br /&gt;
 		[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]&lt;br /&gt;
  		[GROWTH_TIMING:120000:200000]&lt;br /&gt;
 		[GROWTH_DROPS_OFF_NO_CLOUD]&lt;br /&gt;
 		[GROWTH_PRINT:'%':'%':4:0:0:120000:200000:3]&lt;br /&gt;
 		[GROWTH_HAS_SEED]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First comes the name of the growth. Then, with [GROWTH_ITEM], what kind of growth it is, in this case a PLANT_GROWTH made out of the local FRUIT material. [GROWTH_DENSITY] says how densely the growth grows, and [GROWTH_HOST_TILE] where on the tree it grows. [GROWTH_TIMING] decides when the growth appears, in annual ticks. The growth then drops off, leaving no clouds (items to be picked up by your dwarves). [GROWTH_PRINT] sets it to look like a red '%', and [GROWTH_HAS_SEED] implies that eating this growth will leave you with a seed.&lt;br /&gt;
&lt;br /&gt;
=== Workshops ===&lt;br /&gt;
&lt;br /&gt;
Workshops are raw-designed pretty differently from everything else in the game, being buildable structures rather than items or methods to gain items. However, they are fairly simple. For example, here's the raw for the [[soap maker's workshop]]:&lt;br /&gt;
&lt;br /&gt;
{{code|code=&lt;br /&gt;
[BUILDING_WORKSHOP:SOAP_MAKER]&lt;br /&gt;
	[NAME:Soap Maker's Workshop]&lt;br /&gt;
	[NAME_COLOR:7:0:1]&lt;br /&gt;
	[DIM:3:3]&lt;br /&gt;
	[WORK_LOCATION:2:2]&lt;br /&gt;
	[BUILD_LABOR:SOAP_MAKER]&lt;br /&gt;
	[BUILD_KEY:CUSTOM_SHIFT_P]&lt;br /&gt;
	[BLOCK:1:0:0:0] workbenches no longer block&lt;br /&gt;
	[BLOCK:2:0:0:0]&lt;br /&gt;
	[BLOCK:3:0:0:0]&lt;br /&gt;
	[TILE:0:1:' ':' ':150]&lt;br /&gt;
	[TILE:0:2:' ':' ':'/']&lt;br /&gt;
	[TILE:0:3:'-':' ':' ']&lt;br /&gt;
	[COLOR:0:1:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:0:2:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:0:3:6:0:0:0:0:0:0:0:0]&lt;br /&gt;
	[TILE:1:1:' ':' ':'=']&lt;br /&gt;
	[TILE:1:2:'-':' ':8]&lt;br /&gt;
	[TILE:1:3:' ':' ':150]&lt;br /&gt;
	[COLOR:1:1:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:1:2:6:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:1:3:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[TILE:2:1:'-':' ':8]&lt;br /&gt;
	[TILE:2:2:' ':' ':8]&lt;br /&gt;
	[TILE:2:3:' ':150:' ']&lt;br /&gt;
	[COLOR:2:1:6:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:2:2:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
	[COLOR:2:3:0:0:0:6:0:0:0:0:0]&lt;br /&gt;
	[TILE:3:1:150:' ':8]&lt;br /&gt;
	[TILE:3:2:' ':' ':8]&lt;br /&gt;
	[TILE:3:3:' ':240:' ']&lt;br /&gt;
	[COLOR:3:1:6:0:0:0:0:0:6:7:0]&lt;br /&gt;
	[COLOR:3:2:0:0:0:0:0:0:6:7:0]&lt;br /&gt;
	[COLOR:3:3:0:0:0:7:0:1:0:0:0]&lt;br /&gt;
	[BUILD_ITEM:1:BUCKET:NONE:NONE:NONE][EMPTY][CAN_USE_ARTIFACT]&lt;br /&gt;
	[BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT][WORTHLESS_STONE_ONLY][CAN_USE_ARTIFACT]&lt;br /&gt;
	[TOOLTIP:Use tallow (rendered fat) or oil here with lye to make soap.]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A line-by-line breakdown:&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[NAME:Soap Maker's Workshop]&lt;br /&gt;
 	[NAME_COLOR:7:0:1]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are the name of the workshop (&amp;quot;Soap Maker's Workshop&amp;quot;) and [[color]] of the workshop's name when examined with 'q' (White with a black background).&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[DIM:3:3]&lt;br /&gt;
 	[WORK_LOCATION:2:2]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
DIM refers to how large the workshop will be, in this case 3 wide, 3 tall. WORK_LOCATION tells where the creature using it (usually a dwarf) will work, numbered from the top right--in this case, 2:2, or the middle. Multiple work locations can be defined, even outside the dim.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[BUILD_LABOR:SOAP_MAKER]&lt;br /&gt;
 	[BUILD_KEY:CUSTOM_SHIFT_S]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These refer to the worker required to build it (soap maker) and the key used to build it in the workshop menu (capital S).&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
  	[BLOCK:1:0:0:0]&lt;br /&gt;
 	...&lt;br /&gt;
}}&lt;br /&gt;
This is a bit more complex, and is where we get to the meaty part of workshop making--the tiles' properties. BLOCK refers to which tiles will be untraversable--1 means blocked, 0 means unblocked. The first number refers to row, and the next 3 refer to column, so 1:0:0:0 means that, on the first row, all tiles will be unblocked. This is the case for all vanilla workshops, as of now.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[TILE:0:1:' ':' ':150]&lt;br /&gt;
 	...&lt;br /&gt;
}}&lt;br /&gt;
The TILE token tells which tile will go where. note, however, that there are 5 entries here instead of 4. The first number, in this case, refers to build stage, numbered from 0 to 3; 3 or 1 is fully built (depending on whether there are stages), 0 is just placed, and 2 is always an intermediate stage, while 1 is usually an intermediate stage. Whether 1 is an intermediate stage or not depends on if there are a 2 and 3 stage; if 2 and 3 exist, 1 will be intermediate. The second number and beyond are similar to BLOCK; however, instead of 1s and 0s, you must input tiles. The tiles themselves can be given in quotes (as in ' ') or given as a number, which can be looked up [[Tilesets|here]]. Here, we have 150, which is û.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[COLOR:1:1:0:0:0:0:0:0:6:0:0]&lt;br /&gt;
 	...&lt;br /&gt;
}}&lt;br /&gt;
Color is as TILE, but with colors instead of tiles; however, colors are made up of 3 numbers each or MAT. MAT refers to the color of the material used to make it; the 3 numbers refer to foreground:background:foreground brightness, and can be looked up [[Color|here]]. For example, 4:2:1 will give you bright red with a dark green background.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[BUILD_ITEM:1:BUCKET:NONE:NONE:NONE][EMPTY][CAN_USE_ARTIFACT]&lt;br /&gt;
 	[BUILD_ITEM:1:NONE:NONE:NONE:NONE][BUILDMAT][WORTHLESS_STONE_ONLY][CAN_USE_ARTIFACT]&lt;br /&gt;
}}&lt;br /&gt;
These refer to items required to build the building. These are in the same format as [[Reaction|reaction reagents and products]]--quantity:[[Item token|item]]:[[Material token|material]]. You'll learn more about those on the article about [[Reaction|reactions]], though. The second BUILD_ITEM is special-- it uses modifiers exclusively to determine its requirements. BUILDMAT refers to wood logs, wood blocks, stone boulders, and stone blocks; WORTHLESS_STONE_ONLY means it can't use economic stone; CAN_USE_ARTIFACT means that it... can use artifacts. EMPTY, in the bucket's case, means that the bucket must be empty.&lt;br /&gt;
&lt;br /&gt;
{{code|&lt;br /&gt;
 	[TOOLTIP:Use tallow (rendered fat) or oil here with lye to make soap.]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This is the text in the tooltip shown when the building is highlighted by the mouse in the workshops list.&lt;br /&gt;
&lt;br /&gt;
More can be seen at the [[Building token|building tokens]] article.&lt;br /&gt;
&lt;br /&gt;
=== Reactions ===&lt;br /&gt;
&lt;br /&gt;
Reactions are the crafting recipes used in [[workshop]]s, and by the [[adventurer mode|adventurer]]. By adding new reactions you can make new items available, or enable you to get items or materials in new ways. The reactions can also be given to entities, in which case they will make use of them during both world gen and play; making a reaction that creates [[steel]] directly from [[plant fiber]]s, would allow the elves to craft steel and arrive clad in it in a [[siege]].&lt;br /&gt;
&lt;br /&gt;
Not all crafting reactions are defined in the raws, but some are, such as those for [[ceramic industry|pottery]] and [[Metal#Alloys_2|alloy]] making.&lt;br /&gt;
&lt;br /&gt;
An in-depth guide for reactions is available [[Reactions|here]].&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
As we've seen when talking about creatures, materials are vital. Materials show up in two forms: material templates, which generally show up in creatures, and specific materials (designated as &amp;quot;inorganic&amp;quot;), which are (by default, at least) consigned purely to metal and stone types.&lt;br /&gt;
&lt;br /&gt;
Let's take a look at METAL_TEMPLATE in material_template_default.txt. It's evident that most of the basic properties of metals are already defined in the template - it goes red and melts at a high enough temperature, it's heavy, and (as noted by the very bottom token) is a metal. We already know just how useful templates can be to creatures, and the same applies to other materials.&lt;br /&gt;
&lt;br /&gt;
Now let's take a look at inorganic_metal.txt. You can see that the metals here refer to the templates, and, just like we did with creatures, then modify the properties of that template and expand upon it.&lt;br /&gt;
&lt;br /&gt;
Finally, let's look at inorganic_stone_mineral.txt. Here we can see that in addition to the changes made to the template, there are also ENVIRONMENT tokens - these tell the game where to place these minerals during worldgen.&lt;br /&gt;
&lt;br /&gt;
[[material definition token|Here's a list of material tokens]]. It should also help you out with any modifications you want to make regarding those creature modifications we were making a while back. See, it all ties together in the end. The beauty of the current materials system is that there's actually very little difference between, say, leather and iron - they're fundamentally the same thing, just with different properties, which is how things really should be.&lt;br /&gt;
&lt;br /&gt;
== Selecting and Cutting ==&lt;br /&gt;
&lt;br /&gt;
[[Modding#Modifying_the_vanilla_objects|As explained above]], existing raws can be altered with the use of SELECT, and can also be culled with CUT for more granular control, compared to simply unloading vanilla content in the mod loader. Token behavior when multiple tokens are added is dependent on the individual token. Removing tags from an object without cutting and recreating the object in question is typically impossible, except for creature object tags removed and/or replaced with the use of [[Creature_variation_token|creature variation tokens]].&lt;br /&gt;
&lt;br /&gt;
The syntax for selecting and cutting objects is as follows:&lt;br /&gt;
&lt;br /&gt;
{{code|code=&lt;br /&gt;
Substitute X for the desired object. A CUT does not need a SELECT prior, this is simply a list of available options.&lt;br /&gt;
&lt;br /&gt;
[SELECT_CREATURE:X]&lt;br /&gt;
[CUT_CREATURE:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_ENTITY:X]&lt;br /&gt;
[CUT_ENTITY:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_INTERACTION:X]&lt;br /&gt;
[CUT_INTERACTION:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_ITEM:X]&lt;br /&gt;
[CUT_ITEM:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_WORD:X]&lt;br /&gt;
[CUT_WORD:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_TRANSLATION:X]&lt;br /&gt;
[CUT_TRANSLATION:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_SYMBOL:X]&lt;br /&gt;
[CUT_SYMBOL:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_INORGANIC:X] &lt;br /&gt;
[CUT_INORGANIC:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_PLANT:X]&lt;br /&gt;
[CUT_PLANT:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_MUSIC:X]&lt;br /&gt;
[CUT_MUSIC:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_REACTION:X]&lt;br /&gt;
[CUT_REACTION:X]&lt;br /&gt;
&lt;br /&gt;
[SELECT_SOUND:X]&lt;br /&gt;
[CUT_SOUND:X]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
:''Main articles: [[:Category:Modding_Examples]]''&lt;br /&gt;
&lt;br /&gt;
The Hydling below was made by Mysteryguye (and annotated, updated and separated into blocks by Putnam), to act as an example creature.&lt;br /&gt;
&lt;br /&gt;
{{code|code=&lt;br /&gt;
 [CREATURE:HYDLING]&lt;br /&gt;
 	[DESCRIPTION:A seven-headed small hairy thing, about the size of a dog. It is very loyal to its masters, and will promptly disembowel any enemy straying too close.]&lt;br /&gt;
 	This is the description that shows up in-game when viewing the creature.&lt;br /&gt;
&lt;br /&gt;
 	[NAME:hydling:hydlings:hydlish] If there were a civ made of hydlings, it would appear as &amp;quot;hydlings&amp;quot; in the neighbors screen.&lt;br /&gt;
&lt;br /&gt;
 	[CASTE_NAME:hydling:hydlings:hydlish]&lt;br /&gt;
&lt;br /&gt;
 	[CREATURE_TILE:'='][COLOR:2:0:1] Will appear as a light green &amp;quot;=&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 	[PETVALUE:40][NATURAL] Creature is known to be naturally occurring by the game. Will cost 40 embark points to buy.&lt;br /&gt;
&lt;br /&gt;
 	[LARGE_ROAMING] Will spawn outdoors, wandering around.&lt;br /&gt;
&lt;br /&gt;
 	[COMMON_DOMESTIC][TRAINABLE][PET] Can be bought on embark as a pet, war animal, or hunting animal.&lt;br /&gt;
&lt;br /&gt;
 	[BONECARN] Can eat meat and bones only--no vegetables.&lt;br /&gt;
&lt;br /&gt;
 	[PREFSTRING:loyalty] Dwarves will like it for its loyalty.&lt;br /&gt;
&lt;br /&gt;
 	[LARGE_PREDATOR] Will attack rather than flee.&lt;br /&gt;
&lt;br /&gt;
 	[BODY:BASIC_2PARTBODY:7HEADNECKS:BASIC_FRONTLEGS:BASIC_REARLEGS:TAIL:2EYES:NOSE:2LUNGS:HEART:GUTS:ORGANS:THROAT:SPINE:BRAIN:SKULL:3TOES_FQ_REG:3TOES_RQ_REG:MOUTH:TONGUE:GENERIC_TEETH_WITH_FANGS:RIBCAGE]&lt;br /&gt;
&lt;br /&gt;
 	Has a lower body, upper body, 4 legs, a tail, fourteen eyes, fourteen ears, seven noses, two lungs, a heart, guts, a pancreas etc., and 7 heads with all that goes with those.&lt;br /&gt;
&lt;br /&gt;
 	[BODYGLOSS:PAW] Feet will be called &amp;quot;paws&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:STANDARD_MATERIALS] Declares the standard materials that most creatures' tissues are made of.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:STANDARD_TISSUES] This declares the tissues that the creature's tissue layers are made of.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:VERTEBRATE_TISSUE_LAYERS:SKIN:FAT:MUSCLE:BONE:CARTILAGE] And this describes the tissue layers that the creature is made of.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:BODY_HAIR_TISSUE_LAYERS:HAIR] Creature will be covered with a layer of fur.&lt;br /&gt;
&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:NAIL:NAIL_TEMPLATE] And it'll have nails.&lt;br /&gt;
&lt;br /&gt;
 	[USE_TISSUE_TEMPLATE:NAIL:NAIL_TEMPLATE]&lt;br /&gt;
&lt;br /&gt;
 	[TISSUE_LAYER:BY_CATEGORY:TOE:NAIL:FRONT] On the toe, specifically.&lt;br /&gt;
&lt;br /&gt;
 	[SELECT_TISSUE_LAYER:HEART:BY_CATEGORY:HEART]&lt;br /&gt;
 	 [PLUS_TISSUE_LAYER:SKIN:BY_CATEGORY:THROAT]&lt;br /&gt;
 		[TL_MAJOR_ARTERIES] Heart and throat--called above--will cause heavy bleeding if ruptured.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:STANDARD_HEAD_POSITIONS] Places eyes, ears and what-have-you into their correct placement, so that you don't have people punching out eyes from behind.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_DETAIL_PLAN:HUMANOID_RIBCAGE_POSITIONS] Sets the ribcage as being around lungs and heart.&lt;br /&gt;
&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:SINEW:SINEW_TEMPLATE] Defines sinew so that...&lt;br /&gt;
 	[TENDONS:LOCAL_CREATURE_MAT:SINEW:200] Tendons...&lt;br /&gt;
 	[LIGAMENTS:LOCAL_CREATURE_MAT:SINEW:200] ...And ligaments can be defined.&lt;br /&gt;
&lt;br /&gt;
 	[HAS_NERVES] Creature has nerves, and as such can be disabled by severing them.&lt;br /&gt;
&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:BLOOD:BLOOD_TEMPLATE] Defines the material BLOOD using the template BLOOD_TEMPLATE.&lt;br /&gt;
 	[BLOOD:LOCAL_CREATURE_MAT:BLOOD:LIQUID] Defines the creature's BLOOD as being made of the above-defined BLOOD material in a LIQUID state.&lt;br /&gt;
&lt;br /&gt;
 	[CREATURE_CLASS:GENERAL_POISON] Creature can be affected by syndromes that affect GENERAL_POISON.&lt;br /&gt;
&lt;br /&gt;
 	[GETS_WOUND_INFECTIONS] Pretty much self-explanatory. Creature can get infected from wounds.&lt;br /&gt;
 	[GETS_INFECTIONS_FROM_ROT] And from necrosis.&lt;br /&gt;
&lt;br /&gt;
 	[USE_MATERIAL_TEMPLATE:PUS:PUS_TEMPLATE] Defines PUS using PUS_TEMPLATE.&lt;br /&gt;
 	[PUS:LOCAL_CREATURE_MAT:PUS:LIQUID] Defines PUS as being made of PUS.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_SIZE:0:0:1000] Creature will be 1000 cubic centimeters at birth...&lt;br /&gt;
 	[BODY_SIZE:1:0:12500] 12500 cubic centimeters at 1 year old...&lt;br /&gt;
 	[BODY_SIZE:2:0:30000] and 30000 cubic centimeters at 2.&lt;br /&gt;
&lt;br /&gt;
 	[BODY_APPEARANCE_MODIFIER:LENGTH:90:95:98:100:102:105:110] Creature can be anywhere from 90% to 110% as long as others.&lt;br /&gt;
 	[BODY_APPEARANCE_MODIFIER:HEIGHT:90:95:98:100:102:105:110] As above, but with height.&lt;br /&gt;
 	[BODY_APPEARANCE_MODIFIER:BROADNESS:90:95:98:100:102:105:110] As above, but with broadness. This puts the minimum size of the creature (when fully grown) at 21870 and the maximum size at 39930.&lt;br /&gt;
&lt;br /&gt;
 	[MAXAGE:20:30] Creature will die of old age between the ages of 20 and 30, no later than 30, no sooner than 20.&lt;br /&gt;
&lt;br /&gt;
 	[CAN_DO_INTERACTION:MATERIAL_EMISSION] Creature can use the MATERIAL_EMISSION interaction.&lt;br /&gt;
 		[CDI:ADV_NAME:Hurl fireball] In adventurer mode, the MATERIAL_EMISSION interaction will appear as &amp;quot;Hurl fireball&amp;quot;.&lt;br /&gt;
 		[CDI:USAGE_HINT:ATTACK] Creature will use MATERIAL_EMISSION when it's attacking, on creatures that it's attacking.&lt;br /&gt;
 		[CDI:BP_REQUIRED:BY_CATEGORY:HEAD] Creature must have at least one HEAD to use MATERIAL_EMISSION.&lt;br /&gt;
 		[CDI:FLOW:FIREBALL] The MATERIAL_EMISSION will shoot a fireball.&lt;br /&gt;
 		[CDI:TARGET:C:LINE_OF_SIGHT] The target for the emission--a location--must be within the line of sight of the Hydling.&lt;br /&gt;
 		[CDI:TARGET_RANGE:C:15] And must be, at most, 15 tiles away.&lt;br /&gt;
 		[CDI:MAX_TARGET_NUMBER:C:1] The hydling can only shoot at one target at a time...&lt;br /&gt;
 		[CDI:WAIT_PERIOD:30] and only every 30 ticks (3 tenths of a second at 100 FPS)&lt;br /&gt;
&lt;br /&gt;
 	[ATTACK:BITE:CHILD_BODYPART_GROUP:BY_CATEGORY:HEAD:BY_CATEGORY:TOOTH] Defines a BITE attack that uses teeth.&lt;br /&gt;
 		[ATTACK_SKILL:BITE] Attack uses the BITE skill.&lt;br /&gt;
 		[ATTACK_VERB:nom:noms] &amp;quot;The Hydling noms the Elf in the left first toe, tearing the muscle!&amp;quot;&lt;br /&gt;
 		[ATTACK_CONTACT_PERC:100] Will use all of the tooth. Note that this can be more than 100.&lt;br /&gt;
 		[ATTACK_PENETRATION_PERC:100] Will sink the tooth all the way in. This can also be more than 100.&lt;br /&gt;
 		[ATTACK_FLAG_EDGE] Attack is an EDGE attack.&lt;br /&gt;
 		[ATTACK_PRIORITY:MAIN] Attack is of priority MAIN. Other option is SECOND.&lt;br /&gt;
 		[ATTACK_FLAG_CANLATCH] Attack can latch on.&lt;br /&gt;
                [ATTACK_PREPARE_AND_RECOVER:3:3] Takes 3 ticks to wind up attack and 3 to recover from it.&lt;br /&gt;
                [ATTACK_FLAG_INDEPENDENT_MULTIATTACK] Can use each head independently.&lt;br /&gt;
&lt;br /&gt;
 	[ATTACK:SCRATCH:CHILD_TISSUE_LAYER_GROUP:BY_TYPE:STANCE:BY_CATEGORY:ALL:NAIL] As above, but for nail instead of teeth.&lt;br /&gt;
 		[ATTACK_SKILL:STANCE_STRIKE] Uses the kicking skill.&lt;br /&gt;
 		[ATTACK_VERB:slice:slices] &amp;quot;You slice the Elf in the left foot and the severed part sails off in an arc!&amp;quot;&lt;br /&gt;
 		[ATTACK_CONTACT_PERC:100] Uses the whole nail.&lt;br /&gt;
 		[ATTACK_PENETRATION_PERC:100] The whole nail goes in.&lt;br /&gt;
 		[ATTACK_FLAG_EDGE] Attack is an edge attack.&lt;br /&gt;
                [ATTACK_PREPARE_AND_RECOVER:3:3]&lt;br /&gt;
 		[ATTACK_PRIORITY:SECOND]&lt;br /&gt;
&lt;br /&gt;
 	[CHILD:1] Hydling will become an adult at 1 year old.&lt;br /&gt;
&lt;br /&gt;
 	[GENERAL_CHILD_NAME:hydie:hydies] Children will appear as &amp;quot;hydies&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 	[DIURNAL] Is active during the daytime.&lt;br /&gt;
&lt;br /&gt;
 	[HOMEOTHERM:10070] Has a body temperature of 102 Fahrenheit.&lt;br /&gt;
&lt;br /&gt;
 	[APPLY_CREATURE_VARIATION:STANDARD_QUADRUPED_GAITS:900:730:561:351:1900:2900] Can run at 25 kph&lt;br /&gt;
 	[APPLY_CREATURE_VARIATION:STANDARD_SWIMMING_GAITS:3512:2634:1756:878:4900:6900] Can swim at 10 kph&lt;br /&gt;
 	[APPLY_CREATURE_VARIATION:STANDARD_CRAWLING_GAITS:6561:6115:5683:1755:7456:8567] Can crawl at 5 kph&lt;br /&gt;
 	[SWIMS_INNATE]Swims innately.&lt;br /&gt;
&lt;br /&gt;
 	[CASTE:FEMALE] Defines a caste called FEMALE.&lt;br /&gt;
 		[FEMALE] FEMALE caste is female.&lt;br /&gt;
&lt;br /&gt;
 	[CASTE:MALE] As above, but with male.&lt;br /&gt;
 		[MALE] See above.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{catbox|DF2014:Modding}}&lt;br /&gt;
&lt;br /&gt;
* [[Raw file]]&lt;br /&gt;
* [[Token]]&lt;br /&gt;
* [[Modding pitfalls]]&lt;br /&gt;
* [[Cheating]]&lt;br /&gt;
* Bay 12 Guide: https://bay12games.com/dwarves/modding_guide.html&lt;br /&gt;
&lt;br /&gt;
{{Category|Modding}}&lt;br /&gt;
{{Category|Guides}}&lt;br /&gt;
[[ru:Modding]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=List_of_mods&amp;diff=300024</id>
		<title>List of mods</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=List_of_mods&amp;diff=300024"/>
		<updated>2024-04-28T22:47:12Z</updated>

		<summary type="html">&lt;p&gt;Myk002: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{mod}}&lt;br /&gt;
{{For/see|an overview of the modding possibilities in Dwarf Fortress|[[Modding]]}}&lt;br /&gt;
&lt;br /&gt;
==[https://steamcommunity.com/app/975370/workshop/ Steam Workshop]==&lt;br /&gt;
&lt;br /&gt;
The [[Release_information/50.01|v50.01]] Steam release added support for the [https://steamcommunity.com/workshop/about/?appid=975370 Steam Workshop]. You can install mods from the Steam interface if you own Dwarf Fortress on Steam.&lt;br /&gt;
&lt;br /&gt;
==[[Utility:DFHack|DFHack]]==&lt;br /&gt;
{{main|Utility:DFHack}}&lt;br /&gt;
&lt;br /&gt;
The most prominent add-on to install for Dwarf Fortress is [[Utility:DFHack|DFHack]], which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed Dwarf Fortress via Steam, you can also [https://store.steampowered.com/app/2346660/DFHack install DFHack from Steam]. Players of other Dwarf Fortress distributions can download and install DFHack from DFHack's [https://github.com/dfhack/dfhack/releases GitHub releases page].&lt;br /&gt;
&lt;br /&gt;
==[http://www.bay12forums.com/smf/index.php?topic=28829.0 Community Mod List]==&lt;br /&gt;
{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
A more complete list of mods (compared to this one) is on the Bay 12 forum. The list includes updated links to a multitude of mods, utilities and modding utilities. All featured mods are catered for version 40.01 and up, though some of them might be outdated, and not work with the current version. There also exists links to threads of similar function for the older versions.&lt;br /&gt;
&lt;br /&gt;
The list does not, however, encompass all up-to-date mods published on the forum, for that one has to search through the [http://www.bay12forums.com/smf/index.php?board=27.0 Mod Releases board], or even the [http://dffd.bay12games.com/index.php Dwarf Fortress File Depot], the site where nigh all uploaded mods are stored.&lt;br /&gt;
&lt;br /&gt;
== Notable Mods ==&lt;br /&gt;
{{Under construction}}&lt;br /&gt;
&lt;br /&gt;
This section is currently empty, as few mods have been updated to v50.0x. Feel free to copy over mod info from other namespaces, if/when those mods get updated.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
* [[Graphics set repository]]&lt;br /&gt;
* [[Modding]]&lt;br /&gt;
[[ru:List of mods]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Installation&amp;diff=300023</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Installation&amp;diff=300023"/>
		<updated>2024-04-28T22:43:06Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Third-Party Packages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
''Dwarf Fortress'' is available as [[Premium version|Premium and Classic versions]]. The installation process depends on the game version. &lt;br /&gt;
&lt;br /&gt;
The ''Premium version'' is published on the [https://store.steampowered.com/app/975370/Dwarf_Fortress/ Steam] and [https://kitfoxgames.itch.io/dwarf-fortress itch.io] platforms. Once bought, the game will automatically add to your game library and will handle like any other game on the platform. &lt;br /&gt;
&lt;br /&gt;
The ''Classic version'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply download the latest version, extract its contents, and play. &lt;br /&gt;
&lt;br /&gt;
= Classic Download =&lt;br /&gt;
{{quick download|0.{{current/version/ns}}}}&lt;br /&gt;
''Dwarf Fortress Classic'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply find the version that matches your operating system and click the link. You may be prompted to save an archive file, or your browser may save it to its configured downloads folder, do so and follow the installation instructions bellow.&lt;br /&gt;
&lt;br /&gt;
:The download linked at the top of the main page is a 64-bit version for Windows. &amp;quot;All versions&amp;quot; links to a page with additional choices depending on version, possibly including &amp;quot;small&amp;quot; builds for Windows (which lack sound files).&lt;br /&gt;
&lt;br /&gt;
== DFHack and Other Third-Party Packages ==&lt;br /&gt;
&lt;br /&gt;
The most prominent add-on to install for Dwarf Fortress is [[Utility:DFHack|DFHack]], which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed Dwarf Fortress via Steam, you can also [https://store.steampowered.com/app/2346660/DFHack install DFHack from Steam]. Players of other Dwarf Fortress distributions can download and install DFHack from DFHack's [https://github.com/dfhack/dfhack/releases GitHub releases page].&lt;br /&gt;
&lt;br /&gt;
If you have an older version of DF, you might be interested in the [[Utility:Lazy Newb Pack|Lazy Newb Pack]], which bundles a number of utilities and graphic sets (including DFHack). With recent versions of Dwarf Fortress, a Lazy Newb Pack is no longer needed.&lt;br /&gt;
&lt;br /&gt;
There are also a wide variety of player-made mods available at the [https://steamcommunity.com/app/975370/workshop/ Dwarf Fortress Steam Workshop] and the [http://www.bay12forums.com/smf/index.php?board=27.0 Bay 12 forums]. If you don't have a Steam account, workshop mods can also be downloaded from Steam using the [https://developer.valvesoftware.com/wiki/SteamCMD steamcmd] commandline utility.&lt;br /&gt;
&lt;br /&gt;
= Classic Installation =&lt;br /&gt;
:''Also see: [[System requirements]]''&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
There is no installer for the game. Simply right-click the zip archive you downloaded and choose &amp;lt;code&amp;gt;Extract All...&amp;lt;/code&amp;gt;, then choose a destination folder, and click &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt; (or maybe &amp;lt;code&amp;gt;Unzip&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; on older versions of Windows). By default Windows uses the name of the archive as the folder name, in the folder the archive is in, so something like &amp;lt;code&amp;gt;C:\Users\yourusername\Downloads\df_50_12_win&amp;lt;/code&amp;gt;. You should change that to something like &amp;lt;code&amp;gt;C:\Users\yourusername\Desktop\Dwarf Fortress&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;C:\games\Dwarf Fortress&amp;lt;/code&amp;gt;. After the files have been extracted, double-click the &amp;lt;code&amp;gt;Dwarf Fortress.exe&amp;lt;/code&amp;gt; file within the folder you chose to start the game.&lt;br /&gt;
&lt;br /&gt;
* Make sure to actually ''extract'' the archive; do not just double-click the archive and run the game from the window that appears. If you do this, then it may appear to work, but your save game data will get discarded - the cause of many &amp;quot;my saved games keep getting deleted&amp;quot; complaints. &lt;br /&gt;
* The game needs to be able to write to its own folder, choose a game folder your user has write access to without requiring administrator rights for example: your &amp;lt;code&amp;gt;Downloads&amp;lt;/code&amp;gt; folder, &amp;lt;code&amp;gt;Desktop&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;C:\games\..&amp;lt;/code&amp;gt;; do '''not''' install it in &amp;lt;code&amp;gt;C:\Program Files\..&amp;lt;/code&amp;gt; unless you know how to set up the correct permissions.&lt;br /&gt;
&lt;br /&gt;
Troubleshooting: &lt;br /&gt;
&lt;br /&gt;
* If you have an error stating that MSVCP140.dll or MSVCP140_ATOMIC_WAIT.dll is missing, it can be obtained by downloading the [https://aka.ms/vs/17/release/vc_redist.x64.exe Visual C++ Redistributable for Visual Studio 2022].&lt;br /&gt;
* If Windows is set to scale the display, you may need to disable that for DF. Right-click the ''Dwarf Fortress.exe'' icon, select '''Properties''', select the '''Compatibility''' tab, and then activate the '''Disable display scaling on high DPI settings''' (or '''Override high DPI scaling behavior, scaling performed by: Application''') check box.[https://support.microsoft.com/en-us/help/3025083/windows-scaling-issues-for-high-dpi-devices]&lt;br /&gt;
&lt;br /&gt;
Creating shortcuts:&lt;br /&gt;
&lt;br /&gt;
* Right-click the &amp;lt;code&amp;gt;Dwarf Fortress.exe&amp;lt;/code&amp;gt; file and choose any of &amp;lt;code&amp;gt;Pin to Start&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Pin to taskbar&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Send To &amp;gt; Desktop (create shortcut)&amp;lt;/code&amp;gt;. (The availability of these options may vary depending on the version of Windows.)&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
''Dwarf Fortress'' for Linux is expected to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to log in and get to a command prompt. By default, however, ''Dwarf Fortress'' is a graphical desktop program (an X client), so you should be in a terminal emulator (inside an X session) before starting the game. ''Dwarf Fortress'' will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.&lt;br /&gt;
&lt;br /&gt;
'''Downloading''': Either download it from the [http://www.bay12games.com/dwarves/ Dwarf Fortress Homepage] with a web browser, or with the following terminal command, replacing &amp;quot;XX_YY&amp;quot; with the numbers in the desired ''Dwarf Fortress'' file version, found on the [http://www.bay12games.com/dwarves/ site]:&lt;br /&gt;
 wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2&lt;br /&gt;
&lt;br /&gt;
'''Unpacking''': ''Dwarf Fortress'' is shipped as a (bzip2) compressed tar archive. Current builds will extract directly into the current directory, so create a new subdirectory in a suitable location (perhaps &amp;lt;code&amp;gt;~/games/df_linux&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to it, and then run&lt;br /&gt;
 tar -xjf /path/to/df_XX_YY_linux.tar.bz2&lt;br /&gt;
where /path/to/df_XX_YY_linux.tar.bz2 is the path and filename of the actual file you downloaded.&lt;br /&gt;
&lt;br /&gt;
'''Running''': First, change to the new directory&lt;br /&gt;
 cd df_linux&lt;br /&gt;
then run the program.&lt;br /&gt;
 ./dwarfort&lt;br /&gt;
&lt;br /&gt;
If you have [[Utility:DFHack|DFHack]] installed, instead run&lt;br /&gt;
 ./dfhack&lt;br /&gt;
which will set up the console as a DFHack command terminal. The DFHack launcher also solves some issues with loading libraries that you may otherwise run into.&lt;br /&gt;
&lt;br /&gt;
Now you need to ensure that the required dependencies are installed. If you try to run the game and get errors about missing SDL_image libraries (etc.) then you need to install them. Use your distribution's package manager for this - details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) - you just need the runtime versions, with the actual shared libraries.&lt;br /&gt;
&lt;br /&gt;
If sound is not working for you, load the game through the DFHack launcher (&amp;lt;code&amp;gt;./dfhack&amp;lt;/code&amp;gt;) or change the startup command to:&lt;br /&gt;
 LD_LIBRARY_PATH=. .dwarfort&lt;br /&gt;
&lt;br /&gt;
If you see any errors related to glibc when starting DF (for example, &amp;quot;version `GLIBC_2.34' not found&amp;quot;), your version of Linux is too old and will need to be upgraded (e.g. Ubuntu 20.04 LTS is insufficient, but 22.04 LTS should work). Alternatively, you can try running the Windows version in Wine.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Fortunately, the documentation on this wiki is very detailed and extensive. You may want to start out with:&lt;br /&gt;
* [[Tutorials]]&lt;br /&gt;
* [[Quickstart_guide|Fortress Mode Quickstart Guide]]&lt;br /&gt;
* [[Adventure mode quick start|Adventure Mode Quickstart Guide]]&lt;br /&gt;
&lt;br /&gt;
Then move on to:&lt;br /&gt;
* [[Dwarf fortress mode|Fortress Mode reference]]&lt;br /&gt;
* [[Adventure mode|Adventure Mode reference]]&lt;br /&gt;
* [[Special:Search|Searching]] the wiki&lt;br /&gt;
&lt;br /&gt;
DFHack has its own documentation site:&lt;br /&gt;
* [https://docs.dfhack.org/en/latest/index.html DFHack docs]&lt;br /&gt;
&lt;br /&gt;
{{Getting Started}}&lt;br /&gt;
[[ru:Installation]][[zh:Installation]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=300022</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=300022"/>
		<updated>2024-04-28T22:40:11Z</updated>

		<summary type="html">&lt;p&gt;Myk002: make Remote API a top-level section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:Dfhack_gui_launcher.png|thumb|300px|right|DFHack in-game help browser and command launcher]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve the UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up mold the universe to your liking. For players that do not wish to wield these god-like powers, DFHack's god-mode (''aka &amp;quot;Armok&amp;quot;'') tools can be hidden from the interface by enabling &amp;quot;mortal mode&amp;quot; in the DFHack [https://docs.dfhack.org/en/stable/docs/tools/gui/control-panel.html#gui-control-panel control panel].&lt;br /&gt;
&lt;br /&gt;
DFHack is a modding framework that is packaged alongside a suite of tools that use it. For developers and modders, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools and a vast expansion of capabilities for mods. For players, it is a very useful utility and gameplay mod suite that allows tweaking DF in numerous ways. DFHack is one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves, and adds to the game in many ways, and is recommended for all players.&lt;br /&gt;
&lt;br /&gt;
By default, DFHack only enables UI improvements and bugfixes, but as you become more familiar with the game, you can explore DFHack's many optional and more advanced features.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was additionally [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''. Note that it needs to be installed to the same Steam library and hard drive as Dwarf Fortress itself.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see DFHack's [https://docs.dfhack.org/en/stable/index.html documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Quickstart.html#quickstart-guide quickstart guide] and the [https://docs.dfhack.org/en/stable/docs/Tools.html#dfhack-tools categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Example commands ==&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect all]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/gui/reveal.html#gui-reveal gui/reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Marks the tattered clothing dwarves insist on holding onto and marks it for dumping so they go get newer clothes.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/open-legends.html#open-legends open-legends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For jumping into [[Legends mode]] from a running fort or adventure.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Scripts and Plugins == &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in the Lua scripting language and that use the DFHack-provided API bindings. They are not compiled and can be transferred between any platform and used across DFHack versions. They can break, though, if Dwarf Fortress changes the memory structures in the area that the script interacts with (this is rare, but possible). Also, because they run in an interpreter, they are unsuitable for tasks which involve large amounts of data (such as acting on every tile of the map).&lt;br /&gt;
&lt;br /&gt;
== Remote API ==&lt;br /&gt;
&lt;br /&gt;
DFHack provides a protobuf-based RPC connection to the game, enabling remote clients like Armok Vision. The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
More info on DFHack's remote API [https://docs.dfhack.org/en/stable/docs/dev/Remote.html here].&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=300021</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=300021"/>
		<updated>2024-04-28T22:39:04Z</updated>

		<summary type="html">&lt;p&gt;Myk002: remove outdated info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:Dfhack_gui_launcher.png|thumb|300px|right|DFHack in-game help browser and command launcher]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve the UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up mold the universe to your liking. For players that do not wish to wield these god-like powers, DFHack's god-mode (''aka &amp;quot;Armok&amp;quot;'') tools can be hidden from the interface by enabling &amp;quot;mortal mode&amp;quot; in the DFHack [https://docs.dfhack.org/en/stable/docs/tools/gui/control-panel.html#gui-control-panel control panel].&lt;br /&gt;
&lt;br /&gt;
DFHack is a modding framework that is packaged alongside a suite of tools that use it. For developers and modders, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools and a vast expansion of capabilities for mods. For players, it is a very useful utility and gameplay mod suite that allows tweaking DF in numerous ways. DFHack is one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves, and adds to the game in many ways, and is recommended for all players.&lt;br /&gt;
&lt;br /&gt;
By default, DFHack only enables UI improvements and bugfixes, but as you become more familiar with the game, you can explore DFHack's many optional and more advanced features.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was additionally [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''. Note that it needs to be installed to the same Steam library and hard drive as Dwarf Fortress itself.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see DFHack's [https://docs.dfhack.org/en/stable/index.html documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Quickstart.html#quickstart-guide quickstart guide] and the [https://docs.dfhack.org/en/stable/docs/Tools.html#dfhack-tools categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Example commands ==&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect all]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/gui/reveal.html#gui-reveal gui/reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Marks the tattered clothing dwarves insist on holding onto and marks it for dumping so they go get newer clothes.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/open-legends.html#open-legends open-legends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For jumping into [[Legends mode]] from a running fort or adventure.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in the Lua scripting language and that use the DFHack-provided API bindings. They are not compiled and can be transferred between any platform and used across DFHack versions. They can break, though, if Dwarf Fortress changes the memory structures in the area that the script interacts with (this is rare, but possible). Also, because they run in an interpreter, they are unsuitable for tasks which involve large amounts of data (such as acting on every tile of the map).&lt;br /&gt;
&lt;br /&gt;
=== Remote API ===&lt;br /&gt;
&lt;br /&gt;
DFHack provides a protobuf-based RPC connection to the game, enabling remote clients like Armok Vision. The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=300020</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=300020"/>
		<updated>2024-04-28T22:33:54Z</updated>

		<summary type="html">&lt;p&gt;Myk002: refresh example commands&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:Dfhack_gui_launcher.png|thumb|300px|right|DFHack in-game help browser and command launcher]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve the UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up mold the universe to your liking. For players that do not wish to wield these god-like powers, DFHack's god-mode (''aka &amp;quot;Armok&amp;quot;'') tools can be hidden from the interface by enabling &amp;quot;mortal mode&amp;quot; in the DFHack [https://docs.dfhack.org/en/stable/docs/tools/gui/control-panel.html#gui-control-panel control panel].&lt;br /&gt;
&lt;br /&gt;
DFHack is a modding framework that is packaged alongside a suite of tools that use it. For developers and modders, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools and a vast expansion of capabilities for mods. For players, it is a very useful utility and gameplay mod suite that allows tweaking DF in numerous ways. DFHack is one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves, and adds to the game in many ways, and is recommended for all players.&lt;br /&gt;
&lt;br /&gt;
By default, DFHack only enables UI improvements and bugfixes, but as you become more familiar with the game, you can explore DFHack's many optional and more advanced features.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was additionally [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''. Note that it needs to be installed to the same Steam library and hard drive as Dwarf Fortress itself.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see DFHack's [https://docs.dfhack.org/en/stable/index.html documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Quickstart.html#quickstart-guide quickstart guide] and the [https://docs.dfhack.org/en/stable/docs/Tools.html#dfhack-tools categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Example commands ==&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect all]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/gui/reveal.html#gui-reveal gui/reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Marks the tattered clothing dwarves insist on holding onto and marks it for dumping so they go get newer clothes.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/open-legends.html#open-legends open-legends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For jumping into [[Legends mode]] from a running fort or adventure.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=300019</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=300019"/>
		<updated>2024-04-28T22:29:35Z</updated>

		<summary type="html">&lt;p&gt;Myk002: introduction editing pass&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:Dfhack_gui_launcher.png|thumb|300px|right|DFHack in-game help browser and command launcher]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve the UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up mold the universe to your liking. For players that do not wish to wield these god-like powers, DFHack's god-mode (''aka &amp;quot;Armok&amp;quot;'') tools can be hidden from the interface by enabling &amp;quot;mortal mode&amp;quot; in the DFHack [https://docs.dfhack.org/en/stable/docs/tools/gui/control-panel.html#gui-control-panel control panel].&lt;br /&gt;
&lt;br /&gt;
DFHack is a modding framework that is packaged alongside a suite of tools that use it. For developers and modders, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools and a vast expansion of capabilities for mods. For players, it is a very useful utility and gameplay mod suite that allows tweaking DF in numerous ways. DFHack is one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves, and adds to the game in many ways, and is recommended for all players.&lt;br /&gt;
&lt;br /&gt;
By default, DFHack only enables UI improvements and bugfixes, but as you become more familiar with the game, you can explore DFHack's many optional and more advanced features.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was additionally [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''. Note that it needs to be installed to the same Steam library and hard drive as Dwarf Fortress itself.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see DFHack's [https://docs.dfhack.org/en/stable/index.html documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Quickstart.html#quickstart-guide quickstart guide] and the [https://docs.dfhack.org/en/stable/docs/Tools.html#dfhack-tools categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Common use ==&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/dig.html#digtype digv]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Designates a whole vein for digging.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/reveal.html#revflood reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Collects the random junk dwarves fling about the fortress and marks it for dumping.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/exportlegends.html#exportlegends exportlegends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For exporting [[Legends mode]] information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Installation&amp;diff=300018</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Installation&amp;diff=300018"/>
		<updated>2024-04-28T22:17:43Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
''Dwarf Fortress'' is available as [[Premium version|Premium and Classic versions]]. The installation process depends on the game version. &lt;br /&gt;
&lt;br /&gt;
The ''Premium version'' is published on the [https://store.steampowered.com/app/975370/Dwarf_Fortress/ Steam] and [https://kitfoxgames.itch.io/dwarf-fortress itch.io] platforms. Once bought, the game will automatically add to your game library and will handle like any other game on the platform. &lt;br /&gt;
&lt;br /&gt;
The ''Classic version'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply download the latest version, extract its contents, and play. &lt;br /&gt;
&lt;br /&gt;
= Classic Download =&lt;br /&gt;
{{quick download|0.{{current/version/ns}}}}&lt;br /&gt;
''Dwarf Fortress Classic'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply find the version that matches your operating system and click the link. You may be prompted to save an archive file, or your browser may save it to its configured downloads folder, do so and follow the installation instructions bellow.&lt;br /&gt;
&lt;br /&gt;
:The download linked at the top of the main page is a 64-bit version for Windows. &amp;quot;All versions&amp;quot; links to a page with additional choices depending on version, possibly including &amp;quot;small&amp;quot; builds for Windows (which lack sound files).&lt;br /&gt;
&lt;br /&gt;
== Third-Party Packages ==&lt;br /&gt;
&lt;br /&gt;
The most prominent add-on to install for Dwarf Fortress is [[Utility:DFHack|DFHack]], which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed Dwarf Fortress via Steam, you can also [https://store.steampowered.com/app/2346660/DFHack install DFHack from Steam]. Players of other Dwarf Fortress distributions can download and install DFHack from DFHack's [https://github.com/dfhack/dfhack/releases GitHub releases page].&lt;br /&gt;
&lt;br /&gt;
If you have an older version of DF, you might be interested in the [[Utility:Lazy Newb Pack|Lazy Newb Pack]], which bundles a number of utilities and graphic sets (including DFHack). With recent versions of Dwarf Fortress, a Lazy Newb Pack is no longer needed.&lt;br /&gt;
&lt;br /&gt;
There are also a wide variety of player-made mods available at the [https://steamcommunity.com/app/975370/workshop/ Dwarf Fortress Steam Workshop] and the [http://www.bay12forums.com/smf/index.php?board=27.0 Bay 12 forums]. If you don't have a Steam account, workshop mods can also be downloaded from Steam using the [https://developer.valvesoftware.com/wiki/SteamCMD steamcmd] commandline utility.&lt;br /&gt;
&lt;br /&gt;
= Classic Installation =&lt;br /&gt;
:''Also see: [[System requirements]]''&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
There is no installer for the game. Simply right-click the zip archive you downloaded and choose &amp;lt;code&amp;gt;Extract All...&amp;lt;/code&amp;gt;, then choose a destination folder, and click &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt; (or maybe &amp;lt;code&amp;gt;Unzip&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; on older versions of Windows). By default Windows uses the name of the archive as the folder name, in the folder the archive is in, so something like &amp;lt;code&amp;gt;C:\Users\yourusername\Downloads\df_50_12_win&amp;lt;/code&amp;gt;. You should change that to something like &amp;lt;code&amp;gt;C:\Users\yourusername\Desktop\Dwarf Fortress&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;C:\games\Dwarf Fortress&amp;lt;/code&amp;gt;. After the files have been extracted, double-click the &amp;lt;code&amp;gt;Dwarf Fortress.exe&amp;lt;/code&amp;gt; file within the folder you chose to start the game.&lt;br /&gt;
&lt;br /&gt;
* Make sure to actually ''extract'' the archive; do not just double-click the archive and run the game from the window that appears. If you do this, then it may appear to work, but your save game data will get discarded - the cause of many &amp;quot;my saved games keep getting deleted&amp;quot; complaints. &lt;br /&gt;
* The game needs to be able to write to its own folder, choose a game folder your user has write access to without requiring administrator rights for example: your &amp;lt;code&amp;gt;Downloads&amp;lt;/code&amp;gt; folder, &amp;lt;code&amp;gt;Desktop&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;C:\games\..&amp;lt;/code&amp;gt;; do '''not''' install it in &amp;lt;code&amp;gt;C:\Program Files\..&amp;lt;/code&amp;gt; unless you know how to set up the correct permissions.&lt;br /&gt;
&lt;br /&gt;
Troubleshooting: &lt;br /&gt;
&lt;br /&gt;
* If you have an error stating that MSVCP140.dll or MSVCP140_ATOMIC_WAIT.dll is missing, it can be obtained by downloading the [https://aka.ms/vs/17/release/vc_redist.x64.exe Visual C++ Redistributable for Visual Studio 2022].&lt;br /&gt;
* If Windows is set to scale the display, you may need to disable that for DF. Right-click the ''Dwarf Fortress.exe'' icon, select '''Properties''', select the '''Compatibility''' tab, and then activate the '''Disable display scaling on high DPI settings''' (or '''Override high DPI scaling behavior, scaling performed by: Application''') check box.[https://support.microsoft.com/en-us/help/3025083/windows-scaling-issues-for-high-dpi-devices]&lt;br /&gt;
&lt;br /&gt;
Creating shortcuts:&lt;br /&gt;
&lt;br /&gt;
* Right-click the &amp;lt;code&amp;gt;Dwarf Fortress.exe&amp;lt;/code&amp;gt; file and choose any of &amp;lt;code&amp;gt;Pin to Start&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Pin to taskbar&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Send To &amp;gt; Desktop (create shortcut)&amp;lt;/code&amp;gt;. (The availability of these options may vary depending on the version of Windows.)&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
''Dwarf Fortress'' for Linux is expected to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to log in and get to a command prompt. By default, however, ''Dwarf Fortress'' is a graphical desktop program (an X client), so you should be in a terminal emulator (inside an X session) before starting the game. ''Dwarf Fortress'' will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.&lt;br /&gt;
&lt;br /&gt;
'''Downloading''': Either download it from the [http://www.bay12games.com/dwarves/ Dwarf Fortress Homepage] with a web browser, or with the following terminal command, replacing &amp;quot;XX_YY&amp;quot; with the numbers in the desired ''Dwarf Fortress'' file version, found on the [http://www.bay12games.com/dwarves/ site]:&lt;br /&gt;
 wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2&lt;br /&gt;
&lt;br /&gt;
'''Unpacking''': ''Dwarf Fortress'' is shipped as a (bzip2) compressed tar archive. Current builds will extract directly into the current directory, so create a new subdirectory in a suitable location (perhaps &amp;lt;code&amp;gt;~/games/df_linux&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to it, and then run&lt;br /&gt;
 tar -xjf /path/to/df_XX_YY_linux.tar.bz2&lt;br /&gt;
where /path/to/df_XX_YY_linux.tar.bz2 is the path and filename of the actual file you downloaded.&lt;br /&gt;
&lt;br /&gt;
'''Running''': First, change to the new directory&lt;br /&gt;
 cd df_linux&lt;br /&gt;
then run the program.&lt;br /&gt;
 ./dwarfort&lt;br /&gt;
&lt;br /&gt;
If you have [[Utility:DFHack|DFHack]] installed, instead run&lt;br /&gt;
 ./dfhack&lt;br /&gt;
which will set up the console as a DFHack command terminal. The DFHack launcher also solves some issues with loading libraries that you may otherwise run into.&lt;br /&gt;
&lt;br /&gt;
Now you need to ensure that the required dependencies are installed. If you try to run the game and get errors about missing SDL_image libraries (etc.) then you need to install them. Use your distribution's package manager for this - details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) - you just need the runtime versions, with the actual shared libraries.&lt;br /&gt;
&lt;br /&gt;
If sound is not working for you, load the game through the DFHack launcher (&amp;lt;code&amp;gt;./dfhack&amp;lt;/code&amp;gt;) or change the startup command to:&lt;br /&gt;
 LD_LIBRARY_PATH=. .dwarfort&lt;br /&gt;
&lt;br /&gt;
If you see any errors related to glibc when starting DF (for example, &amp;quot;version `GLIBC_2.34' not found&amp;quot;), your version of Linux is too old and will need to be upgraded (e.g. Ubuntu 20.04 LTS is insufficient, but 22.04 LTS should work). Alternatively, you can try running the Windows version in Wine.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Fortunately, the documentation on this wiki is very detailed and extensive. You may want to start out with:&lt;br /&gt;
* [[Tutorials]]&lt;br /&gt;
* [[Quickstart_guide|Fortress Mode Quickstart Guide]]&lt;br /&gt;
* [[Adventure mode quick start|Adventure Mode Quickstart Guide]]&lt;br /&gt;
&lt;br /&gt;
Then move on to:&lt;br /&gt;
* [[Dwarf fortress mode|Fortress Mode reference]]&lt;br /&gt;
* [[Adventure mode|Adventure Mode reference]]&lt;br /&gt;
* [[Special:Search|Searching]] the wiki&lt;br /&gt;
&lt;br /&gt;
DFHack has its own documentation site:&lt;br /&gt;
* [https://docs.dfhack.org/en/latest/index.html DFHack docs]&lt;br /&gt;
&lt;br /&gt;
{{Getting Started}}&lt;br /&gt;
[[ru:Installation]][[zh:Installation]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Installation&amp;diff=300017</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Installation&amp;diff=300017"/>
		<updated>2024-04-28T22:15:20Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
''Dwarf Fortress'' is available as [[Premium version|Premium and Classic versions]]. The installation process depends on the game version. &lt;br /&gt;
&lt;br /&gt;
The ''Premium version'' is published on the [https://store.steampowered.com/app/975370/Dwarf_Fortress/ Steam] and [https://kitfoxgames.itch.io/dwarf-fortress itch.io] platforms. Once bought, the game will automatically add to your game library and will handle like any other game on the platform. &lt;br /&gt;
&lt;br /&gt;
The ''Classic version'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply download the latest version, extract its contents, and play. &lt;br /&gt;
&lt;br /&gt;
= Classic Download =&lt;br /&gt;
{{quick download|0.{{current/version/ns}}}}&lt;br /&gt;
''Dwarf Fortress Classic'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply find the version that matches your operating system and click the link. You may be prompted to save an archive file, or your browser may save it to its configured downloads folder, do so and follow the installation instructions bellow.&lt;br /&gt;
&lt;br /&gt;
:The download linked at the top of the main page is a 64-bit version for Windows. &amp;quot;All versions&amp;quot; links to a page with additional choices depending on version, possibly including &amp;quot;small&amp;quot; builds for Windows (which lack sound files).&lt;br /&gt;
&lt;br /&gt;
== Third-Party Packages ==&lt;br /&gt;
&lt;br /&gt;
The most prominent add-on to install for Dwarf Fortress is [[Utility:DFHack|DFHack]], which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed Dwarf Fortress via Steam, you can also [https://store.steampowered.com/app/2346660/DFHack install DFHack from Steam]. Players of other Dwarf Fortress distributions can download and install DFHack from DFHack's [https://github.com/dfhack/dfhack/releases GitHub releases page].&lt;br /&gt;
&lt;br /&gt;
If you have an older version of DF, you might be interested in the [[Utility:Lazy Newb Pack|Lazy Newb Pack]], which bundles a number of utilities and graphic sets (including DFHack). With recent versions of Dwarf Fortress, a Lazy Newb Pack is no longer needed.&lt;br /&gt;
&lt;br /&gt;
There are also a wide variety of player-made mods available at the [https://steamcommunity.com/app/975370/workshop/ Dwarf Fortress Steam Workshop] and the [http://www.bay12forums.com/smf/index.php?board=27.0 Bay 12 forums]. If you don't have a Steam account, workshop mods can also be downloaded from Steam using the [https://developer.valvesoftware.com/wiki/SteamCMD steamcmd] commandline utility.&lt;br /&gt;
&lt;br /&gt;
= Classic Installation =&lt;br /&gt;
:''Also see: [[System requirements]]''&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
There is no installer for the game. Simply right-click the zip archive you downloaded and choose &amp;lt;code&amp;gt;Extract All...&amp;lt;/code&amp;gt;, then choose a destination folder, and click &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt; (or maybe &amp;lt;code&amp;gt;Unzip&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; on older versions of Windows). By default Windows uses the name of the archive as the folder name, in the folder the archive is in, so something like &amp;lt;code&amp;gt;C:\Users\yourusername\Downloads\df_50_12_win&amp;lt;/code&amp;gt;. You should change that to something like &amp;lt;code&amp;gt;C:\Users\yourusername\Desktop\Dwarf Fortress&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;C:\games\Dwarf Fortress&amp;lt;/code&amp;gt;. After the files have been extracted, double-click the &amp;lt;code&amp;gt;Dwarf Fortress.exe&amp;lt;/code&amp;gt; file within the folder you chose to start the game.&lt;br /&gt;
&lt;br /&gt;
* Make sure to actually ''extract'' the archive; do not just double-click the archive and run the game from the window that appears. If you do this, then it may appear to work, but your save game data will get discarded - the cause of many &amp;quot;my saved games keep getting deleted&amp;quot; complaints. &lt;br /&gt;
* The game needs to be able to write to its own folder, choose a game folder your user has write access to without requiring administrator rights for example: your &amp;lt;code&amp;gt;Downloads&amp;lt;/code&amp;gt; folder, &amp;lt;code&amp;gt;Desktop&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;C:\games\..&amp;lt;/code&amp;gt;; do '''not''' install it in &amp;lt;code&amp;gt;C:\Program Files\..&amp;lt;/code&amp;gt; unless you know how to set up the correct permissions.&lt;br /&gt;
&lt;br /&gt;
Troubleshooting: &lt;br /&gt;
&lt;br /&gt;
* If you have an error stating that MSVCP140.dll or MSVCP140_ATOMIC_WAIT.dll is missing, it can be obtained by downloading the [https://aka.ms/vs/17/release/vc_redist.x64.exe Visual C++ Redistributable for Visual Studio 2022].&lt;br /&gt;
* If Windows is set to scale the display, you may need to disable that for DF. Right-click the ''Dwarf Fortress.exe'' icon, select '''Properties''', select the '''Compatibility''' tab, and then activate the '''Disable display scaling on high DPI settings''' (or '''Override high DPI scaling behavior, scaling performed by: Application''') check box.[https://support.microsoft.com/en-us/help/3025083/windows-scaling-issues-for-high-dpi-devices]&lt;br /&gt;
&lt;br /&gt;
Creating shortcuts:&lt;br /&gt;
&lt;br /&gt;
* Right-click the &amp;lt;code&amp;gt;Dwarf Fortress.exe&amp;lt;/code&amp;gt; file and choose any of &amp;lt;code&amp;gt;Pin to Start&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Pin to taskbar&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Send To &amp;gt; Desktop (create shortcut)&amp;lt;/code&amp;gt;. (The availability of these options may vary depending on the version of Windows.)&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
''Dwarf Fortress'' for Linux is expected to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to log in and get to a command prompt. By default, however, ''Dwarf Fortress'' is a graphical desktop program (an X client), so you should be in a terminal emulator (inside an X session) before starting the game. ''Dwarf Fortress'' will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.&lt;br /&gt;
&lt;br /&gt;
'''Downloading''': Either download it from the [http://www.bay12games.com/dwarves/ Dwarf Fortress Homepage] with a web browser, or with the following terminal command, replacing &amp;quot;XX_YY&amp;quot; with the numbers in the desired ''Dwarf Fortress'' file version, found on the [http://www.bay12games.com/dwarves/ site]:&lt;br /&gt;
 wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2&lt;br /&gt;
&lt;br /&gt;
'''Unpacking''': ''Dwarf Fortress'' is shipped as a (bzip2) compressed tar archive. Current builds will extract directly into the current directory, so create a new subdirectory in a suitable location (perhaps &amp;lt;code&amp;gt;~/games/df_linux&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to it, and then run&lt;br /&gt;
 tar -xjf /path/to/df_XX_YY_linux.tar.bz2&lt;br /&gt;
where /path/to/df_XX_YY_linux.tar.bz2 is the path and filename of the actual file you downloaded.&lt;br /&gt;
&lt;br /&gt;
'''Running''': First, change to the new directory&lt;br /&gt;
 cd df_linux&lt;br /&gt;
then run the program.&lt;br /&gt;
 ./dwarfort&lt;br /&gt;
&lt;br /&gt;
If you have [[Utility:DFHack|DFHack]] installed, instead run&lt;br /&gt;
 ./dfhack&lt;br /&gt;
which will set up the console as a DFHack command terminal. The DFHack launcher also solves some issues with loading libraries that you may otherwise run into.&lt;br /&gt;
&lt;br /&gt;
Now you need to ensure that the required dependencies are installed. If you try to run the game and get errors about missing SDL_image libraries (etc.) then you need to install them. Use your distribution's package manager for this - details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) - you just need the runtime versions, with the actual shared libraries.&lt;br /&gt;
&lt;br /&gt;
If sound is not working for you, load the game through the DFHack launcher (&amp;lt;code&amp;gt;./dfhack&amp;lt;/code&amp;gt;) or change the startup command to:&lt;br /&gt;
 LD_LIBRARY_PATH=. .dwarfort&lt;br /&gt;
&lt;br /&gt;
If you see any errors related to glibc when starting DF (for example, &amp;quot;version `GLIBC_2.34' not found&amp;quot;), your version of Linux is too old and will need to be upgraded (e.g. Ubuntu 20.04 LTS is insufficient, but 22.04 LTS should work). Alternatively, you can try running the Windows version in Wine.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Fortunately, the documentation on this wiki is very detailed and extensive. You may want to start out with:&lt;br /&gt;
* [[Tutorials]]&lt;br /&gt;
* [[Quickstart_guide|Fortress Mode Quickstart Guide]]&lt;br /&gt;
* [[Adventure mode quick start|Adventure Mode Quickstart Guide]]&lt;br /&gt;
&lt;br /&gt;
Then move on to:&lt;br /&gt;
* [[Dwarf fortress mode|Fortress Mode reference]]&lt;br /&gt;
* [[Adventure mode|Adventure Mode reference]]&lt;br /&gt;
* [[Special:Search|Searching]] the wiki&lt;br /&gt;
&lt;br /&gt;
{{Getting Started}}&lt;br /&gt;
[[ru:Installation]][[zh:Installation]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Installation&amp;diff=300015</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Installation&amp;diff=300015"/>
		<updated>2024-04-28T22:09:01Z</updated>

		<summary type="html">&lt;p&gt;Myk002: rewrite third party packages section to focus more on DFHack&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Fine}}&lt;br /&gt;
{{av}}&lt;br /&gt;
{{TOC right}}&lt;br /&gt;
''Dwarf Fortress'' is available as [[Premium version|Premium and Classic versions]]. The installation process depends on the game version. &lt;br /&gt;
&lt;br /&gt;
The ''Premium version'' is published on the [https://store.steampowered.com/app/975370/Dwarf_Fortress/ Steam] and [https://kitfoxgames.itch.io/dwarf-fortress itch.io] platforms. Once bought, the game will automatically add to your game library and will handle like any other game on the platform. &lt;br /&gt;
&lt;br /&gt;
The ''Classic version'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply download the latest version, extract its contents, and play. &lt;br /&gt;
&lt;br /&gt;
= Classic Download =&lt;br /&gt;
{{quick download|0.{{current/version/ns}}}}&lt;br /&gt;
''Dwarf Fortress Classic'' is freely available directly from the developers, [http://www.bay12games.com/dwarves/ Bay 12 Games]. Simply find the version that matches your operating system and click the link. You may be prompted to save an archive file, or your browser may save it to its configured downloads folder, do so and follow the installation instructions bellow.&lt;br /&gt;
&lt;br /&gt;
:The download linked at the top of the main page is a 64-bit version for Windows. &amp;quot;All versions&amp;quot; links to a page with additional choices depending on version, possibly including &amp;quot;small&amp;quot; builds for Windows (which lack sound files).&lt;br /&gt;
&lt;br /&gt;
== Third-Party Packages ==&lt;br /&gt;
&lt;br /&gt;
The most prominent add-on to install for Dwarf Fortress is [[Utility:DFHack|DFHack]], which introduces a wide variety of interface improvements, bugfixes, and productivity tools. If you have installed Dwarf Fortress via Steam, you can also [https://store.steampowered.com/app/2346660/DFHack install DFHack from Steam]. Players of other Dwarf Fortress distributions can download and install DFHack from DFHack's [https://github.com/dfhack/dfhack/releases GitHub releases page].&lt;br /&gt;
&lt;br /&gt;
If you have an older version of DF, you might be interested in the [[Utility:Lazy Newb Pack|Lazy Newb Pack]], which bundles a number of utilities and graphic sets (including DFHack). With recent versions of Dwarf Fortress, a Lazy Newb Pack is no longer needed.&lt;br /&gt;
&lt;br /&gt;
There are also a wide variety of player-made mods available at the [https://steamcommunity.com/app/975370/workshop/ Dwarf Fortress Steam Workshop] and the [http://www.bay12forums.com/smf/index.php?board=27.0 Bay 12 forums]. If you don't have a Steam account, workshop mods can also be downloaded from Steam using the [https://developer.valvesoftware.com/wiki/SteamCMD steamcmd] commandline utility.&lt;br /&gt;
&lt;br /&gt;
= Classic Installation =&lt;br /&gt;
:''Also see: [[System requirements]]''&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
&lt;br /&gt;
There is no installer for the game. Simply right-click the zip archive you downloaded and choose &amp;lt;code&amp;gt;Extract All...&amp;lt;/code&amp;gt;, then choose a destination folder, and click &amp;lt;code&amp;gt;Extract&amp;lt;/code&amp;gt; (or maybe &amp;lt;code&amp;gt;Unzip&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Next&amp;lt;/code&amp;gt; on older versions of Windows). By default Windows uses the name of the archive as the folder name, in the folder the archive is in, so something like &amp;lt;code&amp;gt;C:\Users\yourusername\Downloads\df_50_12_win&amp;lt;/code&amp;gt;. You should change that to something like &amp;lt;code&amp;gt;C:\Users\yourusername\Desktop\Dwarf Fortress&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;C:\games\Dwarf Fortress&amp;lt;/code&amp;gt;. After the files have been extracted, double-click the &amp;lt;code&amp;gt;Dwarf Fortress.exe&amp;lt;/code&amp;gt; file within the folder you chose to start the game.&lt;br /&gt;
&lt;br /&gt;
* Make sure to actually ''extract'' the archive; do not just double-click the archive and run the game from the window that appears. If you do this, then it may appear to work, but your save game data will get discarded - the cause of many &amp;quot;my saved games keep getting deleted&amp;quot; complaints. &lt;br /&gt;
* The game needs to be able to write to its own folder, choose a game folder your user has write access to without requiring administrator rights for example: your &amp;lt;code&amp;gt;Downloads&amp;lt;/code&amp;gt; folder, &amp;lt;code&amp;gt;Desktop&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;C:\games\..&amp;lt;/code&amp;gt;; do '''not''' install it in &amp;lt;code&amp;gt;C:\Program Files\..&amp;lt;/code&amp;gt; unless you know how to set up the correct permissions.&lt;br /&gt;
&lt;br /&gt;
Troubleshooting: &lt;br /&gt;
&lt;br /&gt;
* If you have an error stating that MSVCP140.dll or MSVCP140_ATOMIC_WAIT.dll is missing, it can be obtained by downloading the [https://aka.ms/vs/17/release/vc_redist.x64.exe Visual C++ Redistributable for Visual Studio 2022].&lt;br /&gt;
* If Windows is set to scale the display, you may need to disable that for DF. Right-click the ''Dwarf Fortress.exe'' icon, select '''Properties''', select the '''Compatibility''' tab, and then activate the '''Disable display scaling on high DPI settings''' (or '''Override high DPI scaling behavior, scaling performed by: Application''') check box.[https://support.microsoft.com/en-us/help/3025083/windows-scaling-issues-for-high-dpi-devices]&lt;br /&gt;
&lt;br /&gt;
Creating shortcuts:&lt;br /&gt;
&lt;br /&gt;
* Right-click the &amp;lt;code&amp;gt;Dwarf Fortress.exe&amp;lt;/code&amp;gt; file and choose any of &amp;lt;code&amp;gt;Pin to Start&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Pin to taskbar&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;Send To &amp;gt; Desktop (create shortcut)&amp;lt;/code&amp;gt;. (The availability of these options may vary depending on the version of Windows.)&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&lt;br /&gt;
''Dwarf Fortress'' for Linux is expected to be run from a terminal (command-line) interface, and so the instructions here will assume you know how to log in and get to a command prompt. By default, however, ''Dwarf Fortress'' is a graphical desktop program (an X client), so you should be in a terminal emulator (inside an X session) before starting the game. ''Dwarf Fortress'' will create a new window outside of the terminal window by default, so don't worry about the size of the terminal.&lt;br /&gt;
&lt;br /&gt;
'''Downloading''': Either download it from the [http://www.bay12games.com/dwarves/ Dwarf Fortress Homepage] with a web browser, or with the following terminal command, replacing &amp;quot;XX_YY&amp;quot; with the numbers in the desired ''Dwarf Fortress'' file version, found on the [http://www.bay12games.com/dwarves/ site]:&lt;br /&gt;
 wget http://www.bay12games.com/dwarves/df_XX_YY_linux.tar.bz2&lt;br /&gt;
&lt;br /&gt;
'''Unpacking''': ''Dwarf Fortress'' is shipped as a (bzip2) compressed tar archive. Current builds will extract directly into the current directory, so create a new subdirectory in a suitable location (perhaps &amp;lt;code&amp;gt;~/games/df_linux&amp;lt;/code&amp;gt;), &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; to it, and then run&lt;br /&gt;
 tar -xjf /path/to/df_XX_YY_linux.tar.bz2&lt;br /&gt;
where /path/to/df_XX_YY_linux.tar.bz2 is the path and filename of the actual file you downloaded.&lt;br /&gt;
&lt;br /&gt;
'''Running''': First, change to the new directory&lt;br /&gt;
 cd df_linux&lt;br /&gt;
then run the program.&lt;br /&gt;
 ./dwarfort&lt;br /&gt;
&lt;br /&gt;
Now you need to ensure that the required dependencies are installed. If you try to run the game and get errors about missing SDL_image libraries (etc.) then you need to install them. Use your distribution's package manager for this - details will be extremely distribution-specific. You don't need the development versions of the packages with the headers (although that won't hurt) - you just need the runtime versions, with the actual shared libraries.&lt;br /&gt;
&lt;br /&gt;
If you see any errors related to glibc when starting DF (for example, &amp;quot;version `GLIBC_2.34' not found&amp;quot;), your version of Linux is too old and will need to be upgraded (e.g. Ubuntu 20.04 LTS is insufficient, but 22.04 LTS should work). Alternatively, you can try running the Windows version in Wine.&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
&lt;br /&gt;
Fortunately, the documentation on this wiki is very detailed and extensive. You may want to start out with:&lt;br /&gt;
* [[Tutorials]]&lt;br /&gt;
* [[Quickstart_guide|Fortress Mode Quickstart Guide]]&lt;br /&gt;
* [[Adventure mode quick start|Adventure Mode Quickstart Guide]]&lt;br /&gt;
&lt;br /&gt;
Then move on to:&lt;br /&gt;
* [[Dwarf fortress mode|Fortress Mode reference]]&lt;br /&gt;
* [[Adventure mode|Adventure Mode reference]]&lt;br /&gt;
* [[Special:Search|Searching]] the wiki&lt;br /&gt;
&lt;br /&gt;
{{Getting Started}}&lt;br /&gt;
[[ru:Installation]][[zh:Installation]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Traffic&amp;diff=297944</id>
		<title>Traffic</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Traffic&amp;diff=297944"/>
		<updated>2024-02-25T05:40:38Z</updated>

		<summary type="html">&lt;p&gt;Myk002: add reference and link to DFHack's restrictice tool&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Unrated}}&lt;br /&gt;
{{av}}&lt;br /&gt;
[[File:traffic_anim.gif|right]]'''Traffic designations''' determine preferred paths for dwarves going around in your fortress. Normally, dwarves use the shortest route possible; using these designations, you can force them to take a different route. This way you can set up main hallways or rarely used side corridors. Only your dwarves will obey your traffic designations, and then only when they can.  If a [[job]] requires that they go into a restricted zone, they will.  Other [[creature]]s will not recognize your traffic designations, and even [[domestic animal]]s or [[caravan]]s will follow their own pathing.&lt;br /&gt;
&lt;br /&gt;
Traffic designations can't solve all traffic problems. However, some issues can be prevented by good [[Design strategies|fortress design]]. For example, you might make hallways that are likely to be busy two or more tiles wide, and place [[stockpile]]s close to relevant [[workshop]]s. Other difficulties may be reduced by designating traffic areas.&lt;br /&gt;
&lt;br /&gt;
Vegetation (saplings) will tend to die if repeatedly trampled upon, leaving dead [[Tree|sapling]]s or [[shrub]]s and quickly exposing bare [[soil]]. This may be desirable as [[tree]]s block dwarves' and [[caravan]]s' paths, but unchecked traffic may trample entire areas of [[forest]] regrowth. &lt;br /&gt;
&lt;br /&gt;
==Setting Traffic Areas==&lt;br /&gt;
[[File:traffic_v50_preview.png|thumb|180px|right|Four types of traffic designations in a 4-way junction.]]The {{K|d}}{{K|o}} combination sets '''traffic areas''', which are zones used to manipulate the movements of dwarves. Traffic areas can be designated as high, normal, low, or restricted. When walking from one point to another, dwarves consider these designations in finding the shortest path. Costs per tile for the pathfinding AI set for traffic levels are as follows: &amp;lt;span style=&amp;quot;color:#4b9d4b&amp;quot;&amp;gt;'''high'''&amp;lt;/span&amp;gt; costs 1 point, &amp;lt;span style=&amp;quot;color:#555555&amp;quot;&amp;gt;'''normal'''&amp;lt;/span&amp;gt; (default, undesignated) costs 2, &amp;lt;span style=&amp;quot;color:#959529&amp;quot;&amp;gt;'''low'''&amp;lt;/span&amp;gt; costs 5, and &amp;lt;span style=&amp;quot;color:#bd2828&amp;quot;&amp;gt;'''restricted'''&amp;lt;/span&amp;gt; costs 25. You can change the default PATH_COST values in [[d_init.txt]], or per-fortress values with {{K|d}}{{K|o}}.&lt;br /&gt;
&lt;br /&gt;
* It is often a good idea to set any [[water]] source in a [[biome]] with seasonal freezing to a Restricted area, so your dwarves will be less likely to be caught on it when it melts. If you have [[DFHack]] installed, the [https://docs.dfhack.org/en/latest/docs/tools/filltraffic.html restrictice] command can do this designation for you.&lt;br /&gt;
* Some dwarves get [[thought|disturbed]] if they walk through a [[butcher's shop]] and see an animal being slaughtered, so you may wish to designate the shop or a band around it as Restricted.&lt;br /&gt;
* Setting Restricted traffic areas over undisturbed [[cloth|webs]] or saplings is a good way to prevent dwarves from destroying them. &lt;br /&gt;
* If an area occasionally gets [[flood]]ed, or is dangerous for some reason, routing dwarves around it could be lifesaving.&lt;br /&gt;
* Setting high traffic areas along [[road]]s outdoors prevents vegetation from being needlessly trampled.&lt;br /&gt;
* An important use of traffic designations is to restrict movement in the tile where a [[ballista]]'s firing arrow originates.  This will prevent tragic [[siege]] training accidents.  Note that [[pet]]s can and will be killed by firing ballista even if movement is Restricted.&lt;br /&gt;
&lt;br /&gt;
Setting Restricted does not forbid a [[dwarf]] from traveling over those squares, but rather makes them willing to walk around them &amp;amp;ndash; for the normal cost table, 12.5 times further, or up to 25 times longer if there is an alternative high-traffic path. If you have an area that absolutely must not be stepped on by dwarves, consider [[wall]]s, or if you still need access now and then, a locked [[door]].&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
This section will provide visual examples, to help further explain the mechanics of traffic. ''Note: These examples may be changed in the future for better factual accuracy.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:traffic_example_1.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
In this scenario, where all the tiles are undesignated, normal traffic, the dwarf will obviously go straight to the goal/destination; since simply going straight is the shortest path, with the least cost.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:traffic_example_2.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Though the setup is similar here, the shortest path is now designated with low traffic. The dwarf instead goes around the obstacle to reach his destination, as going around through the normal traffic tiles is less costly than going straight in the low traffic tiles.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:traffic_example_3.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Another similar setup, but the shortest path is now designated with restricted traffic, and the two next shortest travel distances are marked with low traffic. The dwarf now goes the longest way around, as the high traffic tiles have the least cost of all other travel options. If the high traffic tiles weren't there, the dwarf would still go the long way around, using normal traffic tiles instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:traffic_example_4.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Another example where the dwarf goes the long way around. Despite having a shorter way to reach the goal ''and'' there being lowest-cost high traffic tiles in that area, the lower, much longer path is taken by the dwarf. Similar to the previous examples, the longer path accumulates less cost.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:traffic_example_5.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
If a dwarf has an important job to do, he/she will ignore any traffic designations and take the shortest path to their destination. If the dwarf was doing a less important task, he/she would have taken the upper route instead.&lt;br /&gt;
&lt;br /&gt;
==Limitations==&lt;br /&gt;
Traffic designations only affect path preferences when pathfinding.  Dwarves generally choose their jobs without weighing the pathfinding costs.  For example, one cannot use traffic designations to direct a dwarf to confine his digging to a specific area.  He will still take whatever path necessary to get to the job he has chosen to work.  The best option to restrict a dwarf to a certain area is to make use of [[burrow]]s. &lt;br /&gt;
&lt;br /&gt;
Additionally, traffic designations cannot be used to restrict where a dwarf will stand when building/digging.  In other words, traffic designations will not prevent a dwarf from placing himself on the outside of the fort when the last tile of a moat or wall is completed. One workaround is to build a statue on a tile to prevent dwarves from standing there.&lt;br /&gt;
&lt;br /&gt;
== Using traffic areas to improve framerate ==&lt;br /&gt;
&lt;br /&gt;
In cavernous rooms that handle large amounts of through traffic but have a few exits (a large central dining room, for example) designating a few high-traffic paths (&amp;quot;freeways&amp;quot;) between the doors can help reduce the pathfinding cost for dwarves who are just passing through.  There may also be benefits to adding low-traffic edges to these freeways to keep the search algorithm from looking for shortcuts.  Likewise, any large dead-end room that branches off a major hallway should have the area around its doorway marked low or restricted traffic to prevent dwarves from searching it for shortcuts.  As noted above in '''Limitations''', this should not affect the dwarves who have a legitimate reason to hang out in the dining hall or visit the storage room - they will path to their destination regardless.  Users may see up to a 10% increase in FPS by implementing these changes throughout their fortress.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
:* [[Path]]&lt;br /&gt;
&lt;br /&gt;
{{Category|Designations}}&lt;br /&gt;
[[ru:Traffic]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295153</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295153"/>
		<updated>2023-09-08T07:12:03Z</updated>

		<summary type="html">&lt;p&gt;Myk002: move bug warning up to the installation section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:Dfhack_gui_launcher.png|thumb|300px|right|DFHack in-game help browser and command launcher]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up [[cheat]] - though DFHack's cheat (aka &amp;quot;Armok&amp;quot;) tools can be hidden from the interface by enabling &amp;quot;mortal mode&amp;quot; in the DFHack [https://docs.dfhack.org/en/stable/docs/tools/gui/control-panel.html#gui-control-panel control panel].&lt;br /&gt;
&lt;br /&gt;
DFHack is an extensive standardized memory access library, packaged alongside a suite of basic tools that use it. Currently, tools come in the form of plugins, as well as Lua scripts. For developers and modders, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools and a vast expansion of capabilities for mods. For players, it is a very useful utility complex that allows tweaking DF in numerous ways. This is probably one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves and adds to the game in many ways, and is recommended for all players.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was additionally [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see the [https://docs.dfhack.org/en/stable/index.html#user-manual documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Quickstart.html#quickstart-guide quickstart guide] and the [https://docs.dfhack.org/en/stable/docs/Tools.html#dfhack-tools categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.exe.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Common use ==&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/dig.html#digtype digv]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Designates a whole vein for digging.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/reveal.html#revflood reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Collects the random junk dwarves fling about the fortress and marks it for dumping.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/exportlegends.html#exportlegends exportlegends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For exporting [[Legends mode]] information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295152</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295152"/>
		<updated>2023-09-08T07:07:12Z</updated>

		<summary type="html">&lt;p&gt;Myk002: update gui/launcher screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:Dfhack_gui_launcher.png|thumb|300px|right|DFHack in-game help browser and command launcher]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up [[cheat]] - though DFHack's cheat (aka &amp;quot;Armok&amp;quot;) tools can be hidden from the interface by enabling &amp;quot;mortal mode&amp;quot; in the DFHack [https://docs.dfhack.org/en/stable/docs/tools/gui/control-panel.html#gui-control-panel control panel].&lt;br /&gt;
&lt;br /&gt;
DFHack is an extensive standardized memory access library, packaged alongside a suite of basic tools that use it. Currently, tools come in the form of plugins, as well as Lua scripts. For developers and modders, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools and a vast expansion of capabilities for mods. For players, it is a very useful utility complex that allows tweaking DF in numerous ways. This is probably one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves and adds to the game in many ways, and is recommended for all players.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was additionally [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see the [https://docs.dfhack.org/en/stable/index.html#user-manual documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Quickstart.html#quickstart-guide quickstart guide] and the [https://docs.dfhack.org/en/stable/docs/Tools.html#dfhack-tools categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Common use ==&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.exe.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/dig.html#digtype digv]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Designates a whole vein for digging.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/reveal.html#revflood reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Collects the random junk dwarves fling about the fortress and marks it for dumping.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/exportlegends.html#exportlegends exportlegends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For exporting [[Legends mode]] information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Dfhack_gui_launcher.png&amp;diff=295151</id>
		<title>File:Dfhack gui launcher.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Dfhack_gui_launcher.png&amp;diff=295151"/>
		<updated>2023-09-08T07:05:53Z</updated>

		<summary type="html">&lt;p&gt;Myk002: Default view of the in-game DFHack command launcher, gui/launcher&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Default view of the in-game DFHack command launcher, gui/launcher&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{Non-free Dwarf Fortress Screenshot}}&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295150</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295150"/>
		<updated>2023-09-08T06:56:23Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* Common use */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:dfhack_cmd.png|thumb|300px|right|Command ready!]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up [[cheat]] - though DFHack's cheat (aka &amp;quot;Armok&amp;quot;) tools can be hidden from the interface by enabling &amp;quot;mortal mode&amp;quot; in the DFHack [https://docs.dfhack.org/en/stable/docs/tools/gui/control-panel.html#gui-control-panel control panel].&lt;br /&gt;
&lt;br /&gt;
DFHack is an extensive standardized memory access library, packaged alongside a suite of basic tools that use it. Currently, tools come in the form of plugins, as well as Lua scripts. For developers and modders, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools and a vast expansion of capabilities for mods. For players, it is a very useful utility complex that allows tweaking DF in numerous ways. This is probably one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves and adds to the game in many ways, and is recommended for all players.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was additionally [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see the [https://docs.dfhack.org/en/stable/index.html#user-manual documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Quickstart.html#quickstart-guide quickstart guide] and the [https://docs.dfhack.org/en/stable/docs/Tools.html#dfhack-tools categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Common use ==&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.exe.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/dig.html#digtype digv]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Designates a whole vein for digging.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/reveal.html#revflood reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Collects the random junk dwarves fling about the fortress and marks it for dumping.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/exportlegends.html#exportlegends exportlegends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For exporting [[Legends mode]] information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295149</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295149"/>
		<updated>2023-09-08T06:54:35Z</updated>

		<summary type="html">&lt;p&gt;Myk002: revise intro&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:dfhack_cmd.png|thumb|300px|right|Command ready!]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up [[cheat]] - though DFHack's cheat (aka &amp;quot;Armok&amp;quot;) tools can be hidden from the interface by enabling &amp;quot;mortal mode&amp;quot; in the DFHack [https://docs.dfhack.org/en/stable/docs/tools/gui/control-panel.html#gui-control-panel control panel].&lt;br /&gt;
&lt;br /&gt;
DFHack is an extensive standardized memory access library, packaged alongside a suite of basic tools that use it. Currently, tools come in the form of plugins, as well as Lua scripts. For developers and modders, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools and a vast expansion of capabilities for mods. For players, it is a very useful utility complex that allows tweaking DF in numerous ways. This is probably one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves and adds to the game in many ways, and is recommended for all players.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was additionally [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see the [https://docs.dfhack.org/en/stable/index.html#user-manual documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Quickstart.html#quickstart-guide quickstart guide] and the [https://docs.dfhack.org/en/stable/docs/Tools.html#dfhack-tools categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Common use ==&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. On Linux and OS X, DFHack can be bypassed by running the &amp;quot;df&amp;quot; script. On Windows, DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.exe.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/dig.html#digtype digv]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Designates a whole vein for digging.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/reveal.html#revflood reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Collects the random junk dwarves fling about the fortress and marks it for dumping.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/exportlegends.html#exportlegends exportlegends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For exporting [[Legends mode]] information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295148</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=295148"/>
		<updated>2023-09-08T06:43:57Z</updated>

		<summary type="html">&lt;p&gt;Myk002: align features with what is actually available as of DFHack 50.09-r3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Introduction.html#support Support channels], including [https://dfhack.org/discord Discord]&lt;br /&gt;
}}&lt;br /&gt;
[[File:dfhack_cmd.png|thumb|300px|right|Command ready!]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up [[cheat]].  &lt;br /&gt;
&lt;br /&gt;
DFHack is an extensive standardized memory access library, packaged alongside a suite of basic tools that use it. Currently, tools come in the form of plugins, as well as Lua scripts. For developers, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools. For users, it is a very useful utility complex that allows users to tweak their games in numerous ways in-game. This is probably one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves and adds to the game in many ways, and is usually included in recent versions of the [[Utility:Lazy Newb Pack|Lazy Newb Pack]] on all platforms.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of ''Dwarf Fortress''.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see the [https://dfhack.readthedocs.org/en/stable/#user-manual documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Tools.html categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:Move_goods_dfhack.png|thumb|288px|right|Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and search options.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search, sort, and filtering for screens with big lists.&lt;br /&gt;
* Ability to designate placeholder buildings, furniture, and constructions that get automatically assigned building materials as they become available.&lt;br /&gt;
* Ability to type characters not available on keyboards.&lt;br /&gt;
&lt;br /&gt;
Automatic bugfixes, such as:&lt;br /&gt;
* fix/stuck-instruments - Fix activity references on instruments whose previous player was interrupted to make them usable again.&lt;br /&gt;
* fix/general-strike - Prevent dwarves from getting stuck and refusing to work.&lt;br /&gt;
* orders sort - Sort manager orders by repeat frequency so one-time orders can be completed.&lt;br /&gt;
* fix/empty-wheelbarrows - Empties wheelbarrows which have rocks stuck in them.&lt;br /&gt;
&lt;br /&gt;
Fortress design tools, such as:&lt;br /&gt;
* gui/design - Designate digging or constructions in shapes and lines&lt;br /&gt;
* gui/quickfort- Designate digging, stockpiles, buildings, and/or zones from a blueprint. DFHack also comes with a [https://docs.dfhack.org/en/stable/docs/guides/quickfort-library-guide.html library of blueprints].&lt;br /&gt;
&lt;br /&gt;
Fortress management automation tools, such as:&lt;br /&gt;
* autobutcher - Designates excess livestock for slaughter.&lt;br /&gt;
* autochop - Designates trees for chopping when the fortress needs more logs.&lt;br /&gt;
* autolabor - Automatically assign labors to dwarves to efficiently complete pending jobs&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* prioritize - Ensures time-sensitive jobs get done quickly.&lt;br /&gt;
* seedwatch - Controls settings for cooking seeds and plants so you don't run out of seeds to plant.&lt;br /&gt;
* tailor - Generate manager workorders for clothing as existing clothing wears out.&lt;br /&gt;
&lt;br /&gt;
Gameplay modifications, such as: &lt;br /&gt;
* deteriorate - Cause corpses, clothes, and/or food to rot away over time.&lt;br /&gt;
* dwarfvet - Allow animals to be treated at hospitals.&lt;br /&gt;
* emigration - Allow unhappy dwarves to voluntarily leave the fortress&lt;br /&gt;
* misery - Amplify negative thoughts.&lt;br /&gt;
* starvingdead - Undead waste away over time.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* [[Stonesense]] - an isometric visualizer of the map.&lt;br /&gt;
&lt;br /&gt;
== Common use ==&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. On Linux and OS X, DFHack can be bypassed by running the &amp;quot;df&amp;quot; script. On Windows, DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.exe.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/dig.html#digtype digv]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Designates a whole vein for digging.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/reveal.html#revflood reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Collects the random junk dwarves fling about the fortress and marks it for dumping.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/exportlegends.html#exportlegends exportlegends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For exporting [[Legends mode]] information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Move_goods_dfhack.png&amp;diff=295147</id>
		<title>File:Move goods dfhack.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Move_goods_dfhack.png&amp;diff=295147"/>
		<updated>2023-09-08T06:25:01Z</updated>

		<summary type="html">&lt;p&gt;Myk002: Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and searching options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot of the DFHack &amp;quot;Move goods to Trade depot&amp;quot; screen, showing filtering and searching options.&lt;br /&gt;
== Licensing ==&lt;br /&gt;
{{public_domain}}&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Holding&amp;diff=295134</id>
		<title>Holding</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Holding&amp;diff=295134"/>
		<updated>2023-09-07T00:49:23Z</updated>

		<summary type="html">&lt;p&gt;Myk002: added link to DFHack makeown docs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{migrated article}}&lt;br /&gt;
{{Quality|Unrated}}&lt;br /&gt;
{{av}}&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
An off-site '''holding''' is any [[site]] linked to your fortress economically, societally, or militarily. As your fortress grows successful, nearby sites may choose to become economically linked to your fortress, your [[civilization]] may found new sites societally linked to your fortress, and your dwarves can embark on [[mission]]s to occupy and militarily link sites. These holdings may provide [[tribute]], citizens, and prestige to your fortress.  Additionally, members of your fortress can be sent to reside in your holdings. Dwarves you've [[Emigration|expelled]] are not guaranteed to remain where you've sent them; they become subject to the turmoil of [[world activities]] like anyone else, and may move elsewhere.&lt;br /&gt;
&lt;br /&gt;
Elevation of [[noble|nobility]] in your fortress is directly tied to the number of off-site holdings you control.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Types of holdings ==&lt;br /&gt;
&lt;br /&gt;
=== Economical links ===&lt;br /&gt;
&lt;br /&gt;
An existing site may decide to &amp;quot;look to your thriving economy for its future prosperity&amp;quot; and become part of your holdings on its own. Proximity is required (within a day's travel--about 6 or less world map tiles). Economically-linked sites are not required to belong to your civilization, or even race. You can expel citizens to an economically-linked site, and send a [[messenger]] to request workers from the same site. Whether or not workers are available depends on whether there are any [[historical figure]]s at the site. These can be citizens you have sent there, but can also be adventurers retired at the site, or the folks that they've been talking to. Presumably if historical figures move into a site on their own, these will also show up on the 'request workers' list.&lt;br /&gt;
&lt;br /&gt;
If your fortress becomes a [[baron]]y, economically-linked sites are converted to direct holdings.{{cite forum|169696/7797285}}&lt;br /&gt;
&lt;br /&gt;
Sites belonging to a [[goblin]] civilization at war with you may become economically linked to your fortress. In this case, you cannot request workers from the site and can raid or conquer it like any other goblin site.&lt;br /&gt;
&lt;br /&gt;
=== New foundings ===&lt;br /&gt;
&lt;br /&gt;
Your civilization may decide to found a new [[hillock]]s near your fortress. The economical triggers for this to happen are the same as the old [[Noble#Triggers|nobility triggers]] for pre-47.05 versions. Generic [[biome]] constraints for dwarven hillocks still apply: you need [[hills]] or [[grassland]] terrain around the fortress for the land to be eligible for a new founding. Furthermore, the same proximity constraint applies: it must be within a day's travel, or about 6 or less world map tiles. You may request workers from the site at any time (see [[Holding#Managing_your_holdings|Managing your holdings]] below).&lt;br /&gt;
&lt;br /&gt;
=== Conquered sites ===&lt;br /&gt;
&lt;br /&gt;
If you successfully sent a [[squad]] on a [[mission]] to conquer a neighbouring site, it will also be incorporated into your holdings. Your conquering forces will remain onsite as administrators and occupiers, though you may call (most of) them back by requesting workers with your [[messenger]]. If your military successfully conquers a site, or else obtains its surrender, the previous government will be dissolved. The leader of the site's previous government will typically then be executed by the new occupation forces, after which one of your soldiers may be appointed as the site's new administrator. Note, the new administrator of the holding will thus be unable to be recalled home by your messengers.&lt;br /&gt;
&lt;br /&gt;
== Managing your holdings ==&lt;br /&gt;
&lt;br /&gt;
[[File:HoldingsandTribute.png|thumb|right|Holdings and Tribute world map]]&lt;br /&gt;
Holdings can be viewed on the [[Civilization and World Info]] screen by pressing {{k|Y}}. You can press {{k|l}} for the legend. Each civilization will have its own symbol (Ex: {{Tile|T|3:1}}) surrounded by a certain color of tile. If those tiles are red, you are at war with that civilization. If the tiles are light green, you are at peace. If they are dark blue, it is your civilization. Your site will be surrounded in light blue and your occupied holdings will be surrounded by magenta. Your vassal holdings will be surrounded by a grayish-blue color and your tributaries will be a {{Tile|T|0:7:0}} surrounded by gray, while occupied tributaries will be an {{Tile|O|0:5:0}} surrounded by purple. If you are economically linked to a settlement, the settlement will show up as an {{Tile|E|0:2:0}} surrounded by green.&lt;br /&gt;
&lt;br /&gt;
With a holding selected (excluding economically-linked sites), pressing {{k|r}} will create a &amp;quot;request workers&amp;quot; mission. A list of available workers in the selected site will be shown; workers are drawn from the site's population of [[historical figure]]s, if any, so they may not always be available. After selecting workers (in green), pressing {{k|ESC}} will take you to the [[mission]] screen, where you need to assign a [[messenger]] to carry your request (or remove the mission if no suitable workers were available). Workers may still leave the holding prior to your messenger's arrival, so your request is not guaranteed to be successful.&lt;br /&gt;
&lt;br /&gt;
== Bugs ==&lt;br /&gt;
&lt;br /&gt;
*Hidden caves can become economically-linked to your site.{{bug|10825}}&lt;br /&gt;
*Requested workers with the merchant flag set won't actually work.{{bug|10921}} This can be fixed with DFHack's [https://docs.dfhack.org/en/stable/docs/tools/makeown.html#makeown makeown] command.&lt;br /&gt;
*Expelled long-term visitors can return as buggy citizens {{bug|10966}}&lt;br /&gt;
&lt;br /&gt;
{{World}}&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Ramp&amp;diff=295123</id>
		<title>Ramp</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Ramp&amp;diff=295123"/>
		<updated>2023-09-04T04:08:28Z</updated>

		<summary type="html">&lt;p&gt;Myk002: Correct information about stone production when digging ramps or channels&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
{{Quality|Unrated}}&lt;br /&gt;
&lt;br /&gt;
[[File:ramp_v50_preview.png|thumb|189px|right|Many angles of ramps on grass.]]A '''ramp''' is a map feature that allows dwarves, [[wagon]]s, and other [[creature]]s to move between levels. When hovering the cursor over these tiles, they are called '''slopes''', and they occur naturally on most maps, acting as hillsides. Dwarves may make them by digging with {{k|m|u|sep=&amp;amp;rarr;}} from below or with {{k|m|r|sep=&amp;amp;rarr;}} from above. They can also be [[Building|constructed]] with any available materials, with {{k|b|n|r|sep=&amp;amp;rarr;}}.&lt;br /&gt;
&lt;br /&gt;
Ramps are the only way that [[wagon]]s can move between levels in order to access a [[trade depot]].  Unless you build your depot above ground or set into a cliff, you will probably have to create ramps to allow access to it.&lt;br /&gt;
&lt;br /&gt;
In ASCII mode, ramps are shown with the ▲ symbol (pointing &amp;quot;up&amp;quot;). The space above a ramp is shown as a ▼ and called a &amp;quot;downward slope&amp;quot;. A downward slope is not an actual feature (as opposed to a downward stair), but rather an indication of a ramp below it; it functions otherwise as open space -- much like the game shows {{Raw tile|·|#FFFFFF|#000000}} to indicate trees or terrain on the level below, the ▼ symbol is a display nicety, not a type of terrain. When the rest of this article refers to ramps, the actual ramp (▲) is meant.&lt;br /&gt;
&lt;br /&gt;
Note that ramps function similarly to [[floor]]s in that units can walk on them without any problems, even if they are over open space. They will also support adjacent buildings.&lt;br /&gt;
&lt;br /&gt;
== Movement using ramps ==&lt;br /&gt;
For the purposes of unit movement, a ramp connects the ramp bottom to the '''tops of walls adjacent to the ramp bottom'''.  So unlike stairs, where a dwarf moves directly up or down, a dwarf moving via a ramp will move diagonally across Z-levels, changing both horizontal and vertical location in a single move. This can make it seem like a ramp has &amp;quot;direction&amp;quot; or &amp;quot;flow&amp;quot; by itself, but in fact this depends entirely on the spaces adjacent to the ramp.&lt;br /&gt;
&lt;br /&gt;
More formally, a usable ramp requires four tiles:&lt;br /&gt;
&lt;br /&gt;
# A ramp tile&lt;br /&gt;
# An open space tile directly above the ramp&lt;br /&gt;
# An adjacent &amp;quot;solid&amp;quot; tile on the same Z-level (including diagonals). Some special tiles such as semi-molten rock do not count as &amp;quot;solid&amp;quot; for this purpose.&lt;br /&gt;
# A &amp;quot;walkable&amp;quot; tile directly above the &amp;quot;solid&amp;quot; tile &lt;br /&gt;
[[File:Ramp Diagram 2.jpg|200px|thumb|right]]&lt;br /&gt;
&lt;br /&gt;
If these conditions are met, creatures will be able to move back and forth between the ramp space and the walkable space above the adjacent wall. Otherwise, the ramp will be labeled as &amp;quot;Unusable&amp;quot; when hovering with the mouse.&lt;br /&gt;
&lt;br /&gt;
These conditions mean that if one were to try to create a &amp;quot;stairwell&amp;quot; with ramps, one would have to place the ramps adjacent to one another across Z-levels, rather than underneath one another as they would when building stairs. Each ramp would also have to be supported by a solid tile on the Z-level beneath it; this means that a sequence of ramps will become unusable if, for instance, the player attempted to make a 180º turn and build one ramp on the Z-level directly beneath another. The dwarven fortresses created during worldgen provide examples of ramp implementation, generally using ramps for the main entrance stairwell into the fortress, as well as when changing elevation in the [[Tunnel|tunnels]] they build through the caverns. &lt;br /&gt;
&lt;br /&gt;
[[File:invalidramp.png|200px|thumb|right|'''Example A:''' An unusable ramp]]'''Example A''' shows a situation where a ramp might be created that is actually unusable. Dwarves cannot ascend or descend (or cross) the ramp as shown because the walkable spaces above the ramp are not walled underneath, therefore dwarves cannot move between the ramp bottom and the spaces by the top of the ramp. If walls were added under the upper floor spaces, the ramp would become usable. &lt;br /&gt;
&lt;br /&gt;
'''Note:''' [[Fortification|Fortifications]] '''can''' be used by ramps as the adjacent &amp;quot;solid&amp;quot; tile, provided those fortifications have a walkable space above them (which would apply to all carved out fortifications, or those constructed with additional flooring).&lt;br /&gt;
&lt;br /&gt;
Finally, wagons follow a completely different set of movement rules on ramps.  This can be &amp;lt;s&amp;gt;exploited&amp;lt;/s&amp;gt; used to create [[Wagon#Wagon-only_entrances|separate paths for wagons and other (walking) creatures]], for example to allow wagons to proceed directly to a depot while directing all other visitors through a trap filled maze.&lt;br /&gt;
{{-}}&lt;br /&gt;
== Creating ramps ==&lt;br /&gt;
Dwarves may [[construction|construct]] ramps out of building materials such as [[stone]], [[wood]], [[block]]s, and [[bar]]s, but it is more common to dig them from natural walls (see [[mining]]).&lt;br /&gt;
&lt;br /&gt;
Digging ramps can be accomplished in two ways. Dwarves can carve ramps from any of the 8 adjacent spaces on the same z-level. Dwarves can similarly [[channel]] down from above, which will carve a ramp out of the natural wall below (if any). In both cases the space and floor above the ramp will be carved out as well to make an open space. Note that both levels of digging may produce a [[stone]], so after digging a ramp or a channel, you may be left with 0, 1, or 2 stones.&lt;br /&gt;
&lt;br /&gt;
Note that dwarves will happily dig out or construct ramps that are not immediately usable. Check the criteria above if dwarves do not seem to be using the ramps they have made.&lt;br /&gt;
&lt;br /&gt;
== Collapse ==&lt;br /&gt;
Natural or carved ramps that are adjacent to [[wall]]s will collapse (disappear) if those walls are mined out. This can strand dwarves, so be careful when removing walls near those ramps. In addition, trying to carve a ramp under something that cannot be dug out (such as a [[construction]], [[building]], or [[tree]]) will result a slope, but leave the upper floor intact. This may create a [[cave-in]] situation dangerous to your miners.&lt;br /&gt;
&lt;br /&gt;
Constructed ramps will not collapse, and it is possible to create carved freestanding ramps as well, but the ramps will still not be usable without adjacent walls.&lt;br /&gt;
&lt;br /&gt;
== Removing ramps ==&lt;br /&gt;
Natural and carved ramps can be destroyed via the digging orders menu by pressing {{k|m|x|sep=&amp;amp;rarr;}}, using the in-game interface). Like the selection says, only upwards slopes (and carved stairs) can be removed in such a manner, and only from the same level as the (upward) ramp.  Selecting a downwards ramp in this manner has no effect, and removing the upward ramp will automatically remove the downward ramp designation from the level above, replacing it with &amp;quot;open space&amp;quot;. Ramps at the edge of the map cannot be removed this way (however, you can build a floor on top of that ramp with {{k|b|n|f|sep=&amp;amp;rarr;}} and deconstruct it later - it will remove the ramp).&lt;br /&gt;
&lt;br /&gt;
Removing ramps is a fast process, on par with digging through sand or soil, and can train your miners quickly.&lt;br /&gt;
&lt;br /&gt;
Constructed ramps can be removed like any other construction via the designation menu with the Remove Construction selection ({{k|m}} -&amp;gt; {{k|x}}).&lt;br /&gt;
&lt;br /&gt;
== Ramps versus stairways ==&lt;br /&gt;
As explained above, ramps have important limitations, but if constructed correctly they can allow slightly faster movement than stairways.  For example, if a dwarf wants to go down and to the north using a stairway, it will have to take two steps: one step down a stairway and one step to the north.  Going to the same place using a ramp only requires 1 step. Walking up or down a ramp has the same movement cost as walking on level ground.&lt;br /&gt;
&lt;br /&gt;
Unlike stairs, ramps do not work well with hatch covers. A dwarf standing on a hatch cover over a ramp will drop items he is carrying if the hatch opens, possibly injuring any dwarves below.&lt;br /&gt;
&lt;br /&gt;
== Ramping versus channeling ==&lt;br /&gt;
When digging shafts, ramps don't provoke climbing as easily as channels (which will do so in about five levels). You can channel bare floor with no wall (or only a pillar) below, resulting in a hole with no ramp. Falls can still hurt, though. Digging channels two levels above warm stone allows you to remove it without getting warm stone cancellations, and digging ramps 1z below wet stone similarly allows you to remove that.&lt;br /&gt;
&lt;br /&gt;
Digging progress only accumulates in revealed tiles, which means ramps or channels will behave differently when digging gets interrupted. Channels cannot be designated on buildings (including stockpiles). However, if a ''ramp'' is dug below one, the floor above remains intact, but items on the tile above the ramp will fall down as if the floor above the ramp had been removed.&lt;br /&gt;
&lt;br /&gt;
A ramp can be dug diagonally upwards while standing on a ramp, thus allowing you to reach 2 z-levels above the miner. This can be done even if there's a building, such as a bridge, above.&lt;br /&gt;
&lt;br /&gt;
{{Buildings}}&lt;br /&gt;
{{Category|Buildings}}&lt;br /&gt;
{{Category|Constructions}}&lt;br /&gt;
{{Category|Designations}}&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=294079</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=294079"/>
		<updated>2023-06-13T07:55:53Z</updated>

		<summary type="html">&lt;p&gt;Myk002: update information and links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
}}&lt;br /&gt;
[[File:dfhack_cmd.png|thumb|300px|right|Command ready!]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up [[cheat]].  &lt;br /&gt;
&lt;br /&gt;
DFHack is an extensive standardized memory access library, packaged alongside a suite of basic tools that use it. Currently, tools come in the form of plugins, as well as Lua scripts. For developers, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools. For users, it is a very useful utility complex that allows users to tweak their games in numerous ways in-game. This is probably one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves and adds to the game in many ways, and is usually included in recent versions of the [[Utility:Lazy Newb Pack|Lazy Newb Pack]] on all platforms.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see the [https://dfhack.readthedocs.org/en/stable/#user-manual documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Tools.html categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:dfhack_cp437_preview.png|thumb|288px|right|The ASCII window provided by DFHack for v50 of the game.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search function in screens with big lists.&lt;br /&gt;
* Ability to type many ASCII characters not originally available in the game.&lt;br /&gt;
* Ability to place furniture before it's built and have it automatically allocated when available.&lt;br /&gt;
* Ability to place constructions with box select (like laying designations), including easier material selection and open space placement (without having to wait till adjacent constructions are built).&lt;br /&gt;
* Easier pasturing, live happiness monitor, mouse support, stocks dashboard, and embark-assistant.&lt;br /&gt;
&lt;br /&gt;
Various automations of jobs, and fortress management, such as:  &lt;br /&gt;
* workflow - Advanced [[Workshop#Management|Workshop Management]] allowing control of repeat jobs.&lt;br /&gt;
* manipulator - Manage dwarven [[Labour]]s, an in-game equivalent to the popular program [[Dwarf Therapist]].&lt;br /&gt;
* autolabor - Automatically manage dwarf labors to efficiently complete jobs&lt;br /&gt;
* autobutcher - Assigns livestock for slaughter once it reaches a specific count.&lt;br /&gt;
* autochop - Automatically manage tree cutting designation to keep available logs within given quotas.&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* seedwatch - Watches the numbers of seeds available and enables/disables seed and plant cooking.&lt;br /&gt;
* df-ai - Allows Dwarf Fortress to play itself. See: [https://benlubar.github.io/df-ai/ Dwarf Fortress+Artificial Intelligence] for further information.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* embark-assistant - a site selection tool with more options than vanilla [[Site finder|search tool]].&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/guides/quickfort-user-guide.html Quickfort], a utility that helps you build fortresses from a &amp;quot;blueprint&amp;quot;. &lt;br /&gt;
* [[Stonesense]]; an isometric visualizer of the map.&lt;br /&gt;
* [[Utilities#Isoworld|Isoworld]] integration.&lt;br /&gt;
&lt;br /&gt;
Gameplay extras, such as: &lt;br /&gt;
* Steam engines, power meter, improved siege engines.&lt;br /&gt;
* Binary patches, utilities made by users to fix known bugs that haven't been addressed by [[main:Toady One|Toady One]] yet. DF2014 is in active development, so there are no binary patches yet.&lt;br /&gt;
* Adventure mode. See: [https://dfhack.readthedocs.io/en/stable/docs/_auto/gui.html#gui-advfort advfort],[https://dfhack.readthedocs.io/en/stable/docs/_auto/gui.html#gui-companion-order companion-order].&lt;br /&gt;
&lt;br /&gt;
== Common use ==&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. On Linux and OS X, DFHack can be bypassed by running the &amp;quot;df&amp;quot; script. On Windows, DFHack can be temporarily disabled by passing the &amp;lt;code&amp;gt;--disable-dfhack&amp;lt;/code&amp;gt; commandline option when you run Dwarf Fortress.exe.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/prospector.html#prospector prospect]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect your embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/dig.html#digtype digv]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Designates a whole vein for digging.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/reveal.html#revflood reveal]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Reveal the map so you can inspect the caverns and mineral layouts. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/cleanowned.html#cleanowned cleanowned scattered x]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Collects the random junk dwarves fling about the fortress and marks it for dumping.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/tools/exportlegends.html#exportlegends exportlegends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For exporting [[Legends mode]] information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=294078</id>
		<title>Utility:DFHack</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:DFHack&amp;diff=294078"/>
		<updated>2023-06-13T07:28:39Z</updated>

		<summary type="html">&lt;p&gt;Myk002: Update DFHack summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Superior|13:02, 2 May 2014 (UTC)}}&lt;br /&gt;
{{uv|multiple}}&lt;br /&gt;
{{Infobox utility&lt;br /&gt;
| image = File:Dfhack-logo.png&lt;br /&gt;
| misc  =&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ Steam Store Page]&lt;br /&gt;
* [https://github.com/DFHack/dfhack/releases Download] &lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide]&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/index.html Documentation]&lt;br /&gt;
}}&lt;br /&gt;
[[File:dfhack_cmd.png|thumb|300px|right|Command ready!]]&lt;br /&gt;
'''DFHack''' is a [[utility]] that can be used to improve UI, automate some aspects of the game, add features, fix bugs, make a specific one-off change... or just straight-up [[cheat]].  &lt;br /&gt;
&lt;br /&gt;
DFHack is an extensive standardized memory access library, packaged alongside a suite of basic tools that use it. Currently, tools come in the form of plugins, as well as Lua scripts. For developers, DFHack is a comprehensive, standardized memory access package that unites the various ways tools access the ''Dwarf Fortress'' memory space, allowing for easier development of new tools. For users, it is a very useful utility complex that allows users to tweak their games in numerous ways in-game. This is probably one of the most useful utilities for DF, acting as an advanced expansion that fixes, improves and adds to the game in many ways, and is usually included in recent versions of the [[Utility:Lazy Newb Pack|Lazy Newb Pack]] on all platforms.&lt;br /&gt;
&lt;br /&gt;
On April 14, 2023, DFHack was [https://store.steampowered.com/app/2346660/DFHack__Dwarf_Fortress_Modding_Engine/ made available on Steam]. Installing DFHack through Steam will add DFHack to an existing Steam installation of Dwarf Fortress.&lt;br /&gt;
&lt;br /&gt;
== Download and Install ==&lt;br /&gt;
All new releases are announced on [https://store.steampowered.com/news/app/2346660 Steam], in a [http://www.bay12forums.com/smf/index.php?topic=164123.0 thread on the Bay12 forums], on [https://www.reddit.com/r/dwarffortress/ r/dwarffortress], and on the [https://dfhack.org/discord DFHack] and [https://discord.gg/kitfoxgames Kitfox] Discord servers. The current release can be downloaded from [https://store.steampowered.com/app/2346660/DFHack Steam] or [https://github.com/dfhack/dfhack/releases GitHub]. You can also find all past releases on GitHub, and the latest dev build (requires GitHub login) can be downloaded from [https://github.com/DFHack/dfhack/actions/workflows/build.yml?query=branch%3Adevelop+event%3Apush here], though its stability is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Stable releases are also available for 0.47.05, 0.42.06, 0.40.24, 0.34.11, 0.31.25, and other intermediate versions of DF. DFHack is currently also being ported to versions 0.28.181.40d and 0.23.130.23a - more information can be found [[User:Quietust#DFHack-40d|here]] and [[User:Quietust#DFHack-23a|here]], respectively.&lt;br /&gt;
&lt;br /&gt;
For information about the commands in the utility, see the [https://dfhack.readthedocs.org/en/stable/#user-manual documentation]. In particular, see the [https://docs.dfhack.org/en/stable/docs/Tools.html categorized tool index]. Help for DFHack tools is also available in-game in the [https://docs.dfhack.org/en/stable/docs/tools/gui/launcher.html#gui-launcher gui/launcher interface]. For a quick list, with brief descriptions, of the commands available to you, enter the command &amp;lt;code&amp;gt;tags&amp;lt;/code&amp;gt; to see tools by category or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt;) to see the entire list. As of v50.08-r3, DFHack comes with more than 400 tools.&lt;br /&gt;
&lt;br /&gt;
* [https://store.steampowered.com/app/2346660/DFHack Steam page] ● [https://github.com/DFHack/dfhack/releases Manual download] ● [https://docs.dfhack.org/en/stable/docs/Installing.html#installing Installation guide] ● [https://docs.dfhack.org/en/stable/index.html DFHack's documentation]&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
[[File:dfhack_cp437_preview.png|thumb|288px|right|The ASCII window provided by DFHack for v50 of the game.]]&lt;br /&gt;
User Interface improvements, such as: &lt;br /&gt;
* Search function in screens with big lists.&lt;br /&gt;
* Ability to type many ASCII characters not originally available in the game.&lt;br /&gt;
* Ability to place furniture before it's built and have it automatically allocated when available.&lt;br /&gt;
* Ability to place constructions with box select (like laying designations), including easier material selection and open space placement (without having to wait till adjacent constructions are built).&lt;br /&gt;
* Easier pasturing, live happiness monitor, mouse support, stocks dashboard, and embark-assistant.&lt;br /&gt;
&lt;br /&gt;
Various automations of jobs, and fortress management, such as:  &lt;br /&gt;
* workflow - Advanced [[Workshop#Management|Workshop Management]] allowing control of repeat jobs.&lt;br /&gt;
* manipulator - Manage dwarven [[Labour]]s, an in-game equivalent to the popular program [[Dwarf Therapist]].&lt;br /&gt;
* autolabor - Automatically manage dwarf labors to efficiently complete jobs&lt;br /&gt;
* autobutcher - Assigns livestock for slaughter once it reaches a specific count.&lt;br /&gt;
* autochop - Automatically manage tree cutting designation to keep available logs within given quotas.&lt;br /&gt;
* autonestbox - Assigns unpastured female egg-layers to nestbox zones.&lt;br /&gt;
* seedwatch - Watches the numbers of seeds available and enables/disables seed and plant cooking.&lt;br /&gt;
* df-ai - Allows Dwarf Fortress to play itself. See: [https://benlubar.github.io/df-ai/ Dwarf Fortress+Artificial Intelligence] for further information.&lt;br /&gt;
&lt;br /&gt;
Other scripts and plugins, such as:&lt;br /&gt;
* embark-assistant - a site selection tool with more options than vanilla [[Site finder|search tool]].&lt;br /&gt;
* [https://docs.dfhack.org/en/stable/docs/guides/quickfort-user-guide.html Quickfort], a utility that helps you build fortresses from a &amp;quot;blueprint&amp;quot;. &lt;br /&gt;
* [[Stonesense]]; an isometric visualizer of the map.&lt;br /&gt;
* [[Utilities#Isoworld|Isoworld]] integration.&lt;br /&gt;
&lt;br /&gt;
Gameplay extras, such as: &lt;br /&gt;
* Steam engines, power meter, improved siege engines.&lt;br /&gt;
* Binary patches, utilities made by users to fix known bugs that haven't been addressed by [[main:Toady One|Toady One]] yet. DF2014 is in active development, so there are no binary patches yet.&lt;br /&gt;
* Adventure mode. See: [https://dfhack.readthedocs.io/en/stable/docs/_auto/gui.html#gui-advfort advfort],[https://dfhack.readthedocs.io/en/stable/docs/_auto/gui.html#gui-companion-order companion-order].&lt;br /&gt;
&lt;br /&gt;
== Common use ==&lt;br /&gt;
{{TipBox2|float=center|titlebg=red|width=80%|Bug reports|&lt;br /&gt;
&amp;lt;small&amp;gt;If you are using DFHack (or other utilities), do not report bugs on the ''Dwarf Fortress'' bug tracker unless you can prove that the bug is not being caused by DFHack or one of its plugins. On Linux and OS X, DFHack can be bypassed by running the &amp;quot;df&amp;quot; script. On Windows, DFHack can be temporarily disabled by renaming SDL.dll to a temporary name, then renaming SDLreal.dll to SDL.dll.&amp;lt;/small&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
! Command&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/Plugins.html#prospector prospect]&amp;lt;/code&amp;gt;&lt;br /&gt;
| To prospect embark location for a list of all the present minerals and plants.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;digv&amp;lt;/code&amp;gt;&lt;br /&gt;
| Designates a whole vein for digging.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;reveal&amp;lt;/code&amp;gt;&lt;br /&gt;
| This reveals the map. &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cleanowned scattered x&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/_auto/base.html#exportlegends exportlegends]&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;[https://docs.dfhack.org/en/stable/docs/_auto/base.html#open-legends open-legends]&amp;lt;/code&amp;gt;&lt;br /&gt;
| For viewing and exporting [[Legends mode]] information.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Scripts and Plugins== &lt;br /&gt;
&lt;br /&gt;
Originally a simple memory hacking tool, DFHack has grown to become a full-fledged unofficial extension of the game itself, adding in functionality where official development has lacked. One of the best features of DFHack is its extensibility - anyone can create scripts or plugins. Due to its open-source and collaborative nature, anyone can add their own contribution to this tool. There are different kinds of contributions:&lt;br /&gt;
&lt;br /&gt;
*Binpatches are raw memory edits that alter the game's behavior, which is usually deduced from disassembling. Their main use is bugfixing or the removal of cumbersome, easily alterable constraints. &lt;br /&gt;
*Plugins are snippets of C++ code that uses DFHack's library to fix bugs or add functionality. They must be compiled before use and are thus platform and dfhack-version dependent, but as a result they tend to be extremely ''fast''. They can be found in the hack/plugins folder.&lt;br /&gt;
*Scripts are files written in a scripting language DFHack provides bindings for (usually Lua or Ruby) that when loaded by DFHack fix bugs or add functionality. Contrary to plugins, they are not compiled and can be transferred between any platform. However any change within the DFHack data structures (i.e. between versions) may break some of these scripts. However, because they run in an interpreter they are unsuitable for tasks which involve large amounts of data (such as revealing the map).&lt;br /&gt;
&lt;br /&gt;
Some of the more notable are listed below; feel free to add to the list.&lt;br /&gt;
&lt;br /&gt;
=== User Interface ===&lt;br /&gt;
&lt;br /&gt;
The best-known are [http://www.bay12forums.com/smf/index.php?topic=119575 Falconne's UI Plugins], a collection which improves the in-game interface with features such as search functions in screens with big lists, the ability to place furniture before it's built and have it automatically allocated when available, box-select constructions(like laying designations) - including easier material selection and open space placement, easier pasturing, live happiness monitor, '''mouse support''', and an enhanced stocks screen.  The plugins make existing tasks significantly easier, and also add new functions to the game which greatly enhance the experience - such as the autochop log quotas, or the ability (with buildingplanner) to lay out rooms with Quickfort before creating the required furniture.  &lt;br /&gt;
&lt;br /&gt;
There is also a [http://www.bay12forums.com/smf/index.php?topic=124708 GUI for the Autobutcher plugin].  &lt;br /&gt;
&lt;br /&gt;
=== Bugfixing ===&lt;br /&gt;
Many bugfixes are included with DFHack, but not enabled by default - check dfhack.init to see if the &amp;quot;tweak *&amp;quot; and &amp;quot;fix/*&amp;quot; lines are commented out. The [[Utility:Lazy_Newb_Pack|Starter Packs]] enable all bugfixes by default.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance the user's gameplay.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=127116 Digging invaders], a plugin that allows hostiles to dig and deconstruct walls to path to one's fortress.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=128487 Rendermax], a plugin that implements a lighting system at the graphics level.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=136155 Dwarven Emigration], a plugin that allows unhappy dwarves to emigrate with their families.&lt;br /&gt;
&lt;br /&gt;
=== Modding tools ===&lt;br /&gt;
These plugins and scripts add features to the game that enhance modding possibilities.&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135597 DFHack scripts designed for use in interactions as &amp;quot;spells&amp;quot;]&lt;br /&gt;
* [http://www.bay12forums.com/smf/index.php?topic=135506 Miscellaneous DFHack script collection]&lt;br /&gt;
&lt;br /&gt;
=== remotefortressreader ===&lt;br /&gt;
&lt;br /&gt;
Provides a protobuf-based (currently v2.4.1) RPC connection to the game, enabling remote clients like Armok Vision.  The service listens on &amp;lt;code&amp;gt;127.0.0.1:5000&amp;lt;/code&amp;gt; (configurable within &amp;lt;code&amp;gt;dfhack-config/remote-server.json&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Currently there are no change-based or change-driven notifications, so remote fortress clients must perform the expensive operation of polling the desired volume every frame (via e.g. &amp;lt;code&amp;gt;GetBlockList&amp;lt;/code&amp;gt;).  Additionally, the sidebar menu state is shared with the native view, to avoid reimplementing construction material dependencies.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;br /&gt;
[[ru:Utility:DFHack]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utilities&amp;diff=294077</id>
		<title>Utilities</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utilities&amp;diff=294077"/>
		<updated>2023-06-13T06:53:16Z</updated>

		<summary type="html">&lt;p&gt;Myk002: add link to DFHack's Steam page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Unrated}}&lt;br /&gt;
{{av}}&lt;br /&gt;
[[File:utilities_icon.png|120px|right]]A collection of third-party '''Utilities''' that are useful for ''[[Dwarf Fortress]]'' players and [[modding|modders]] alike, of which this page serves as a list. ''Dwarf Fortress'' is a difficult game to play, and any help that can be had in the task is welcome help. &lt;br /&gt;
&lt;br /&gt;
If you would like to add an article on a ''specific'' game utility to the wiki, please do so under the &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://dwarffortresswiki.org/index.php?title=Special%3AAllPages&amp;amp;from=&amp;amp;to=&amp;amp;namespace=102 Utility]&amp;lt;/span&amp;gt; namespace. &lt;br /&gt;
Not included on this page: [[Main:Tileset repository|tileset repositories]] and [[Main:Graphics set repository|graphics set repositories]], due to having been given their own, separate pages. [[Modding|Mods]] have also been listed under their own &amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[http://dwarffortresswiki.org/index.php?title=Special%3AAllPages&amp;amp;from=&amp;amp;to=&amp;amp;namespace=104 Modification] namespace. &lt;br /&gt;
&lt;br /&gt;
To avoid namespace clutter, websites ''are'' considered utilities and have been included.&lt;br /&gt;
&lt;br /&gt;
A [http://www.bay12forums.com/smf/index.php?board=29.0 subsection of the Bay12 forums] is devoted to such third-party programs, and contains development threads for most of them.&lt;br /&gt;
&lt;br /&gt;
== 3D Visualizers ==&lt;br /&gt;
=== Stonesense ===&lt;br /&gt;
[[File:stonesense_prev.jpg|left|frameless|200px|none]]&lt;br /&gt;
Stonesense is a third party visualizer, implemented as a [[Utility:DFHack|DFHack]] plugin, that lets you view your fortress in a classic isometric perspective. It runs alongside ''Dwarf Fortress'', and can follow the main game's view, updating in real-time. It is included in DFHack, and can be opened by typing &amp;lt;code&amp;gt;stonesense&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ssense&amp;lt;/code&amp;gt; into the console window.&lt;br /&gt;
&lt;br /&gt;
* Links: [[Utility:Stonesense]]&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Vox Uristi ===&lt;br /&gt;
[[File:Df-vox-uristi-gate.jpg|left|frameless|200px|none]]&lt;br /&gt;
A tool that exports fortresses to a 3D voxel format (.vox). Once exported, rendering software such as MagicaVoxel can make detailed 3D renders  of it. It requires DFHack, and is mostly tested with the Steam version, though previous versions should work too.&lt;br /&gt;
&lt;br /&gt;
* Links: [https://plule.github.io/vox-uristi Website], {{F|181728|Bay12 Forum Thread}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
{{migrated section}}&lt;br /&gt;
=== Armok Vision ===&lt;br /&gt;
[[File:armok_vision.png|left|frameless|200px|none]]&lt;br /&gt;
Armok Vision is a 3D real-time visualizer using Unity. It works as a separate program communicating with the game through fast network interfaces provided by DFHack.&lt;br /&gt;
&lt;br /&gt;
* Links: {{F|146473|Bay12 Forum Thread}}, [https://github.com/RosaryMala/armok-vision GitHub Repository], [https://discord.gg/rMpYGHy Discord], [https://www.patreon.com/japamala Patreon]&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Isoworld ===&lt;br /&gt;
[[File:isoworld_prev.png|left|frameless|200px|none]]&lt;br /&gt;
Isoworld is an isometric world map viewer, which can display each of the detailed maps exported from [[Legends mode]]. It also has a pictographic view which makes finding waterfalls easy.  &lt;br /&gt;
&lt;br /&gt;
Isoworld can link with [[Utility:DFHack|DFHack]] to display a game view at full spatial resolution in wider context, including tracking the player's view.  This is particularly useful for adventure mode. The isoworldremote plugin required for this is included with DFHack.&lt;br /&gt;
&lt;br /&gt;
* Links: {{F|70700|Bay12 Forum Thread}}, [https://github.com/RosaryMala/isoworld GitHub Repository] &lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
===  Voxel Fortress ===&lt;br /&gt;
[[File:voxel_prev.png|left|frameless|200px|none]]&lt;br /&gt;
Voxel Fortress converts DF worlds to a voxel format. It takes an export of one of the two elevation maps (for the voxels coordinates), and any other one (for the colors).&lt;br /&gt;
&lt;br /&gt;
The map is saved in .xraw format. An additional utility (e.g. [https://ephtracy.github.io/index.html?page=mv_renderer MagicaVoxel Viewer]) is required to see the voxel representation of the map.&lt;br /&gt;
&lt;br /&gt;
* Links: {{F|159578|Bay12 Forum Thread}}, [https://github.com/RosaryMala/VoxelFortress/releases/tag/v1.0.0 GitHub Repository] (includes some instructions)&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Music and Sounds ==&lt;br /&gt;
&lt;br /&gt;
{{ambox|type=warn|text=Note that these tools all rely on [[gamelog.txt]], which is no longer populated by vanilla DF as of 50.07. This functionality can be restored with [[Utility:DFHack|DFHack]].}}&lt;br /&gt;
&lt;br /&gt;
=== SoundSense ===&lt;br /&gt;
{{main|Utility:SoundSense}}&lt;br /&gt;
[[File:soundsense_prev.png|left|frameless|100px]]&lt;br /&gt;
SoundSense parses game logs and plays reacts to game events with sound effects, incidental music and dwarfy comments. Due to it being written in Java, Soundsense is portable to all platforms.&lt;br /&gt;
&lt;br /&gt;
Note that older Soundsense users may have different default seasonal soundtracks, which were removed and replaced in early 2011. These are available [http://www.krauselabs.net/dump/music.zip here].&lt;br /&gt;
&lt;br /&gt;
* Links: [http://df.zweistein.cz/soundsense/ Website], {{F|60287|Bay12 Forum Thread}}, [https://code.google.com/archive/p/df-soundsense/ Google Code Repository]&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== SoundCenSe ===&lt;br /&gt;
[[File:soundCenSe_prev.png|left|frameless|100px|]]&lt;br /&gt;
A C# port of SoundSense, it uses the existing sound pack files and XMLs present in SoundSense, but with some added enhancements. More information regarding what specific type of enhancements and how to install SoundCenSe can be gathered at the [http://www.bay12forums.com/smf/index.php?topic=159567.0 official forum thread]. If problems emerge while trying to get SoundSense to work with the latest versions of Java, this port may prove to be a useful alternative.&lt;br /&gt;
&lt;br /&gt;
* Links: {{F|159567|Bay12 Forum Thread}}, [https://github.com/Algorithman/SoundCenSe/releases Releases], [https://github.com/Algorithman/SoundCenSe GitHub Repository]&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== SoundSense-RS ===&lt;br /&gt;
[[File:SoundSense-RS_prev.png|left|frameless|100px|]]&lt;br /&gt;
A SoundSense alternative in Rust with a minimalistic GUI. Sound volumes can be adjusted realtime, based on channel. Events can be ignored with a custom list based on log patterns.&lt;br /&gt;
&lt;br /&gt;
* Links: {{F|174585|Bay12 Forum Thread}}, [https://github.com/prixt/soundsense-rs/releases Releases], [https://github.com/prixt/soundsense-rs GitHub Repository]&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Game manipulation tools ==&lt;br /&gt;
=== DFHack ===&lt;br /&gt;
{{main|Utility:DFHack}}&lt;br /&gt;
[[File:dfhack_cmd.png|left|frameless|200px|]] &lt;br /&gt;
DFHack is an advanced ''Dwarf Fortress'' memory access library and a set of tools and scripts using this library, providing direct object-oriented access to Dwarf Fortress's internals as if it were compiled into the game itself. Runs on Windows, macOS, and Linux (natively if supported by DF, or through [https://www.winehq.org/ Wine]). The standard configuration enables a variety of included bugfixes and interface upgrades, and provides many useful tools such as &amp;quot;clean all&amp;quot;. See [[Utility:DFHack|main page]] for a summary of features, common use, and more.&lt;br /&gt;
* Links: {{F|164123|Bay12 Forum Thread}}, [https://docs.dfhack.org/en/stable/ Documentation], [https://github.com/DFHack/dfhack/releases Releases], [https://github.com/DFHack/dfhack GitHub Repository], [https://store.steampowered.com/app/2346660/DFHack Steam page]&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
=== Dwarf Therapist ===&lt;br /&gt;
{{main|Utility:Dwarf therapist}}&lt;br /&gt;
[[File:dwarf_therapist.png|left|frameless|200px|]]&lt;br /&gt;
Dwarf Therapist gives you an advanced GUI to manage and check dwarf job allocations, military assignments, statistics (such as attributes, personality traits and happiness), sort dwarves by various criteria (e.g. profession, migration wave, happiness, number of assigned jobs etc.) and generally manage the Dwarven Resources of your fortress in a very convenient way. Available for Windows, Mac and GNU + Linux.  &lt;br /&gt;
* Links: {{F|168411|Bay12 Forum Thread}}, [https://github.com/Dwarf-Therapist/Dwarf-Therapist/releases Releases], [https://github.com/Dwarf-Therapist/Dwarf-Therapist/ GitHub Repository], [https://github.com/Dwarf-Therapist/Manual/releases Manual] (outdated)&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
== Modding tools ==&lt;br /&gt;
&lt;br /&gt;
=== [https://gitlab.com/df-modding-tools/df-raw-language-server DF RAW Language server] ===&lt;br /&gt;
Modding support for DF RAW files in IDE/Code/Text editors.&lt;br /&gt;
Checks syntax of files, detects errors and syntax highlighting.&lt;br /&gt;
&lt;br /&gt;
Current extensions:&lt;br /&gt;
* [https://marketplace.visualstudio.com/items?itemName=df-modding-tools.dwarf-fortress-raw-vscode VS Code]&lt;br /&gt;
* [https://gitlab.com/df-modding-tools/df-raw-language-server#supported-editors-and-ides (more are coming)]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=200px&amp;gt;&lt;br /&gt;
File:DF_RAW_Language_server_Logo.png|DF RAW Language server Logo&lt;br /&gt;
File:DF_RAW_Language_server_VSCode_screenshot_1.png|DF RAW Language server in VSCode&lt;br /&gt;
File:DF_RAW_Language_server_VSCode_screenshot_2.png|DF RAW Language server in VSCode&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[wikipedia:Language_Server_Protocol|Language server]] is a shared component that can be used to easily add support for more IDE's.&lt;br /&gt;
&lt;br /&gt;
=== Notepad++ Highlighting ===&lt;br /&gt;
language highlighting modes for the text editor Notepad++  [https://dffd.bay12games.com/file.php?id=16251 link]&lt;br /&gt;
&lt;br /&gt;
== Modding tools pre v50==&lt;br /&gt;
{{migrated section}}&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=140853.0 Rubble]===&lt;br /&gt;
&lt;br /&gt;
A useful plugin-based modding tool that generates raws and supports easy installation of reactions, tilesets, macros, modding fixes and DFHack scripts. It is a fork of the now abandoned [http://www.bay12forums.com/smf/index.php?topic=125997.0 Blast]. Binaries are available for Linux 32-bits, OS X 32-bits and Windows 64-bits, as well as the source (written in Go with building instructions). As of 4.0, a GUI is available for Windows.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=150857.0 PyDwarf] ===&lt;br /&gt;
&lt;br /&gt;
For players, PyDwarf is an easy way to manage and configure preferred mods in a way that avoids almost entirely the problems of outdated mods or incompatible groups of mods. For modders, PyDwarf's mod manager exposes a powerful Python API for interacting with raws and other data files.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=103360 Raw Explorer] ===&lt;br /&gt;
A tree-based raw files browser, editor and manager.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=174431.0 Dwarf_RAW] ===&lt;br /&gt;
A GUI for editing raw files, updated 2019.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=140645.0 Dwarf Fortress real-life material helper] ===&lt;br /&gt;
A Python script that generates raws based on custom real-life material values.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=140688.0 Roses' Random Creature Script] ===&lt;br /&gt;
A Python script that generates random creature raws.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=175695.0 DF Diagnosipack] ===&lt;br /&gt;
A collection of modding tools, with a focus on diagnosing problems and getting statistics on what is found within the raws.&lt;br /&gt;
It includes:&lt;br /&gt;
* DF Duplisearch - checks your raws folder for duplicated objects, and counts the number of objects of each type (creature, entity, reaction, etc.).&lt;br /&gt;
* DF Creatureclasser - tells you what [[cv:Creature_token#CREATURE_CLASS|creature classes]] are in your raws, and what they are used for.&lt;br /&gt;
* DF CVunpack - unpacks creature variations, so you can see how the raws for e.g. wolf men really look (spoiler: they have 7 fingers).&lt;br /&gt;
* DF Creaturescale - calculates creature weights, and the proportions of each body part and tissue.&lt;br /&gt;
* DF Biomeviewer - shows what creature/plants can be found in which biomes.&lt;br /&gt;
* DF Rawminer - extracts procedurally generated raws (of Forgotten Beasts etc.) from save files.&lt;br /&gt;
&lt;br /&gt;
== World Map / World Gen tools ==&lt;br /&gt;
=== [http://dffd.wimbli.com/file.php?id=2354 Perfect World DF] ===&lt;br /&gt;
Requires an additional (tiny) download to be functional for current versions (40.#): [http://dffd.wimbli.com/file.php?id=8756 WorldGen.xml] .  Easy access to world settings for quick modification to allow highly customized world generation far easier and faster than DF's ingame advanced map maker.  [http://www.bay12forums.com/smf/index.php?topic=57428.0 forum thread]&lt;br /&gt;
&lt;br /&gt;
=== [http://pastebin.com/jdVKPzpt Fortress World Generator] ===&lt;br /&gt;
A bash script for automating world generation of large numbers of worlds on GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=73095 Dwarf Map Maker] ===&lt;br /&gt;
A Photoshop action script which turns legends mode exported maps into a much prettier fantasy map.  There is also a version available [http://www.bay12forums.com/smf/index.php?topic=73095.msg2261106#msg2261106 for GIMP].&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=137076.msg5085575#msg5085575 Satellite Map Maker] ===&lt;br /&gt;
A GIMP script based on the Dwarf Map Maker that creates a satellite image of ''Dwarf Fortress'' world maps.&lt;br /&gt;
&lt;br /&gt;
=== [https://github.com/eniteris/armap Armap] ===&lt;br /&gt;
A python script that creates a hand-drawn style map from exported legends world maps.&lt;br /&gt;
&lt;br /&gt;
==Legends tools==&lt;br /&gt;
{{migrated section}}&lt;br /&gt;
=== [[Utility:Legends viewer|Legends Viewer]] ===&lt;br /&gt;
[[File:legends_prev.png|border|200x200px|left]]&lt;br /&gt;
[[Utility:Legends viewer|Legends Viewer]] loads up the legends you can export in a much more usable format than the [[Legends mode]] of DF itself.  Legends Viewer can open pages in new tabs, filter information on a wide range of criteria, and display information on the map as well. Binaries are only available for Windows, as well as the source (written in C#).&lt;br /&gt;
&lt;br /&gt;
* Bay12 Forums thread for [http://www.bay12forums.com/smf/index.php?topic=154617 current branch for 0.47.XX version of DF], [http://www.bay12forums.com/smf/index.php?topic=72702 original Branch from 2014]&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== World Viewer ===&lt;br /&gt;
[[File:world_viewer_prev.png|border|200x200px|left]]&lt;br /&gt;
An alternative to Legends Viewer that, most specifically, features a timeline of historical events. Binaries are only available for Windows, as well as the source (written in C#). Last updated in late 2017.&lt;br /&gt;
&lt;br /&gt;
* Links: [http://www.bay12forums.com/smf/index.php?topic=128932.0 bay12forums] &lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Uristmaps ===&lt;br /&gt;
[[File:uristmaps_prev.png|border|200x200px|left]]&lt;br /&gt;
A web-based interface that displays worlds in the way of an interactive map complete with features and structures.&lt;br /&gt;
&lt;br /&gt;
Links: [http://www.uristmaps.org Website]&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Legends Browser ===&lt;br /&gt;
[[File:legendsbrowser.png|border|200x200px|left]]&lt;br /&gt;
A web-based multi-platform (Win, Linux, OSX) Viewer. It displays an interactive map and legends information (using legends_plus.xml generated via DFHack).&lt;br /&gt;
&lt;br /&gt;
* links: [http://www.bay12forums.com/smf/index.php?topic=155307.0 bay12forums]&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:DF Storyteller|DF Storyteller]] ===&lt;br /&gt;
[[File:DF_Storyteller_Logo.svg|border|200x200px|left]]&lt;br /&gt;
[[Utility:DF Storyteller|Dwarf Fortress Storyteller]] (DF Storyteller, DF ST) is an application that parses ''Dwarf Fortress'' legends files, stores them internally and makes them queryable using API's. (Cross platform: Windows, Linux, macOS) This utility can be used to easily create new visualizers to view the legends data. &lt;br /&gt;
&lt;br /&gt;
* links: [https://dfstoryteller.com/ Website], [https://gitlab.com/df_storyteller/df-storyteller Gitlab project], list of visualizers can be found [https://gitlab.com/df_storyteller/df-storyteller/-/blob/master/docs/paintings.md here]. An example of a visualizer is [https://gitlab.com/df_storyteller/the-bard The Bard] created in DF ST.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== Remote playing tools ==&lt;br /&gt;
{{migrated section}}&lt;br /&gt;
&lt;br /&gt;
=== [[Utility:Dfterm3|Dfterm3]]===&lt;br /&gt;
&lt;br /&gt;
[[Utility:Dfterm3|Dfterm3]] is a remote ''Dwarf Fortress''-playing software for multiple users through a web interface. DFterm3 enables play through a web interface, and games can also be viewed on mobile - or even played if a bluetooth keyboard is attached.  The web interface should work with Chrome or Firefox browsers, but there are known problems using Internet Explorer. DFTerm3 functions via a DFHack plugin, and is thus dependent on each version of DFHack.&lt;br /&gt;
&lt;br /&gt;
It is a successor to [[Utility:dfterm2|dfterm2]], which functions similarly using telnet instead of a web browser. This utility only works with version 0.34.11 or earlier.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=139167.0 Webfort] ===&lt;br /&gt;
[[File:webfortress.png|thumb|200px|none|Playable in Mac browser.]]&lt;br /&gt;
A newer alternative to dfterm3 that functions similarly, but players must wait in a queue before assuming control for a given period of time. It also functions via a DFHack plugin. Binaries are available for Windows, as well as the source (written in C++).  ''(Note: [https://github.com/mifki/df-webfort main repo] unmaintained.  [https://github.com/Ankoku/df-webfort New repo] last updated 5/22/2015.)''&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=140892.0 DorfServer] ===&lt;br /&gt;
[[File:dorfserver.png|thumb|200px|none|Like Twitch, without Twitch.]]&lt;br /&gt;
A remote SSH-based ''Dwarf Fortress'' host software.  ([http://www.bay12forums.com/smf/index.php?topic=140892.0 repo])&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=139975.0 DFEverywhere] ===&lt;br /&gt;
&lt;br /&gt;
A utility that connects a locally-run ''Dwarf Fortress'' instance to a proprietary remote website, allowing remote browser-based play. ''(Note: Main website no longer available.  [https://github.com/tpainter/df_everywhere Client source here.])''&lt;br /&gt;
&lt;br /&gt;
=== [http://mifki.com/df Dwarf Fortress Remote] ===&lt;br /&gt;
&lt;br /&gt;
iOS app (paid) that allows one to play ''Dwarf Fortress'' remotely with native UI. A server can be set up at home, or on DigitalOcean, AWS or other hosting service.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.bay12forums.com/smf/index.php?topic=176070.msg DFPlex ] ===&lt;br /&gt;
&lt;br /&gt;
DFPlex is a plugin for DFHack which introduces simultaneous, real-time online co-op to fortress mode: each player has their own independent view, cursor, menus, etc. so nobody has to wrestle for control. It's a fork of webfort, so players join just by connecting from their web browser.&lt;br /&gt;
&lt;br /&gt;
=== [https://github.com/ptitSeb/box64 Box64] ===&lt;br /&gt;
&lt;br /&gt;
Box64 allows ''Dwarf Fortress'' to be run locally on Android devices. A more detailed tutorial is available [https://www.reddit.com/r/dwarffortress/comments/r80m7y/dwarf_fortress_mobile_running_dwarf_fortress_on/ here].&lt;br /&gt;
&lt;br /&gt;
==Language tools==&lt;br /&gt;
{{migrated section}}&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=47332.0 DFLang]===&lt;br /&gt;
A language creating tool.&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=136098.0 Toadese Language Utility]===&lt;br /&gt;
A language editing and translating tool.&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=140432.0 DFlangOpt]===&lt;br /&gt;
A little tool meant to prevent redundancy when importing or updating language files.&lt;br /&gt;
&lt;br /&gt;
===[http://dffd.wimbli.com/file.php?id=8288 Python language extraction and injection script]===&lt;br /&gt;
This simple script will extract words from language files and put them a word per line, for easy automatic translation or treatment. It can also read that list and put the translated words back in their place.&lt;br /&gt;
&lt;br /&gt;
==Announcement tools==&lt;br /&gt;
{{migrated section}}&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=130590 DFMon] ===&lt;br /&gt;
&lt;br /&gt;
An announcement monitoring/filtering program, useful to hide some types of job cancellation spam or other more advanced filtering. Note that you can set the game to announce no job cancellations ''without'' any utilities or mods from the {{k|o}}rders menu, with {{k|x}}.&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=130030 DF Announcement Filter]===&lt;br /&gt;
&lt;br /&gt;
An alternative to DFMon written in Java (and thus portable to Linux and OS X).&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=153777 Announcement Window+]===&lt;br /&gt;
&lt;br /&gt;
Announcement Window+ is a Python application that interfaces with ''Dwarf Fortress'' to print announcements and combat reports to a separate window. It was written to fix some annoying bugs that are present in DF Announcement Filter, which is no longer being updated.&lt;br /&gt;
&lt;br /&gt;
[[File:announce+_prev.png|thumb|300px|none|One less game-pausing hotkey.]]&lt;br /&gt;
&lt;br /&gt;
==Filesharing websites==&lt;br /&gt;
{{migrated section}}&lt;br /&gt;
&lt;br /&gt;
=== [http://dffd.wimbli.com/ Dwarf Fortress File Depot] ===&lt;br /&gt;
The Dwarf Fortress File Upload Service - an excellent place to store mods, community games, tilesets and other files. Courtesy of [[User:Janus|Janus]]; for files related to ''Dwarf Fortress'' only.&lt;br /&gt;
&lt;br /&gt;
=== [http://mkv25.net/dfma/ Dwarf Fortress Map Archive] ===&lt;br /&gt;
{{main|Utility:Dwarf Fortress Map Archive}}&lt;br /&gt;
&lt;br /&gt;
The Dwarf Fortress Map Archive is a large collection of user-submitted maps and videos and a nice flash viewer for perusing them. Maps are uploaded, stored, and downloaded in a special compressed format created by the DF Map Compressor; videos are stored in a compressed version of Toady One's own video-recording format.&lt;br /&gt;
&lt;br /&gt;
Read more about the [[User:Markavian/DF_Map_Archive|DF Map Archive]] on Markavian's User page.&lt;br /&gt;
&lt;br /&gt;
==Launchers==&lt;br /&gt;
&lt;br /&gt;
Historically, [[Starter pack|starter pack]]s were used to easily configure settings, keep the game up to date, and integrate third-party mods and bugfixes. With the release of [[Release information/50.01|v50]] on Steam, much of this can be done in-game and through the Steam workshop, making starter packs no longer necessary.&lt;br /&gt;
&lt;br /&gt;
=== PyLNP ===&lt;br /&gt;
A cross-platform port of the [[Utility:Lazy Newb Pack|Lazy Newb Pack]], written in Python and providing some support for v50. See [[Utility:Lazy_Newb_Pack#PyLNP:_The_modern_cross_platform_launcher|PyLNP: The modern cross platform launcher]] for more information.&lt;br /&gt;
* Links: {{F|140808|Bay12 Forum Thread}}, [https://github.com/Pidgeot/python-lnp/releases Releases] (for pack maintainers), [https://github.com/Pidgeot/python-lnp GitHub Repository], [http://pylnp.birdiesoft.dk/docs/dev/content.html Documentation]&lt;br /&gt;
&lt;br /&gt;
== Other/miscellaneous ==&lt;br /&gt;
{{migrated section}}&lt;br /&gt;
&lt;br /&gt;
=== [http://shadowlord13.googlepages.com/dfmap-index.html DF Map Compressor] ===&lt;br /&gt;
[[File:dfmapcomp.png|thumb|200px|none|Main program window.]]&lt;br /&gt;
The DF Map Compressor encodes multiple bitmaps exported from ''Dwarf Fortress'' into a single, very compressed, .fdf-map file. The fdf-map file can then be shared with your friends by uploading to the DF Map Archive.&lt;br /&gt;
&lt;br /&gt;
=== [http://www.mindwerks.net/projects/exita/ Exita] ===&lt;br /&gt;
Exita is a Python program that takes your DF world map exports and dump them into several different text outputs.&lt;br /&gt;
&lt;br /&gt;
===[http://www.bay12forums.com/smf/index.php?topic=132153.0 DwarfFamily]===&lt;br /&gt;
A tool that lets you import your legends XML file and converts all dwarf entries to a .GED file, which you can use in Family Tree programs like MyHeritage to display a family tree for the dwarves.&lt;br /&gt;
&lt;br /&gt;
===[https://www.dropbox.com/s/dea50wrs557w283/kobold.py Kobold name generator]===&lt;br /&gt;
A Python script that generates random names in the way of kobold utterances&lt;br /&gt;
&lt;br /&gt;
===[https://play.google.com/store/apps/details?id=dae.dfnews Dwarf Fortress News - Android App]===&lt;br /&gt;
Watches the ''Dwarf Fortress'' devblog. Receives Push Notifications on new updates.&lt;br /&gt;
&lt;br /&gt;
===[https://github.com/eniteris/df2html DF2HTML]===&lt;br /&gt;
Converts DF screenshots into formatted HTML.&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities|*]]&lt;br /&gt;
{{Category|Modding}}&lt;br /&gt;
[[ru:Utilities]]&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Modification:The_Long_Night&amp;diff=266747</id>
		<title>Modification:The Long Night</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Modification:The_Long_Night&amp;diff=266747"/>
		<updated>2022-11-20T18:19:06Z</updated>

		<summary type="html">&lt;p&gt;Myk002: /* What is The Long Night? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Updated to 2.68&lt;br /&gt;
{{mod}}&lt;br /&gt;
&lt;br /&gt;
Man ruled the solar system, once. In its grand, epoch-spanning thousands of years, Earth was the jewel of a great solar empire, its every square inch morphed into a sprawling factory city, pumping out countless advanced resources to supply colonies from the clouds of Venus all the way to the moons of Saturn. &lt;br /&gt;
&lt;br /&gt;
None know for sure what happened exactly. Something went wrong, for certain. Perhaps a war between those who pushed for nanomachines to do away with traditional technology and those who viewed its power as uncontrollable. Or it could have been the radical transhumanists who plunged the planet into a new dark age to fuel their own ascent. Man's own hubris, maybe, his rapacious lust for more resources sending the world into a death spiral. Or perhaps, something yet more sinister. &lt;br /&gt;
&lt;br /&gt;
The result, everything knows. Earth's fall called its wayward children of all kinds back to its shattered surface, and the haggard survivors of the fallen colonies found a realm far unlike what was documented in their own histories. A hellish wasteland filled with mutated horrors, half-mad cybernetic demigods, and powers greater still. A world of constant, unending warfare as the children of man fight for the chance to rebuild, and establish their own grandiose vision of the future. Whether it be the great old powers of the ancient Nobles, the first of the new men, the demigod Executors and their slaves, the barbaric Posthumans and their thralls, or even the scattered remnants of true humanity, the future is uncertain. All that can be known is that this night will be long and harsh indeed, and only the hardiest and most determined will even stand a chance of seeing a new dawn.&lt;br /&gt;
&lt;br /&gt;
== What is The Long Night? ==&lt;br /&gt;
&amp;quot;This mod is my attempt at a cyberpunk setting, sort of. Clothing and weapon-wise it has the same trappings as more surreal and far-future cyberpunk dystopias tend to lean towards, but it can also be seen as an anachronistic techno-feudalistic setting. My primary intent with this mod is to really push how far I can take Dwarf Fortress into the future while still having things work in-game and provide a coherent story of humanity and its kindred struggling in a world that is the victim of our own rapaciousness.&amp;quot;&lt;br /&gt;
-squamous&lt;br /&gt;
&lt;br /&gt;
[http://www.bay12forums.com/smf/index.php?topic=172696.0 Forum thread]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://dffd.bay12games.com/file.php?id=14134 Download]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://easyupload.io/3u4smw Download mirror]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= General Lore =&lt;br /&gt;
=== The Great Solar Empire ===&lt;br /&gt;
The Great Solar Empire was the dominant civilization prior to the current era. Built from the ashes of countless civilizations and failed attempts at gene-forged supermen and mechanical gods, it would rise to dominate not just the Earth, but the other planets and moons of the solar system as well. Under its guidance, mankind knew untold prosperity and rose to heights previously undreamt of. But it was not a utopia. The Solar Empire was rife with corruption, discrimination, crime, terrorism, and chaos below its pristine surface, but so vast was its reach, populous its citizenry, and mighty its legions that the true breadth of its rot could not be accurately gauged by any but those in the highest positions of power, the elite of the elite who stood above the rest of mankind thanks to closely guarded secrets of mechanical augmentation and the finest of evolutionary retroviruses. Much has been forgotten of this period of history, as the digital archives which recorded it fell into disarray or were destroyed outright.&lt;br /&gt;
&lt;br /&gt;
Earth itself was turned into a titanic, sprawling city, its original shape lost under layers of metal harvested from the asteroid belt. Entire ecosystems were relocated into artificial reserves the size of small countries, and many billions lived and died within its bowels. As it expanded across the solar system, the Empire was careful to ensure that no colony could survive without vital resources shipped to it from the home planet, in order to prevent the threat of independent polities from ever arising. Coupled with this were many millions of soldiers armed with top-of-the-line [[Modification:The Long Night: Armor#Exo-Suits|Exo-Suits]], a type of power armor that could give one protection from most small arms fire and could only be defeated by either luck, another Exo-Suit-wearing soldier, or something beyond them in strength. This disparity in both force and resources allowed the Empire to rule unchallenged for many centuries, or perhaps even millennia. This was an era stagnant in some ways but vibrantly blossoming in others. Politically, little seem to change. Technologically, many things developed that were in the past seen as impossible. But it could not last.&lt;br /&gt;
&lt;br /&gt;
The details of its fall, as well, are complex. Multiple factors caused its collapse, from external rebellion to internal strife, but chief among these, it is believed, was the phenomenon known as the Pseudosingularity. The Singularity is, of course, the theory that after a certain point the united technology and databases of man would converge into a spontaneous self-improving entity that would attain as close a state to godhood as we envision, leading to a future incomprehensible to us but is surely either terrible beyond measure or bliss beyond imagining. That is not what happened. If the Singularity can be considered the culmination of a civilization as it births a new, divine being, the Pseudosingularity was cancer spreading across a decrepit body. Advances in biotechnology and [[Modification:The Long Night: Materials#Nanotechne|nanomechanical]] evolution allowed machinery and synthetic entities to evolve and reproduce in a manner similar to organic life, albiet slow enough so that such changes could be observed, understood, and if necessary altered by their makers, so that man and its tools would grow together in knowledge and power. But as the Solar Empire began to grow decadent and frail, the knowledge to keep track of the cutting edge of these growing machines was slowly lost, and year by year the observers fell behind the pace of a city running wild, with no end goal in mind. And just like cancer, this unsustainable growth began to kill its host. Entire sectors would find themselves without food or water as the Pseudosingularity warped pipes and destroyed roads. Cities would be gunned down by their own automated security as AIs corrupted or failed to recognize those living there as citizens. The mass decay of infrastructure happened seemingly overnight, but was in truth merely the tipping point of decades of unregulated growth. By the time it had reached the point that even common citizens noticed the danger, it was far too late to stop it. Chaos and destruction ravaged Earth as the entire planet literally fell apart, barely held back from utter ruin by hasty countermeasures and in some cases surgical nuclear strikes on the most dangerous sectors. In the end, however, they could only mitigate the damage so that Earth remained livable, but little else. Swarms of nanomechanical builder mites would conduct basic repairs and keep what was left of the system more or less stable, and artificial ecosystems would be introduced to the surface to give organic life a better chance to thrive. But that was all. Nothing could be done to save the colonies, or re-understand the ever-growing technological systems which now expanded without supervision. Only the most obsessed and knowledgeable could barely keep up, tapping into the power of the world like ancient sages were said to have learned the secrets of the arcane arts. Humanity had entered a new dark age, one which may take thousands of years to recover from.&lt;br /&gt;
&lt;br /&gt;
But if they could.&lt;br /&gt;
&lt;br /&gt;
If something could survive this long night and rebuild the Great Solar Empire, against all odds and forged by the savage brutality of this era into the ultimate victor.&lt;br /&gt;
&lt;br /&gt;
It would surely be something truly monstrous.&lt;br /&gt;
&lt;br /&gt;
=== Antinirvanism ===&lt;br /&gt;
During the last era of the Great Solar Empire, many religions as we understood them had faded away under the increasing pressure of science and reason (not to mention the Empire's designs to remove any higher loyalty than the state), leaving only odd syncretic cults and harmless corporate-sponsored pseudo-faiths to placate the masses. However, existing on the fringes of society radical ideas were fomenting, ideas which would serve to drive a wedge through united pan-humanity and spark a long, bloody conflict. Originally known by many names, its basic philosophical tenets were rooted in a semi-esoteric quest for personal power, with believers seeking to train and test themselves to reach ever greater levels of strength and knowledge, even if it meant rejecting civilization and law entirely. In the past, such a belief system would be little more than a contrarian rabble-rousing thorn in the side of authority, but the advent of nanotechnological modification had changed the playing field of society in ways that even in those advanced times few could truly comprehend the significance of. In ancient times, if a person chose to forsake civilization or work alone against it, they would be defeated by or re-integrated into society, since no lone person or small group of people can perpetually stand up against an organized community of their peers. But with innovations in nanotechnology, 3D printing, bioengineering, and other sciences, it became possible for one human to sufficiently upgrade their body to the point that the social contract was no longer required for them to prosper, and they would have the ability to exist outside the organized systems that dominate conventional human life simply through having enough power to take what they needed. Antinirvanism codified and sanctified this discovery, associating it with the Vedic Asuras of ancient myth, the terrible warrior-kings who tried to conquer heaven itself for the sake of their own ego. Instead of taking their story as a parable of the importance of temperance and cohesion, the Asura themselves were glorified and seen as the ideal specimen of the new era, a demigod-like entity which lived for itself and was divorced from creation, beholden to none save those it deigned to acknowledge or with the power to suppress it. Combined with the way technology seemed to have given mankind the power to &amp;quot;reincarnate&amp;quot; into various lesser or stronger forms depending on their capabilities and resources, it was no surprise that other terminology of the old Vedic system was incorporated into the growing movement (and indeed, even today Vedic terminology is used to describe many posthuman concepts and entities out of respect for the humans who first developed the system and devised a means of speaking of it that was cloaked in metaphor and symbolism) as more similarities became apparent. The more esoteric believers (often the ones most talked about in news cycles) saw the road to bodily perfection and ultimate power as a spiritual journey as much as a physical one, and devised many forms of meditation, ritual, and prayer believed to enhance one's willpower and make them more suited for evolution. Others believed that as technology grew on its own through self-learning and self-improvement and became more incomprehensible, it would eventually make more sense to simply treat it as magic, with the reverence and caution that such a thing implies and the impossible heights of power it seemed to promise. In the era of the Long Night, it is this mindset which dominates most Posthuman cultures.&lt;br /&gt;
&lt;br /&gt;
Some of the earliest adopters of Antinirvanism would also be the first to experiment with hereditary nanomachines, the gene-altering microbots that would allow the user to consciously improve and replace its biological processes, upgrade its nanomechanical innards and use them to replace flesh, and design memes and thoughtforms that alter the way it functions psychologically, it while also passing on those alterations to offspring, effectively forcing true Lamarckian evolution into reality. The goal, of course, was to attain the 'Asura-state' of becoming a powerful posthuman entity which could survive even the harshest conditions on its own and exist as a power unto itself. However, many would-be demigods would fall prey to their own shortcomings, fears, and insecurities, their overcautiousness or lack of foresight causing them to neglect maintaining their humanity in the quest for power. Without self-awareness and the subjective experience, a lineage of hereditary cyborgs invariably devolves into a feral and monstrous state, losing any chance of transcendence unless its distant descendants re-evolve sapient thinking on their own.&lt;br /&gt;
&lt;br /&gt;
But some did succeed, of course. The Asura as we know them now are the culmination of Antinirvanistic thought and countless generations of deliberate techno-evolution, though like many philosophies it played out differently in reality than in theory. The social contract remained to an extent, but in posthuman society is focused primarily on the acquistion of power, material comforts, and accomplishing persoal goals rather than ensuring survival, a relatively easy task when you have a body that can metabolize just about anything and rip a man's throat out with your teeth. The additional resources required to produce an Asura keep the population too low to sweep across the earth, leading them to grit their teeth and engage in diplomacy with cultures they once would have thought of only as prey. That said, as the Asura (and other posthumans) reconnect with biological humanity it has been observed that some of the edge has come off of their nature. While they remain alien in many ways, it seems that partial re-integration with human culture has done something to stimulate their more human tendencies, resulting in a culture that continues to value personal might and the quest for power but is slowly being tempered with appreciation for art, culture, and luxury, though given the extent to which posthuman thought-forms have been modified it is likely impossible they will ever completely revert to baseline human psychology, if they would even want such a thing. But they are no longer the imminent sword of Damocles hanging over all biological life, and for many this will be enough.&lt;br /&gt;
&lt;br /&gt;
===Cultivator Cyborgs===&lt;br /&gt;
If you aren't born an immortal posthuman, then you're likely an organic life form. And if you're an organic life form, then you're doomed to a short, miserable life on a world that you no longer dominate, unless you are one of the few who can command the teeming hordes of mortal soldiers to match the monsters of the current era. However, for those who refuse to be content with mediocrity, a second path awaits. Through studying the datasphere and converting portions of your biology into computronium (essentially, a highly efficient computational matrix), one can surpass their original form to become a cultivator cyborg, one who perpetually strives to gain full understanding of the datasphere and mastery of the nanomechanic cloud that permeates the solar system, learning powerful martial techniques and gaining physical upgrades as they grow more experienced. It is a difficult journey, and few ever find full attainment, much less discover even one technique. However, those who do are powerful indeed, and not to be trifled with. For not only do they unlock the mysteries of cyberization, but so do their progeny. Any being that becomes a cultivator cyborg effectively has the potential to found a powerful dynasty of inhuman cybernetic demigods, demigods who influence much of life on this shattered planet.&lt;br /&gt;
&lt;br /&gt;
===The Pale Star Cult===&lt;br /&gt;
Humanity is not alone in the void. There is life across countless worlds, civilized and not, though due to the way most develop cloaked information transmissions and wormhole-derived transports it is most difficult to find evidence of them unless they wish to reveal themselves to you, or you simply stumble across an inhabited planet. However, a large portion of the space around humanity is devoid of what we would recognize as rational life, and there is a terrible reason behind this. For just outside the vision of men, whose light rays only have recently reached our planet, there is a star. And this star thinks.&lt;br /&gt;
&lt;br /&gt;
It is a sapient being, a massive calculating engine whose otherworldly spectrum of light allows for the instant transmission of information from its core to anywhere its rays reach. It plants unnatural thoughts in the minds of those who spend too long staring at its baleful green glow, and soon enough they find themselves under its thrall completely. The Pale Star grants incredible power of its own, but robs the user of their will in enough time, always resulting in a hollowed-out thing of burning flame, which amplifies its light and the reality-warping power it bestows. There are whole worlds, in the black, wreathed in green coronas of fire, perpetually feeding off of a writhing mass of flesh that was once that planet's population. It uses these lantern worlds to further its reach, and increase its intelligence. Earth, however, has proven a tougher nut to crack. The sheer insanity of its growth and collapse, spawning inhuman horrors which can lay low the best of its war-forms, has prevented it from subsuming this world as it has dozens of others. For now, it simply remains a lurking shade, waiting for the chance it can bring this planet to its knees, and birth a cruel new existence from its ashes.&lt;br /&gt;
&lt;br /&gt;
===The Datasphere===&lt;br /&gt;
The Datasphere is the term for the electronic world that permeates the material one, perpetually surrounding the entire solar system in the form of a network of nanomachines that act as a literal cloud-computer, hanging in the sky and saturated into the ground, bringing ever-present power and knowledge to those who can properly tap into it. The 'gods' people worship, for example, are very real, but are in fact simply powerful intelligences which exist as disembodied beings in the Datasphere. They could be ascended humans who have left the material realm, or beings born into it, or both, or something else. None can say for certain, but all know that by studying and communing with them one can gain incredible power.&lt;br /&gt;
&lt;br /&gt;
Ghosts, too, are akin to this. They are swarms of nanomachines which congregate around intense emotion in the datasphere, like the last moments of a living person. They can exert deadly force and are notoriously difficult to get rid of, so the best option is to just inter the body and put the last emotions of the victim to rest. It should be noted the ghost is not actually them, but just an echo formed by the final thoughts of the dying being.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that a corpse, if properly preserved, may retain traces of the original owner's psyche. As long as the body remains more or less intact, there is rumored to be a technique capable of restoring them to full health. But is it truly the same person who died, or merely a perfect duplicate with the same memories? Who can say.&lt;br /&gt;
&lt;br /&gt;
===[[Modification:The Long Night: Creatures#Bioframes|Bioframes]]===&lt;br /&gt;
Bioframes inspire terror and awe across the world. As some of the most advanced and sophisticated weapon systems ever produced, they are without a doubt among the greatest remaining relics of the Solar Empire's military might. Intelligent, fast, strong, and armored with powerful defenses, they are any civilization's trump card. They can also be modified to function with a pilot enclosed in its womb-cockpit, or function autonomously. Either way, few things are as terrifying as being stared down by a bioframe in the heat of battle.&lt;br /&gt;
&lt;br /&gt;
There are also greater variations of bioframes in the form of Autonomous Dragon Weapons, but these monsters are wild and untamed, their strength such that no nation has been able to gain control of one. Unlike standard bioframes, these creatures are regarded only with fear, due to the horrendous destruction they leave in their path. &lt;br /&gt;
&lt;br /&gt;
= Related Pages =&lt;br /&gt;
[[Modification:The Long Night: Civilizations|The Long Night: Civilizations]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Weapons|The Long Night: Weapons]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Armor|The Long Night: Armor]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Materials|The Long Night: Materials]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Creatures|The Long Night: Creatures]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Plants|The Long Night: Plants]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Technomancy|The Long Night: Technomancy]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Adventure Mode|The Long Night: Adventure Mode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Modification:The_Long_Night&amp;diff=266746</id>
		<title>Modification:The Long Night</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Modification:The_Long_Night&amp;diff=266746"/>
		<updated>2022-11-20T18:18:13Z</updated>

		<summary type="html">&lt;p&gt;Myk002: add download mirror while DFFD is down&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Updated to 2.68&lt;br /&gt;
{{mod}}&lt;br /&gt;
&lt;br /&gt;
Man ruled the solar system, once. In its grand, epoch-spanning thousands of years, Earth was the jewel of a great solar empire, its every square inch morphed into a sprawling factory city, pumping out countless advanced resources to supply colonies from the clouds of Venus all the way to the moons of Saturn. &lt;br /&gt;
&lt;br /&gt;
None know for sure what happened exactly. Something went wrong, for certain. Perhaps a war between those who pushed for nanomachines to do away with traditional technology and those who viewed its power as uncontrollable. Or it could have been the radical transhumanists who plunged the planet into a new dark age to fuel their own ascent. Man's own hubris, maybe, his rapacious lust for more resources sending the world into a death spiral. Or perhaps, something yet more sinister. &lt;br /&gt;
&lt;br /&gt;
The result, everything knows. Earth's fall called its wayward children of all kinds back to its shattered surface, and the haggard survivors of the fallen colonies found a realm far unlike what was documented in their own histories. A hellish wasteland filled with mutated horrors, half-mad cybernetic demigods, and powers greater still. A world of constant, unending warfare as the children of man fight for the chance to rebuild, and establish their own grandiose vision of the future. Whether it be the great old powers of the ancient Nobles, the first of the new men, the demigod Executors and their slaves, the barbaric Posthumans and their thralls, or even the scattered remnants of true humanity, the future is uncertain. All that can be known is that this night will be long and harsh indeed, and only the hardiest and most determined will even stand a chance of seeing a new dawn.&lt;br /&gt;
&lt;br /&gt;
== What is The Long Night? ==&lt;br /&gt;
&amp;quot;This mod is my attempt at a cyberpunk setting, sort of. Clothing and weapon-wise it has the same trappings as more surreal and far-future cyberpunk dystopias tend to lean towards, but it can also be seen as an anachronistic techno-feudalistic setting. My primary intent with this mod is to really push how far I can take Dwarf Fortress into the future while still having things work in-game and provide a coherent story of humanity and its kindred struggling in a world that is the victim of our own rapaciousness.&amp;quot;&lt;br /&gt;
-squamous&lt;br /&gt;
&lt;br /&gt;
[http://www.bay12forums.com/smf/index.php?topic=172696.0 Forum thread]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://dffd.bay12games.com/file.php?id=14134 Download (2.68)]&amp;lt;br /&amp;gt;&lt;br /&gt;
[https://easyupload.io/3u4smw Download mirror]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= General Lore =&lt;br /&gt;
=== The Great Solar Empire ===&lt;br /&gt;
The Great Solar Empire was the dominant civilization prior to the current era. Built from the ashes of countless civilizations and failed attempts at gene-forged supermen and mechanical gods, it would rise to dominate not just the Earth, but the other planets and moons of the solar system as well. Under its guidance, mankind knew untold prosperity and rose to heights previously undreamt of. But it was not a utopia. The Solar Empire was rife with corruption, discrimination, crime, terrorism, and chaos below its pristine surface, but so vast was its reach, populous its citizenry, and mighty its legions that the true breadth of its rot could not be accurately gauged by any but those in the highest positions of power, the elite of the elite who stood above the rest of mankind thanks to closely guarded secrets of mechanical augmentation and the finest of evolutionary retroviruses. Much has been forgotten of this period of history, as the digital archives which recorded it fell into disarray or were destroyed outright.&lt;br /&gt;
&lt;br /&gt;
Earth itself was turned into a titanic, sprawling city, its original shape lost under layers of metal harvested from the asteroid belt. Entire ecosystems were relocated into artificial reserves the size of small countries, and many billions lived and died within its bowels. As it expanded across the solar system, the Empire was careful to ensure that no colony could survive without vital resources shipped to it from the home planet, in order to prevent the threat of independent polities from ever arising. Coupled with this were many millions of soldiers armed with top-of-the-line [[Modification:The Long Night: Armor#Exo-Suits|Exo-Suits]], a type of power armor that could give one protection from most small arms fire and could only be defeated by either luck, another Exo-Suit-wearing soldier, or something beyond them in strength. This disparity in both force and resources allowed the Empire to rule unchallenged for many centuries, or perhaps even millennia. This was an era stagnant in some ways but vibrantly blossoming in others. Politically, little seem to change. Technologically, many things developed that were in the past seen as impossible. But it could not last.&lt;br /&gt;
&lt;br /&gt;
The details of its fall, as well, are complex. Multiple factors caused its collapse, from external rebellion to internal strife, but chief among these, it is believed, was the phenomenon known as the Pseudosingularity. The Singularity is, of course, the theory that after a certain point the united technology and databases of man would converge into a spontaneous self-improving entity that would attain as close a state to godhood as we envision, leading to a future incomprehensible to us but is surely either terrible beyond measure or bliss beyond imagining. That is not what happened. If the Singularity can be considered the culmination of a civilization as it births a new, divine being, the Pseudosingularity was cancer spreading across a decrepit body. Advances in biotechnology and [[Modification:The Long Night: Materials#Nanotechne|nanomechanical]] evolution allowed machinery and synthetic entities to evolve and reproduce in a manner similar to organic life, albiet slow enough so that such changes could be observed, understood, and if necessary altered by their makers, so that man and its tools would grow together in knowledge and power. But as the Solar Empire began to grow decadent and frail, the knowledge to keep track of the cutting edge of these growing machines was slowly lost, and year by year the observers fell behind the pace of a city running wild, with no end goal in mind. And just like cancer, this unsustainable growth began to kill its host. Entire sectors would find themselves without food or water as the Pseudosingularity warped pipes and destroyed roads. Cities would be gunned down by their own automated security as AIs corrupted or failed to recognize those living there as citizens. The mass decay of infrastructure happened seemingly overnight, but was in truth merely the tipping point of decades of unregulated growth. By the time it had reached the point that even common citizens noticed the danger, it was far too late to stop it. Chaos and destruction ravaged Earth as the entire planet literally fell apart, barely held back from utter ruin by hasty countermeasures and in some cases surgical nuclear strikes on the most dangerous sectors. In the end, however, they could only mitigate the damage so that Earth remained livable, but little else. Swarms of nanomechanical builder mites would conduct basic repairs and keep what was left of the system more or less stable, and artificial ecosystems would be introduced to the surface to give organic life a better chance to thrive. But that was all. Nothing could be done to save the colonies, or re-understand the ever-growing technological systems which now expanded without supervision. Only the most obsessed and knowledgeable could barely keep up, tapping into the power of the world like ancient sages were said to have learned the secrets of the arcane arts. Humanity had entered a new dark age, one which may take thousands of years to recover from.&lt;br /&gt;
&lt;br /&gt;
But if they could.&lt;br /&gt;
&lt;br /&gt;
If something could survive this long night and rebuild the Great Solar Empire, against all odds and forged by the savage brutality of this era into the ultimate victor.&lt;br /&gt;
&lt;br /&gt;
It would surely be something truly monstrous.&lt;br /&gt;
&lt;br /&gt;
=== Antinirvanism ===&lt;br /&gt;
During the last era of the Great Solar Empire, many religions as we understood them had faded away under the increasing pressure of science and reason (not to mention the Empire's designs to remove any higher loyalty than the state), leaving only odd syncretic cults and harmless corporate-sponsored pseudo-faiths to placate the masses. However, existing on the fringes of society radical ideas were fomenting, ideas which would serve to drive a wedge through united pan-humanity and spark a long, bloody conflict. Originally known by many names, its basic philosophical tenets were rooted in a semi-esoteric quest for personal power, with believers seeking to train and test themselves to reach ever greater levels of strength and knowledge, even if it meant rejecting civilization and law entirely. In the past, such a belief system would be little more than a contrarian rabble-rousing thorn in the side of authority, but the advent of nanotechnological modification had changed the playing field of society in ways that even in those advanced times few could truly comprehend the significance of. In ancient times, if a person chose to forsake civilization or work alone against it, they would be defeated by or re-integrated into society, since no lone person or small group of people can perpetually stand up against an organized community of their peers. But with innovations in nanotechnology, 3D printing, bioengineering, and other sciences, it became possible for one human to sufficiently upgrade their body to the point that the social contract was no longer required for them to prosper, and they would have the ability to exist outside the organized systems that dominate conventional human life simply through having enough power to take what they needed. Antinirvanism codified and sanctified this discovery, associating it with the Vedic Asuras of ancient myth, the terrible warrior-kings who tried to conquer heaven itself for the sake of their own ego. Instead of taking their story as a parable of the importance of temperance and cohesion, the Asura themselves were glorified and seen as the ideal specimen of the new era, a demigod-like entity which lived for itself and was divorced from creation, beholden to none save those it deigned to acknowledge or with the power to suppress it. Combined with the way technology seemed to have given mankind the power to &amp;quot;reincarnate&amp;quot; into various lesser or stronger forms depending on their capabilities and resources, it was no surprise that other terminology of the old Vedic system was incorporated into the growing movement (and indeed, even today Vedic terminology is used to describe many posthuman concepts and entities out of respect for the humans who first developed the system and devised a means of speaking of it that was cloaked in metaphor and symbolism) as more similarities became apparent. The more esoteric believers (often the ones most talked about in news cycles) saw the road to bodily perfection and ultimate power as a spiritual journey as much as a physical one, and devised many forms of meditation, ritual, and prayer believed to enhance one's willpower and make them more suited for evolution. Others believed that as technology grew on its own through self-learning and self-improvement and became more incomprehensible, it would eventually make more sense to simply treat it as magic, with the reverence and caution that such a thing implies and the impossible heights of power it seemed to promise. In the era of the Long Night, it is this mindset which dominates most Posthuman cultures.&lt;br /&gt;
&lt;br /&gt;
Some of the earliest adopters of Antinirvanism would also be the first to experiment with hereditary nanomachines, the gene-altering microbots that would allow the user to consciously improve and replace its biological processes, upgrade its nanomechanical innards and use them to replace flesh, and design memes and thoughtforms that alter the way it functions psychologically, it while also passing on those alterations to offspring, effectively forcing true Lamarckian evolution into reality. The goal, of course, was to attain the 'Asura-state' of becoming a powerful posthuman entity which could survive even the harshest conditions on its own and exist as a power unto itself. However, many would-be demigods would fall prey to their own shortcomings, fears, and insecurities, their overcautiousness or lack of foresight causing them to neglect maintaining their humanity in the quest for power. Without self-awareness and the subjective experience, a lineage of hereditary cyborgs invariably devolves into a feral and monstrous state, losing any chance of transcendence unless its distant descendants re-evolve sapient thinking on their own.&lt;br /&gt;
&lt;br /&gt;
But some did succeed, of course. The Asura as we know them now are the culmination of Antinirvanistic thought and countless generations of deliberate techno-evolution, though like many philosophies it played out differently in reality than in theory. The social contract remained to an extent, but in posthuman society is focused primarily on the acquistion of power, material comforts, and accomplishing persoal goals rather than ensuring survival, a relatively easy task when you have a body that can metabolize just about anything and rip a man's throat out with your teeth. The additional resources required to produce an Asura keep the population too low to sweep across the earth, leading them to grit their teeth and engage in diplomacy with cultures they once would have thought of only as prey. That said, as the Asura (and other posthumans) reconnect with biological humanity it has been observed that some of the edge has come off of their nature. While they remain alien in many ways, it seems that partial re-integration with human culture has done something to stimulate their more human tendencies, resulting in a culture that continues to value personal might and the quest for power but is slowly being tempered with appreciation for art, culture, and luxury, though given the extent to which posthuman thought-forms have been modified it is likely impossible they will ever completely revert to baseline human psychology, if they would even want such a thing. But they are no longer the imminent sword of Damocles hanging over all biological life, and for many this will be enough.&lt;br /&gt;
&lt;br /&gt;
===Cultivator Cyborgs===&lt;br /&gt;
If you aren't born an immortal posthuman, then you're likely an organic life form. And if you're an organic life form, then you're doomed to a short, miserable life on a world that you no longer dominate, unless you are one of the few who can command the teeming hordes of mortal soldiers to match the monsters of the current era. However, for those who refuse to be content with mediocrity, a second path awaits. Through studying the datasphere and converting portions of your biology into computronium (essentially, a highly efficient computational matrix), one can surpass their original form to become a cultivator cyborg, one who perpetually strives to gain full understanding of the datasphere and mastery of the nanomechanic cloud that permeates the solar system, learning powerful martial techniques and gaining physical upgrades as they grow more experienced. It is a difficult journey, and few ever find full attainment, much less discover even one technique. However, those who do are powerful indeed, and not to be trifled with. For not only do they unlock the mysteries of cyberization, but so do their progeny. Any being that becomes a cultivator cyborg effectively has the potential to found a powerful dynasty of inhuman cybernetic demigods, demigods who influence much of life on this shattered planet.&lt;br /&gt;
&lt;br /&gt;
===The Pale Star Cult===&lt;br /&gt;
Humanity is not alone in the void. There is life across countless worlds, civilized and not, though due to the way most develop cloaked information transmissions and wormhole-derived transports it is most difficult to find evidence of them unless they wish to reveal themselves to you, or you simply stumble across an inhabited planet. However, a large portion of the space around humanity is devoid of what we would recognize as rational life, and there is a terrible reason behind this. For just outside the vision of men, whose light rays only have recently reached our planet, there is a star. And this star thinks.&lt;br /&gt;
&lt;br /&gt;
It is a sapient being, a massive calculating engine whose otherworldly spectrum of light allows for the instant transmission of information from its core to anywhere its rays reach. It plants unnatural thoughts in the minds of those who spend too long staring at its baleful green glow, and soon enough they find themselves under its thrall completely. The Pale Star grants incredible power of its own, but robs the user of their will in enough time, always resulting in a hollowed-out thing of burning flame, which amplifies its light and the reality-warping power it bestows. There are whole worlds, in the black, wreathed in green coronas of fire, perpetually feeding off of a writhing mass of flesh that was once that planet's population. It uses these lantern worlds to further its reach, and increase its intelligence. Earth, however, has proven a tougher nut to crack. The sheer insanity of its growth and collapse, spawning inhuman horrors which can lay low the best of its war-forms, has prevented it from subsuming this world as it has dozens of others. For now, it simply remains a lurking shade, waiting for the chance it can bring this planet to its knees, and birth a cruel new existence from its ashes.&lt;br /&gt;
&lt;br /&gt;
===The Datasphere===&lt;br /&gt;
The Datasphere is the term for the electronic world that permeates the material one, perpetually surrounding the entire solar system in the form of a network of nanomachines that act as a literal cloud-computer, hanging in the sky and saturated into the ground, bringing ever-present power and knowledge to those who can properly tap into it. The 'gods' people worship, for example, are very real, but are in fact simply powerful intelligences which exist as disembodied beings in the Datasphere. They could be ascended humans who have left the material realm, or beings born into it, or both, or something else. None can say for certain, but all know that by studying and communing with them one can gain incredible power.&lt;br /&gt;
&lt;br /&gt;
Ghosts, too, are akin to this. They are swarms of nanomachines which congregate around intense emotion in the datasphere, like the last moments of a living person. They can exert deadly force and are notoriously difficult to get rid of, so the best option is to just inter the body and put the last emotions of the victim to rest. It should be noted the ghost is not actually them, but just an echo formed by the final thoughts of the dying being.&lt;br /&gt;
&lt;br /&gt;
It should also be noted that a corpse, if properly preserved, may retain traces of the original owner's psyche. As long as the body remains more or less intact, there is rumored to be a technique capable of restoring them to full health. But is it truly the same person who died, or merely a perfect duplicate with the same memories? Who can say.&lt;br /&gt;
&lt;br /&gt;
===[[Modification:The Long Night: Creatures#Bioframes|Bioframes]]===&lt;br /&gt;
Bioframes inspire terror and awe across the world. As some of the most advanced and sophisticated weapon systems ever produced, they are without a doubt among the greatest remaining relics of the Solar Empire's military might. Intelligent, fast, strong, and armored with powerful defenses, they are any civilization's trump card. They can also be modified to function with a pilot enclosed in its womb-cockpit, or function autonomously. Either way, few things are as terrifying as being stared down by a bioframe in the heat of battle.&lt;br /&gt;
&lt;br /&gt;
There are also greater variations of bioframes in the form of Autonomous Dragon Weapons, but these monsters are wild and untamed, their strength such that no nation has been able to gain control of one. Unlike standard bioframes, these creatures are regarded only with fear, due to the horrendous destruction they leave in their path. &lt;br /&gt;
&lt;br /&gt;
= Related Pages =&lt;br /&gt;
[[Modification:The Long Night: Civilizations|The Long Night: Civilizations]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Weapons|The Long Night: Weapons]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Armor|The Long Night: Armor]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Materials|The Long Night: Materials]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Creatures|The Long Night: Creatures]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Plants|The Long Night: Plants]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Technomancy|The Long Night: Technomancy]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Modification:The Long Night: Adventure Mode|The Long Night: Adventure Mode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Myk002</name></author>
	</entry>
</feed>