<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sfogarty</id>
	<title>Dwarf Fortress Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sfogarty"/>
	<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php/Special:Contributions/Sfogarty"/>
	<updated>2026-04-28T21:23:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=v0.31:Mineshaft_stitching&amp;diff=108492</id>
		<title>v0.31:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=v0.31:Mineshaft_stitching&amp;diff=108492"/>
		<updated>2010-05-11T14:17:03Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clearly you can repeat the middle layer as often as you want: I recommend at least 5-10 levels to really make this worthwhile. Note that this pattern creates a very long walkway back to the start of the mineshafts. If you do not excavate routinely, consider connecting the top-level paths of areas you have already explored.&lt;br /&gt;
&lt;br /&gt;
=== AHK script ===&lt;br /&gt;
An AHK script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes, constructing only necessary stairs at the top and bottom, and capable of being canceled at any time&lt;br /&gt;
&lt;br /&gt;
In the previous version of DF, there was an alternate version [[User:Jondan/stitch.ahk|here]]. It has not been tested for 2010, but there is no reason it shouldn't work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ;               					   ;&lt;br /&gt;
 ; Alt+Shift+c to change parameters			   ;&lt;br /&gt;
 ; Alt+Shift+s to run				           ;&lt;br /&gt;
 ; Ctrl+c cancel anytime 				   ;&lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ; Bug fix from Corey Amend				   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
        if (vertdir = &amp;quot;&amp;gt;&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		Send j&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		Send u&lt;br /&gt;
	}&lt;br /&gt;
	Send {Enter 2}i&lt;br /&gt;
	tmp := depth -1&lt;br /&gt;
	Loop %tmp%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%{Enter 2}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
        if (vertdir = &amp;quot;&amp;gt;&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%u{Enter 2}&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%j{Enter 2}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$+!c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
$^c::&lt;br /&gt;
  Critical&lt;br /&gt;
  ExitApp&lt;br /&gt;
  return&lt;br /&gt;
&lt;br /&gt;
$+!s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
vdir = &amp;gt;&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;&amp;gt;&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = &amp;lt;&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = &amp;gt;&lt;br /&gt;
	}&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send d%hdir%{Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir%{Enter}%hdir%{Enter}%hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir%{Enter}%hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	G&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;&amp;gt;&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send &amp;lt;&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Ahk scripts]]&lt;br /&gt;
[[Category:FAQ - Mining]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=v0.31:Mineshaft_stitching&amp;diff=108477</id>
		<title>v0.31:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=v0.31:Mineshaft_stitching&amp;diff=108477"/>
		<updated>2010-05-11T12:27:04Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: Created page with '{{av}} When using mine shafts, dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent…'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{av}}&lt;br /&gt;
When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clearly you can repeat the middle layer as often as you want: I recommend at least 5-10 levels to really make this worthwhile. Note that this pattern creates a very long walkway back to the start of the mineshafts. If you do not excavate routinely, consider connecting the top-level paths of areas you have already explored.&lt;br /&gt;
&lt;br /&gt;
=== AHK script ===&lt;br /&gt;
An AHK script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes, constructing only necessary stairs at the top and bottom, and capable of being canceled at any time&lt;br /&gt;
&lt;br /&gt;
In the previous version of DF, there was an alternate version [[User:Jondan/stitch.ahk|here]]. It has not been tested for 2010, but there is no reason it shouldn't work.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ;               					   ;&lt;br /&gt;
 ; Alt+Shift+c to change parameters			   ;&lt;br /&gt;
 ; Alt+Shift+s to run				           ;&lt;br /&gt;
 ; Ctrl+c cancel anytime 				   ;&lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ; Bug fix from Corey Amend				   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
        if (vertdir = &amp;quot;&amp;gt;&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		Send u&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		Send j&lt;br /&gt;
	}&lt;br /&gt;
	Send {Enter 2}i&lt;br /&gt;
	tmp := depth -1&lt;br /&gt;
	Loop %tmp%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%{Enter 2}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
        if (vertdir = &amp;quot;&amp;gt;&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%j{Enter 2}&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%u{Enter 2}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$+!c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
$^c::&lt;br /&gt;
  Critical&lt;br /&gt;
  ExitApp&lt;br /&gt;
  return&lt;br /&gt;
&lt;br /&gt;
$+!s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
vdir = &amp;gt;&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;&amp;gt;&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = &amp;lt;&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = &amp;gt;&lt;br /&gt;
	}&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send d%hdir%{Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir%{Enter}%hdir%{Enter}%hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir%{Enter}%hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	G&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;&amp;gt;&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send &amp;lt;&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Ahk scripts]]&lt;br /&gt;
[[Category:FAQ - Mining]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48229</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48229"/>
		<updated>2009-08-08T01:22:43Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clearly you can repeat the middle layer as often as you want: I recommend at least 5-10 levels to really make this worthwhile. Note that this pattern creates a very long walkway back to the start of the mineshafts. If you do not excavate routinely, consider connecting the top-level paths of areas you have already explored.&lt;br /&gt;
&lt;br /&gt;
=== AHK script ===&lt;br /&gt;
An AHK script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes.&lt;br /&gt;
&lt;br /&gt;
There is an alternate version [[User:Jondan/stitch.ahk|here]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Ahk scripts]]&lt;br /&gt;
[[Category:FAQ - Mining]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48228</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48228"/>
		<updated>2009-07-29T08:08:05Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clearly you can repeat the middle layer as often as you want: I recommend at least 5-10 levels to really make this worthwhile. Note that this pattern creates a very long walkway back to the start of the mineshafts. If you do not excavate routinely, consider connecting the top-level paths of areas you have already explored.&lt;br /&gt;
&lt;br /&gt;
=== AHK script ===&lt;br /&gt;
An AHK script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes.&lt;br /&gt;
&lt;br /&gt;
There is another alternate version [[User:Jondan/stitch.ahk|here]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Ahk scripts]]&lt;br /&gt;
[[Category:FAQ - Mining]]&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d_Talk:Mineshaft_stitching&amp;diff=48234</id>
		<title>40d Talk:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d_Talk:Mineshaft_stitching&amp;diff=48234"/>
		<updated>2009-07-29T08:07:14Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, thought I would put this script up here and see if it was useful. This perhaps should be moved to a user page or something, but I am not certain: feel free to suggest changes, moves, or a more appropriate way to present this.&lt;br /&gt;
-- Seth Fogarty&lt;br /&gt;
: Hi, I thought the whole point of mineshafts was to optimize the dig load on [[exploratory mining]]. Stitching them together doubles the amount of dug stone, doesn't it? 22% doesn't look so optimal. --[[User:Aykavil|Aykavil]] 09:51, 24 June 2009 (UTC)&lt;br /&gt;
:: Perhaps the example is confusing because it is only 3 layers? You can have as many layers as you like in the stitching.. just replicate the middle. More formally, you have to dig to one end or the other of a mineshaft. The traditional way is, I assume, to have a top-level grid that connects all the mineshafts. Stitching involves no more dug stone than the traditional method, you just alternate if the top-level or bottom-level gets the digging. [[User:Sfogarty|Sfogarty]] 08:07, 29 July 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d_Talk:Mineshaft_stitching&amp;diff=48233</id>
		<title>40d Talk:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d_Talk:Mineshaft_stitching&amp;diff=48233"/>
		<updated>2009-07-29T06:57:38Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, thought I would put this script up here and see if it was useful. This perhaps should be moved to a user page or something, but I am not certain: feel free to suggest changes, moves, or a more appropriate way to present this.&lt;br /&gt;
-- Seth Fogarty&lt;br /&gt;
: Hi, I thought the whole point of mineshafts was to optimize the dig load on [[exploratory mining]]. Stitching them together doubles the amount of dug stone, doesn't it? 22% doesn't look so optimal. --[[User:Aykavil|Aykavil]] 09:51, 24 June 2009 (UTC)&lt;br /&gt;
:: You have to dig to one end or the other of a mineshaft. The traditional way is, I assume, to have a top-level grid that connects all the mineshafts. Stitching involves no more dug stone than the traditional method, you just alternate if the top-level or bottom-level gets the digging. I think perhaps your confusion is that my example is only three layers?&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d_Talk:Trading&amp;diff=36108</id>
		<title>40d Talk:Trading</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d_Talk:Trading&amp;diff=36108"/>
		<updated>2009-04-10T05:49:10Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: /* Limited Caravan Accessiblity */  Thanks for clue!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Archive|&lt;br /&gt;
# The [[Talk:Trading/Talk Caravan|talk page]] from Caravan, which wasn't merged properly at the time.&lt;br /&gt;
# The [[Talk:Trading/archive1|first archive]] of Talk:Trading.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Culling on mandates ==&lt;br /&gt;
&lt;br /&gt;
what's that? in the trade screen? me no be native speaker...--[[User:Koltom|Koltom]] 21:56, 20 February 2008 (EST)&lt;br /&gt;
:I think it means that it will hide things that are not allowed to be traded: &amp;quot;Mayor has put bans on certain exports&amp;quot;. But I don't know if it hides an entire bin if one item in it is banned. [[User:Hex Decimal|Hex Decimal]] 14:29, 27 February 2008 (EST)&lt;br /&gt;
::I am quite sure that &amp;quot;culling on mandates: on&amp;quot; hides all bins containing items which have active Noble Export Bans. [[User:Samyotix|Samyotix]] 09:16, 13 November 2008 (EST)&lt;br /&gt;
:::I made a &amp;quot;trading color cues&amp;quot; subsection.  This should cover relevant info about mandates and other things.  --[[User:Shurikane|Shurikane]] 22:07, 29 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Trading flowchart ==&lt;br /&gt;
{{:Trading/Flowchart}}&lt;br /&gt;
Given a number of questions on the forums, it may be a good idea to put together a flowchart of the steps involved in trading. I will draft something up here (at least partially so I can safely screw up my first attempt on this wiki)&lt;br /&gt;
&lt;br /&gt;
Tasks are sequential top-to-bottom, but can be done in parallel left-to-right&lt;br /&gt;
{|cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=400|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2 rowspan=2| Make or obtain goods to trade || Build Depot ({{K|b}} - {{K|D}})&lt;br /&gt;
|-&lt;br /&gt;
| Ensure Depot is accessible ({{K|D}})&lt;br /&gt;
Check green area reaches edge of map&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | Wait until a caravan arrives on the map&lt;br /&gt;
&amp;quot;A--- caravan from --- has arrived.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Set goods to be traded ({{K|q}} - {{K|g}}) || Request a trader ({{K|q}} - {{K|r}}) || Wait for caravan to reach the depot&lt;br /&gt;
&amp;quot;Merchants have arrived and are unloading their goods&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Wait for goods to be hauled || Wait for the trader to finish their other tasks and go to the depot || Wait for the rest of the caravan to reach the depot and be unloaded &lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | Begin actual trading ({{K|q}} - {{K|t}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hmm. Is there a better way to show this? It may not help much as is... [[User:Kaypy|Kaypy]]&lt;br /&gt;
:Ask and ye shall receive (see right, editable at [[Trading/Flowchart]]). --[[User:Juckto|juckto]] 08:46, 6 May 2008 (EDT) &lt;br /&gt;
'''Re: Adeptable's changes'''&amp;lt;br&amp;gt;I don't think the third branch is neccesary. For one, it makes it seem too wide, and secondary it implies that turning off the trader's labours ''all the time'' means that trading will happen faster - almost as if it will make merchants arrive more often. --[[User:Juckto|juckto]] 23:36, 2 August 2008 (EDT)&lt;br /&gt;
:I'd add retrieving empty bins to the bottom so that you don't end up with empty bins sitting at the depot.  When stockpiles are crowded you'll need them to deal with the sudden influx of goods.  (Never give away bins!)  I bow to your wiki-fu, I simply could not edit your flowchart...  --[[User:Corona688|Corona688]] 14:15, 3 December 2008 (EST)&lt;br /&gt;
::Yeah, it's a bit tricky I guess. It's all in the colspan :p. But, ahhh, how do you retreive them? I thought dwarves would automatically fetch empty bins from the depot if they needed them, just like fetching them from any other location. --[[User:Juckto|juckto]] 18:31, 3 December 2008 (EST)&lt;br /&gt;
:::Ack, somehow didn't see this.  Empty bins will still show up as Trading in the bring goods to depot menu, unmark them and your dwarves will haul them back to where they're needed.  --[[User:Corona688|Corona688]] 02:13, 7 January 2009 (EST)&lt;br /&gt;
::::Surely the bins' &amp;quot;Trading&amp;quot; status disappears after the Trader leaves? I mean, I've never noticed them as still being marked for &amp;quot;Trading&amp;quot; when the next caravan arrives next season. --[[User:Juckto|juckto]] 22:08, 23 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How many wagons? ==&lt;br /&gt;
&lt;br /&gt;
I don't think I've ever seen more than 8 wagons in a given caravan. Is that the limit? Has anyone ever seen more than 8?--[[User:Maximus|Maximus]] 03:01, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mass selection of goods to be moved ==&lt;br /&gt;
&lt;br /&gt;
Question: Is there a way to designate multiple goods in one selection to be brought to the depot? &lt;br /&gt;
&lt;br /&gt;
I'm getting really tired of indivually selecting goods to be moved to the depot when I have massive amounts of crafts, food, etc. So is anyone familiar with ways to select multiple goods at once? Maybe a &amp;quot;start&amp;quot; and &amp;quot;end&amp;quot; tags (for lack of a better name) and every good caught inbetween is designated to be moved to the depot? -- [[User:Dakira|Dakira]] 14:47 10 November 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
:Nope. About the best you can do is use the select (search) menu to get all the ones of the type you want, then enter-down-enter-down. You can flag about 200 a minute this way, though.--[[User:Maximus|Maximus]] 19:17, 10 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
::That's what I was doing previously. Are there any plans for a &amp;quot;mass selector&amp;quot; to be introduced? -- [[User:Dakira|Dakira]] 16:50 10 November 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
:::Not that I know of. Make a feature request on the [http://www.bay12games.com/forum/index.php forums].--[[User:Maximus|Maximus]] 20:05, 10 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
::::AFAIK, there is no good way to do this from the trade screen, which is why it's important to set up custom stockpiles and have plenty of bins. Man, I really wish you could make bins out of stone.&lt;br /&gt;
&lt;br /&gt;
== Merchant moods ==&lt;br /&gt;
&lt;br /&gt;
My fortress hadn't been doing too well, but I didn't know it was so bad it could affect merchants... and their pack animals. As the last merchant was about to leave the map, he suddenly went berserk and was cut down by his bodyguard, who then fled the scene. Shortly thereafter, I recieved a message that the donkey had been stricken by melacholy. Has anyone else had this happen?&lt;br /&gt;
&lt;br /&gt;
:They usually eventually go nuts if they can't leave for some reason. Never heard of something like what you're describing.--[[User:Maximus|Maximus]] 03:24, 12 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== No more dwarven caravan ==&lt;br /&gt;
&lt;br /&gt;
So. The Dwarven caravan has not come in the past two years. I think, though I am not sure, that this corresponds with when I met the requirements for the Incoming King, though he has not yet seen fit to arrive. I believe I also capped the population sometime in there, but I think it was after the first year of no caravan. I don't recall in any way molesting previous caravans. I needs me some dolomite and steel bars, anyone know what's going on here? --[[User:Zombiejustice|Zombiejustice]] 02:10, 13 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:So. I upper the population cap to encourage some immigration, and after a few seasons, the King showed up with his retinue and the Hammerer, who had apparently died at some point. I re-capped the population, and the caravan came next autumn. Was it the incoming king or the dead hammerer? Did the population cap interfere with the king's arrival? The mystery remains. --[[User:Zombiejustice|Zombiejustice]] 14:59, 2 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
::I'm on year 13 of my most recent fortress and the Dwarven caravan declined to show up this year, after 12 years of no problem.  I still don't meet the requirements for the Incoming King.  In a previous game I did meet those requirements, and that did not interfere with the caravan (though the liason stopped letting me place orders once the king arrived).  Anyway, I don't think my current fort has anything in common with what you've described, other than a mysteriously missing caravan after not damaging previous ones. --[[User:Sev|Sev]] 00:52, 7 January 2009 (EST)&lt;br /&gt;
:::It appears my problem was caused by a brief goblin siege that occurred when the caravan was supposed to be showing up. --[[User:Sev|Sev]] 16:48, 26 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
== A query from the deleted page Talk:Stealing ==&lt;br /&gt;
&lt;br /&gt;
I've read many times that the traders count their total losses/profits when they leave the edge of the map, so as to make stealing of any sort impossible (to get away with, anyhow). Does this include what the guards are carrying (if they get killed or even just shoot off some bolts)? Or is the &amp;quot;total profit&amp;quot; concept true at all? --[[User:Maximus|Maximus]] 17:07, 27 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:I'm pretty sure that the total profit concept is how it works. The value of everything the traders enter with is subtracted from the value of everything the traders leave with to calculate profit. There's probably something in there to account for the death of (a) trader(s). --[[User:Savok|Savok]] 21:42, 28 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
::is this still true?&amp;lt;br&amp;gt;i was unwittingly stealing everything off the merchants via the stocks screen. i dont have any steel yet, as i've not found any flux or iron ore. but every now and again, i noticed i had a bunch of steel/iron weapons/bolts/armo(u)r, so designated it all for melting, etc, etc.. eventually, i chose to 'dump' everything to see where they were getting it, and they were stripping the merchants of all their goods/clothes/everything metal xD  will they come and siege me anytime soon? my army's not ready yet! i do give good profit margins (20%+), but i'm sure the stuff i nick is much more valuable :/   --[[User:DJ Devil|DJ Devil]]&lt;br /&gt;
&lt;br /&gt;
== Wagon movement ==&lt;br /&gt;
&lt;br /&gt;
I'm pretty sure that wagons cannot move diagonally. --[[User:Savok|Savok]] 20:08, 11 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Arrival dates ==&lt;br /&gt;
&lt;br /&gt;
Out of curiosity, has anybody given a closer look at the exact arrival dates of trade caravans?  Do they always arrive at a fixed time, or does it hover inside a certain period during the month or season?  --[[User:Shurikane|Shurikane]] 22:11, 29 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
==Wagons and magma==&lt;br /&gt;
A dwarven trade caravan passing over a magma channel on its way to my trade depot recently caught fire. Naturally, this caused lots of [[fun]], but I'm a bit perplexed by it. There was nothing flammable on the bridge - in fact, the magma beneath was 1/7 deep at best - but it looks like the wagons just spontaneously combusted as they passed over the stream. Can anyone confirm that it was the magma that caused this, or were the children just playing with matches again? [[User:Aosher|Aosher]] 08:07, 14 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elven Caravan Wood Logs ==&lt;br /&gt;
I noticed there was a &amp;quot;verify&amp;quot; next to &amp;quot;carries more wood the less trees you cut down&amp;quot; under the Elven Caravans and am not sure if it is right or not.  Can anyone confirm this?  I have observed the stock of wood brought by the elves in two games as increasing significantly with time.  In one of the games wood was scarce, in the other wood was plentiful but to dangerous to cut down and in both I would consistently buy out all of the wood logs from every caravan.  So I had theorized the increase in the number of logs brought was related to demand conveyed by buying out the stock repeatedly for years.  However, not cutting down trees and buying out all the wood logs would tend to go hand in hand.  Also, to really see a significant increase in a specific item I would need to buy out all the wood stock from a caravan for close several years.  It is possible that both the demand and level of &amp;quot;production&amp;quot; of wood determine how much is brought.  If either is true for wood, then it might be true for other items that Elves bring.  Also, did I format this thing right? --[[User:Pencilinhand|PencilinHand]] 8:47, 23 January 2009 (EST)&lt;br /&gt;
:In my experience it's something more like - the more you have in stock, the less they bring. I was buying out all logs from them, and they brought ~120 logsevery year, and I chopped a lot of trees, but used them fast. Then I built some wooden machinery (axles, windmills), my stocks always showed about 100 logs in them after that, and elves began to bring only about 5 logs...--[[User:Dorten|Dorten]] 04:48, 23 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
::I did a series of experiments over a period of 3 years in my current fort and can confirm that Dorten is right and my previously stated theories are wrong.  A forts stockpile of wood appears to be the biggest factor in determining how much wood is brought by the elven caravans.  When I had a stockpile of 51 wood logs the elves brought no wood, when I had a stockpile of 0 wood logs they brought 43 wood logs, similar results were observed regardless of if I was cutting down trees during the year(though I did not test any clear cuts).  The other caravans may have brought more wood as well, but further testing is needed before I am confident in that statement, as it may have been caused by offerings/gifts.  --[[User:PencilinHand|PencilinHand]] 17:10, 25 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
==Trade Depot Color==&lt;br /&gt;
I know this doesn't have anything to do with trading, but it is interesting. Since Trade Depots are made out of 3 stones (or logs etc etc), if you combine stones of various colors, what do you get? I tried combining Orthoclase (yellow), Kimberlite (blue) and Olivine (green), and I got a green depot. Then I tried Gabbro (black) and 2 Orthoclase, and the depot was yellow. Kimberlite, Petrified Wood (red) and Olivine, the depot was green. Does anyone know how the color is selected?&lt;br /&gt;
&lt;br /&gt;
:As far as I understand is the last stone for the color (or was it the first one?) --[[User:NobbZ|NobbZ]] 10:50, 23 February 2009 (EST)&lt;br /&gt;
::I'll have to fire up the game again when I get home, but I could have sworn that I've occasionally wound up with two-tone depots when I've used different stones. The main part was one color while the corners were another. But maybe I'm just imagining things. -[[User:Fuzzy|Fuzzy]] 09:49, 5 March 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
== stealing animals ==&lt;br /&gt;
&lt;br /&gt;
One of the objects I happened to cheat the game of was a nickel cage with a dog in it. on the units page, the dog was still shown to belong to the traders. Is there any way to change this? (or at least any [http://www.dwarffortresswiki.net/index.php/Fun fun] to be had from this?)&lt;br /&gt;
&lt;br /&gt;
: What happens when you [[kennel|train]] it into a war dog? or, for that matter, does the game recognize it as an animal that can be [[kennel|tamed]]? --[[User:FJH|FJH]] 15:15, 25 March 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
==Buggy behavior with sieges==&lt;br /&gt;
&lt;br /&gt;
In my current game the dwarven caravan arrived, followed immediately by a goblin siege.  I crushed the siege but a couple caravan guards and a pack animal were killed.  A handful of merchants, guards and animals got stuck at the edge of the map, and I never got to trade, even though all the wagons made it safely into the depot. I was however able to make the usual arrangements with the liason.  Then I got the message that the caravan was leaving but they didn't actually go.  Has anyone else experienced anything like this?  Any way to fix it?  --[[User:FunkyWaltDogg|FunkyWaltDogg]] 23:43, 29 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:In case something like this happens to anyone else, I found that digging out the area under the stuck merchants and collapsing it fixed the problem.  The survivors started moving off the map and the wagons immediately pulled out of the depot. --[[User:FunkyWaltDogg|FunkyWaltDogg]] 05:20, 31 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Limited Caravan Accessiblity ==&lt;br /&gt;
&lt;br /&gt;
Contrary to the comments in the section on wagons, I do not believe you can force a caravan to enter the map at a specific point. Running 0.28.181.40d, I build a wall so that there is only one entrance to the map that is accessible to the depot. Humans arrived from another point of the map, and I got the message &amp;quot;Their wagons have bypassed your inaccessible site.&amp;quot; I do see 'Depot accessible' on D. --[[User:Sfogarty|Sfogarty]] 05:49, 10 April 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d_Talk:Trading&amp;diff=36106</id>
		<title>40d Talk:Trading</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d_Talk:Trading&amp;diff=36106"/>
		<updated>2009-04-10T05:04:26Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Archive|&lt;br /&gt;
# The [[Talk:Trading/Talk Caravan|talk page]] from Caravan, which wasn't merged properly at the time.&lt;br /&gt;
# The [[Talk:Trading/archive1|first archive]] of Talk:Trading.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Limited Caravan Accessiblity&lt;br /&gt;
&lt;br /&gt;
Contrary to the comments in the section on wagons, I do not believe you can force a caravan to enter the map at a specific point. Running 0.28.181.40d, I build a wall so that there is only one entrance to the map that is accessible to the depot. Humans arrived from another point of the map, and I got the message &amp;quot;Their wagons have bypassed your inaccessible site.&amp;quot; I do see 'Depot accessible' on D.&lt;br /&gt;
&lt;br /&gt;
== Culling on mandates ==&lt;br /&gt;
&lt;br /&gt;
what's that? in the trade screen? me no be native speaker...--[[User:Koltom|Koltom]] 21:56, 20 February 2008 (EST)&lt;br /&gt;
:I think it means that it will hide things that are not allowed to be traded: &amp;quot;Mayor has put bans on certain exports&amp;quot;. But I don't know if it hides an entire bin if one item in it is banned. [[User:Hex Decimal|Hex Decimal]] 14:29, 27 February 2008 (EST)&lt;br /&gt;
::I am quite sure that &amp;quot;culling on mandates: on&amp;quot; hides all bins containing items which have active Noble Export Bans. [[User:Samyotix|Samyotix]] 09:16, 13 November 2008 (EST)&lt;br /&gt;
:::I made a &amp;quot;trading color cues&amp;quot; subsection.  This should cover relevant info about mandates and other things.  --[[User:Shurikane|Shurikane]] 22:07, 29 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Trading flowchart ==&lt;br /&gt;
{{:Trading/Flowchart}}&lt;br /&gt;
Given a number of questions on the forums, it may be a good idea to put together a flowchart of the steps involved in trading. I will draft something up here (at least partially so I can safely screw up my first attempt on this wiki)&lt;br /&gt;
&lt;br /&gt;
Tasks are sequential top-to-bottom, but can be done in parallel left-to-right&lt;br /&gt;
{|cellpadding=&amp;quot;2&amp;quot; border=&amp;quot;1&amp;quot; width=400|&lt;br /&gt;
|-&lt;br /&gt;
| colspan=2 rowspan=2| Make or obtain goods to trade || Build Depot ({{K|b}} - {{K|D}})&lt;br /&gt;
|-&lt;br /&gt;
| Ensure Depot is accessible ({{K|D}})&lt;br /&gt;
Check green area reaches edge of map&lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | Wait until a caravan arrives on the map&lt;br /&gt;
&amp;quot;A--- caravan from --- has arrived.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Set goods to be traded ({{K|q}} - {{K|g}}) || Request a trader ({{K|q}} - {{K|r}}) || Wait for caravan to reach the depot&lt;br /&gt;
&amp;quot;Merchants have arrived and are unloading their goods&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Wait for goods to be hauled || Wait for the trader to finish their other tasks and go to the depot || Wait for the rest of the caravan to reach the depot and be unloaded &lt;br /&gt;
|-&lt;br /&gt;
| colspan=3 | Begin actual trading ({{K|q}} - {{K|t}})&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hmm. Is there a better way to show this? It may not help much as is... [[User:Kaypy|Kaypy]]&lt;br /&gt;
:Ask and ye shall receive (see right, editable at [[Trading/Flowchart]]). --[[User:Juckto|juckto]] 08:46, 6 May 2008 (EDT) &lt;br /&gt;
'''Re: Adeptable's changes'''&amp;lt;br&amp;gt;I don't think the third branch is neccesary. For one, it makes it seem too wide, and secondary it implies that turning off the trader's labours ''all the time'' means that trading will happen faster - almost as if it will make merchants arrive more often. --[[User:Juckto|juckto]] 23:36, 2 August 2008 (EDT)&lt;br /&gt;
:I'd add retrieving empty bins to the bottom so that you don't end up with empty bins sitting at the depot.  When stockpiles are crowded you'll need them to deal with the sudden influx of goods.  (Never give away bins!)  I bow to your wiki-fu, I simply could not edit your flowchart...  --[[User:Corona688|Corona688]] 14:15, 3 December 2008 (EST)&lt;br /&gt;
::Yeah, it's a bit tricky I guess. It's all in the colspan :p. But, ahhh, how do you retreive them? I thought dwarves would automatically fetch empty bins from the depot if they needed them, just like fetching them from any other location. --[[User:Juckto|juckto]] 18:31, 3 December 2008 (EST)&lt;br /&gt;
:::Ack, somehow didn't see this.  Empty bins will still show up as Trading in the bring goods to depot menu, unmark them and your dwarves will haul them back to where they're needed.  --[[User:Corona688|Corona688]] 02:13, 7 January 2009 (EST)&lt;br /&gt;
::::Surely the bins' &amp;quot;Trading&amp;quot; status disappears after the Trader leaves? I mean, I've never noticed them as still being marked for &amp;quot;Trading&amp;quot; when the next caravan arrives next season. --[[User:Juckto|juckto]] 22:08, 23 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How many wagons? ==&lt;br /&gt;
&lt;br /&gt;
I don't think I've ever seen more than 8 wagons in a given caravan. Is that the limit? Has anyone ever seen more than 8?--[[User:Maximus|Maximus]] 03:01, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mass selection of goods to be moved ==&lt;br /&gt;
&lt;br /&gt;
Question: Is there a way to designate multiple goods in one selection to be brought to the depot? &lt;br /&gt;
&lt;br /&gt;
I'm getting really tired of indivually selecting goods to be moved to the depot when I have massive amounts of crafts, food, etc. So is anyone familiar with ways to select multiple goods at once? Maybe a &amp;quot;start&amp;quot; and &amp;quot;end&amp;quot; tags (for lack of a better name) and every good caught inbetween is designated to be moved to the depot? -- [[User:Dakira|Dakira]] 14:47 10 November 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
:Nope. About the best you can do is use the select (search) menu to get all the ones of the type you want, then enter-down-enter-down. You can flag about 200 a minute this way, though.--[[User:Maximus|Maximus]] 19:17, 10 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
::That's what I was doing previously. Are there any plans for a &amp;quot;mass selector&amp;quot; to be introduced? -- [[User:Dakira|Dakira]] 16:50 10 November 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
:::Not that I know of. Make a feature request on the [http://www.bay12games.com/forum/index.php forums].--[[User:Maximus|Maximus]] 20:05, 10 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
::::AFAIK, there is no good way to do this from the trade screen, which is why it's important to set up custom stockpiles and have plenty of bins. Man, I really wish you could make bins out of stone.&lt;br /&gt;
&lt;br /&gt;
== Merchant moods ==&lt;br /&gt;
&lt;br /&gt;
My fortress hadn't been doing too well, but I didn't know it was so bad it could affect merchants... and their pack animals. As the last merchant was about to leave the map, he suddenly went berserk and was cut down by his bodyguard, who then fled the scene. Shortly thereafter, I recieved a message that the donkey had been stricken by melacholy. Has anyone else had this happen?&lt;br /&gt;
&lt;br /&gt;
:They usually eventually go nuts if they can't leave for some reason. Never heard of something like what you're describing.--[[User:Maximus|Maximus]] 03:24, 12 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== No more dwarven caravan ==&lt;br /&gt;
&lt;br /&gt;
So. The Dwarven caravan has not come in the past two years. I think, though I am not sure, that this corresponds with when I met the requirements for the Incoming King, though he has not yet seen fit to arrive. I believe I also capped the population sometime in there, but I think it was after the first year of no caravan. I don't recall in any way molesting previous caravans. I needs me some dolomite and steel bars, anyone know what's going on here? --[[User:Zombiejustice|Zombiejustice]] 02:10, 13 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:So. I upper the population cap to encourage some immigration, and after a few seasons, the King showed up with his retinue and the Hammerer, who had apparently died at some point. I re-capped the population, and the caravan came next autumn. Was it the incoming king or the dead hammerer? Did the population cap interfere with the king's arrival? The mystery remains. --[[User:Zombiejustice|Zombiejustice]] 14:59, 2 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
::I'm on year 13 of my most recent fortress and the Dwarven caravan declined to show up this year, after 12 years of no problem.  I still don't meet the requirements for the Incoming King.  In a previous game I did meet those requirements, and that did not interfere with the caravan (though the liason stopped letting me place orders once the king arrived).  Anyway, I don't think my current fort has anything in common with what you've described, other than a mysteriously missing caravan after not damaging previous ones. --[[User:Sev|Sev]] 00:52, 7 January 2009 (EST)&lt;br /&gt;
:::It appears my problem was caused by a brief goblin siege that occurred when the caravan was supposed to be showing up. --[[User:Sev|Sev]] 16:48, 26 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
== A query from the deleted page Talk:Stealing ==&lt;br /&gt;
&lt;br /&gt;
I've read many times that the traders count their total losses/profits when they leave the edge of the map, so as to make stealing of any sort impossible (to get away with, anyhow). Does this include what the guards are carrying (if they get killed or even just shoot off some bolts)? Or is the &amp;quot;total profit&amp;quot; concept true at all? --[[User:Maximus|Maximus]] 17:07, 27 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:I'm pretty sure that the total profit concept is how it works. The value of everything the traders enter with is subtracted from the value of everything the traders leave with to calculate profit. There's probably something in there to account for the death of (a) trader(s). --[[User:Savok|Savok]] 21:42, 28 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
::is this still true?&amp;lt;br&amp;gt;i was unwittingly stealing everything off the merchants via the stocks screen. i dont have any steel yet, as i've not found any flux or iron ore. but every now and again, i noticed i had a bunch of steel/iron weapons/bolts/armo(u)r, so designated it all for melting, etc, etc.. eventually, i chose to 'dump' everything to see where they were getting it, and they were stripping the merchants of all their goods/clothes/everything metal xD  will they come and siege me anytime soon? my army's not ready yet! i do give good profit margins (20%+), but i'm sure the stuff i nick is much more valuable :/   --[[User:DJ Devil|DJ Devil]]&lt;br /&gt;
&lt;br /&gt;
== Wagon movement ==&lt;br /&gt;
&lt;br /&gt;
I'm pretty sure that wagons cannot move diagonally. --[[User:Savok|Savok]] 20:08, 11 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Arrival dates ==&lt;br /&gt;
&lt;br /&gt;
Out of curiosity, has anybody given a closer look at the exact arrival dates of trade caravans?  Do they always arrive at a fixed time, or does it hover inside a certain period during the month or season?  --[[User:Shurikane|Shurikane]] 22:11, 29 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
==Wagons and magma==&lt;br /&gt;
A dwarven trade caravan passing over a magma channel on its way to my trade depot recently caught fire. Naturally, this caused lots of [[fun]], but I'm a bit perplexed by it. There was nothing flammable on the bridge - in fact, the magma beneath was 1/7 deep at best - but it looks like the wagons just spontaneously combusted as they passed over the stream. Can anyone confirm that it was the magma that caused this, or were the children just playing with matches again? [[User:Aosher|Aosher]] 08:07, 14 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Elven Caravan Wood Logs ==&lt;br /&gt;
I noticed there was a &amp;quot;verify&amp;quot; next to &amp;quot;carries more wood the less trees you cut down&amp;quot; under the Elven Caravans and am not sure if it is right or not.  Can anyone confirm this?  I have observed the stock of wood brought by the elves in two games as increasing significantly with time.  In one of the games wood was scarce, in the other wood was plentiful but to dangerous to cut down and in both I would consistently buy out all of the wood logs from every caravan.  So I had theorized the increase in the number of logs brought was related to demand conveyed by buying out the stock repeatedly for years.  However, not cutting down trees and buying out all the wood logs would tend to go hand in hand.  Also, to really see a significant increase in a specific item I would need to buy out all the wood stock from a caravan for close several years.  It is possible that both the demand and level of &amp;quot;production&amp;quot; of wood determine how much is brought.  If either is true for wood, then it might be true for other items that Elves bring.  Also, did I format this thing right? --[[User:Pencilinhand|PencilinHand]] 8:47, 23 January 2009 (EST)&lt;br /&gt;
:In my experience it's something more like - the more you have in stock, the less they bring. I was buying out all logs from them, and they brought ~120 logsevery year, and I chopped a lot of trees, but used them fast. Then I built some wooden machinery (axles, windmills), my stocks always showed about 100 logs in them after that, and elves began to bring only about 5 logs...--[[User:Dorten|Dorten]] 04:48, 23 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
::I did a series of experiments over a period of 3 years in my current fort and can confirm that Dorten is right and my previously stated theories are wrong.  A forts stockpile of wood appears to be the biggest factor in determining how much wood is brought by the elven caravans.  When I had a stockpile of 51 wood logs the elves brought no wood, when I had a stockpile of 0 wood logs they brought 43 wood logs, similar results were observed regardless of if I was cutting down trees during the year(though I did not test any clear cuts).  The other caravans may have brought more wood as well, but further testing is needed before I am confident in that statement, as it may have been caused by offerings/gifts.  --[[User:PencilinHand|PencilinHand]] 17:10, 25 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
==Trade Depot Color==&lt;br /&gt;
I know this doesn't have anything to do with trading, but it is interesting. Since Trade Depots are made out of 3 stones (or logs etc etc), if you combine stones of various colors, what do you get? I tried combining Orthoclase (yellow), Kimberlite (blue) and Olivine (green), and I got a green depot. Then I tried Gabbro (black) and 2 Orthoclase, and the depot was yellow. Kimberlite, Petrified Wood (red) and Olivine, the depot was green. Does anyone know how the color is selected?&lt;br /&gt;
&lt;br /&gt;
:As far as I understand is the last stone for the color (or was it the first one?) --[[User:NobbZ|NobbZ]] 10:50, 23 February 2009 (EST)&lt;br /&gt;
::I'll have to fire up the game again when I get home, but I could have sworn that I've occasionally wound up with two-tone depots when I've used different stones. The main part was one color while the corners were another. But maybe I'm just imagining things. -[[User:Fuzzy|Fuzzy]] 09:49, 5 March 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
== stealing animals ==&lt;br /&gt;
&lt;br /&gt;
One of the objects I happened to cheat the game of was a nickel cage with a dog in it. on the units page, the dog was still shown to belong to the traders. Is there any way to change this? (or at least any [http://www.dwarffortresswiki.net/index.php/Fun fun] to be had from this?)&lt;br /&gt;
&lt;br /&gt;
: What happens when you [[kennel|train]] it into a war dog? or, for that matter, does the game recognize it as an animal that can be [[kennel|tamed]]? --[[User:FJH|FJH]] 15:15, 25 March 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
==Buggy behavior with sieges==&lt;br /&gt;
&lt;br /&gt;
In my current game the dwarven caravan arrived, followed immediately by a goblin siege.  I crushed the siege but a couple caravan guards and a pack animal were killed.  A handful of merchants, guards and animals got stuck at the edge of the map, and I never got to trade, even though all the wagons made it safely into the depot. I was however able to make the usual arrangements with the liason.  Then I got the message that the caravan was leaving but they didn't actually go.  Has anyone else experienced anything like this?  Any way to fix it?  --[[User:FunkyWaltDogg|FunkyWaltDogg]] 23:43, 29 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:In case something like this happens to anyone else, I found that digging out the area under the stuck merchants and collapsing it fixed the problem.  The survivors started moving off the map and the wagons immediately pulled out of the depot. --[[User:FunkyWaltDogg|FunkyWaltDogg]] 05:20, 31 March 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Macros_and_keymaps&amp;diff=31783</id>
		<title>40d:Macros and keymaps</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Macros_and_keymaps&amp;diff=31783"/>
		<updated>2009-04-03T17:29:11Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: /* Fancy Exploration Mining */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Playing Dwarf Fortress means lots of typing.  Although the game (as of version v0.27.176.38c) has no internal macro/keymap system, using an external program can save you a great deal of time when dumping, rewalling, designating, and so forth.&lt;br /&gt;
&lt;br /&gt;
#  Go to [[Utilities#AutoHotKey]] and download AutoHotKey.  Installation is simple and the program uses few system resources.&lt;br /&gt;
#  Write macro scripts (file type .ahk), which may contain any number of commands.  You activate scripts by double-clicking .ahk files and deactivate them by right-clicking the AutoHotKey icon on the task bar.  Both of these can be done at any time - even right in the middle of a game.  AutoHotKey also allows for automated activation of scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Scripts==&lt;br /&gt;
Users may experience some issues in getting scripts to work, particularly when using looping scripts when experiencing low frame-rates.&lt;br /&gt;
* If experiencing low frame-rates, try adding delays (&amp;quot;Sleep 100&amp;quot; to pause for 100 milliseconds for example) within loops to allow the interface to keep up. If there are nested loops, sometimes adding a pause at the end of an inner loop is all that is needed to flush the keyboard buffer&lt;br /&gt;
* Make sure that Dwarf Fortress maintains focus. IM windows are the enemy! Who needs friends anyhow? You've got Dwarf Fortress.&lt;br /&gt;
* This may go without saying, but most macros assume standard key-mappings. If you're using non-standard ones, you may have to edit the macro to get it to work.&lt;br /&gt;
* Visiting liaisons can bring up screens that eat keystrokes, throwing a long-looping script out-of-phase with where it expects the game to be.  Wait for the farewell screen before running a long script.&lt;br /&gt;
* The &amp;lt;B&amp;gt;SendPlay&amp;lt;/B&amp;gt; function supports keys that the &amp;lt;B&amp;gt;Send&amp;lt;/B&amp;gt; function does not, for example {{key|Shift-Enter}}.  According to the AutoHotKey documentation, &amp;lt;B&amp;gt;SendPlay&amp;lt;/B&amp;gt; may also be better at preventing dropped keystrokes.&lt;br /&gt;
&lt;br /&gt;
== AutoHotKey Examples ==&lt;br /&gt;
&lt;br /&gt;
===Dumping===&lt;br /&gt;
====Stock Screen Dump====&lt;br /&gt;
Taken from an old version of [[User:Jackard|Jackard's user page]].&lt;br /&gt;
&lt;br /&gt;
To use, first have your bookeeper do enough desk work so you can view individual items in the stocks listing.  Then bring it up and press del to quickly mark stuff.  To adjust the key repeat rate, edit the KEY_HOLD_MS value in \data\init\init.txt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
del::&lt;br /&gt;
IfWinActive Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
  send d{down}&lt;br /&gt;
  return&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  send {del}&lt;br /&gt;
  return&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Designation Dump====&lt;br /&gt;
A dumping script by [[User:Dukederek|Dukederek]]:&lt;br /&gt;
&lt;br /&gt;
This script uses a system similar the commands in the designations menu to mark most of the contents of a large area for dumping. [[User:Dukederek|My talk page]] has more detailed instruction.&lt;br /&gt;
&lt;br /&gt;
Essentially you need to create two text files with the following titles and content. When playing DF it is safe to have blockdumpinit running constantly as long as you dont plan on using the ctrl-d combination for something else.&lt;br /&gt;
&lt;br /&gt;
'''blockdumpinit.ahk'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^d::&lt;br /&gt;
RunWait, &amp;quot;blockdumpmain.ahk&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''blockdumpmain.ahk'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SetKeyDelay 25&lt;br /&gt;
return::&lt;br /&gt;
Send k&lt;br /&gt;
return&lt;br /&gt;
up::&lt;br /&gt;
Send w&lt;br /&gt;
return&lt;br /&gt;
left::&lt;br /&gt;
Send a&lt;br /&gt;
return&lt;br /&gt;
down::&lt;br /&gt;
Send s&lt;br /&gt;
return&lt;br /&gt;
right::&lt;br /&gt;
Send d&lt;br /&gt;
return&lt;br /&gt;
q::&lt;br /&gt;
ExitApp&lt;br /&gt;
return&lt;br /&gt;
shift::&lt;br /&gt;
x := 0&lt;br /&gt;
y := 1&lt;br /&gt;
Loop{&lt;br /&gt;
Input, keypress, B, {esc} , w,a,s,d,k,q&lt;br /&gt;
if keypress = w&lt;br /&gt;
{&lt;br /&gt;
y := --y&lt;br /&gt;
Send {up}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = s&lt;br /&gt;
{&lt;br /&gt;
y := ++y&lt;br /&gt;
Send {down}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = a&lt;br /&gt;
{&lt;br /&gt;
x := --x&lt;br /&gt;
Send {left}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = d&lt;br /&gt;
{&lt;br /&gt;
x := ++x&lt;br /&gt;
Send {right}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = k &lt;br /&gt;
{&lt;br /&gt;
break&lt;br /&gt;
}else if keypress = q&lt;br /&gt;
{&lt;br /&gt;
ExitApp&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
y := y / 2&lt;br /&gt;
z := y&lt;br /&gt;
z := Floor(z)&lt;br /&gt;
z := y/z&lt;br /&gt;
Send d{NumpadAdd}d&lt;br /&gt;
If z = 0&lt;br /&gt;
{	&lt;br /&gt;
If x = 0&lt;br /&gt;
ExitApp&lt;br /&gt;
Else{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d&lt;br /&gt;
}ExitApp&lt;br /&gt;
}&lt;br /&gt;
}If z &amp;lt;&amp;gt; 1&lt;br /&gt;
{&lt;br /&gt;
Loop %y%{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {right}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d{NumpadAdd}d&lt;br /&gt;
}Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}&lt;br /&gt;
}Else If z = 1&lt;br /&gt;
{&lt;br /&gt;
y := y + 0.5&lt;br /&gt;
Loop %y%{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {right}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d{NumpadAdd}d&lt;br /&gt;
}Send d{NumpadSub}d&lt;br /&gt;
}ExitApp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rewalling ===&lt;br /&gt;
Taken from [[User:Valdemar|Valdemar's user page]].&lt;br /&gt;
&lt;br /&gt;
This is a macro to aid with rewalling. To use, copy-paste the script into a new .ahk file and run the script with AutoHotkey. Then, in Dwarf Fortress, press b-C-w, move the cursor to where you want to start the wall, and hold Ctrl-Shift-Arrowkey, using the direction you want to rewall in. To build floors, press b-C-f instead, and use Ctrl-Alt-Arrowkey. To stop, just release the keys.&lt;br /&gt;
&lt;br /&gt;
The script will use the first material in the list. I suggest you create a stockpile near the construction site that only accepts the item you wish to build with and temporarily forbid any nearby materials you don't want to build with. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$^+Left:: ProcessEvent(&amp;quot;Left&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Right:: ProcessEvent(&amp;quot;Right&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Up:: ProcessEvent(&amp;quot;Up&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Down:: ProcessEvent(&amp;quot;Down&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
$^!Left:: ProcessEvent(&amp;quot;Left&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Right:: ProcessEvent(&amp;quot;Right&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Up:: ProcessEvent(&amp;quot;Up&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Down:: ProcessEvent(&amp;quot;Down&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ProcessEvent(direction, type)&lt;br /&gt;
{   &lt;br /&gt;
    Send {Enter}&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send {Enter}&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send %type%&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send {%direction%}&lt;br /&gt;
    Loop&lt;br /&gt;
    {&lt;br /&gt;
        if not GetKeyState(direction, &amp;quot;P&amp;quot;) &lt;br /&gt;
            break  &lt;br /&gt;
        Send {Enter}&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send {Enter}&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send %type%&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send {%direction%}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Grid-by-grid designation===&lt;br /&gt;
For easier diagonal and fancy mining.  Assumes that DF is active.  &amp;quot;^!&amp;quot; means ctrl-alt-direction.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^!NumpadEnd::&lt;br /&gt;
send {Enter}{Enter}{NumpadEnd}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadDown::&lt;br /&gt;
send {Enter}{Enter}{NumpadDown}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadPgDn::&lt;br /&gt;
send {Enter}{Enter}{NumpadPgDn}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadLeft::&lt;br /&gt;
send {Enter}{Enter}{NumpadLeft}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadRight::&lt;br /&gt;
send {Enter}{Enter}{NumpadRight}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadHome::&lt;br /&gt;
send {Enter}{Enter}{NumpadHome}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadUp::&lt;br /&gt;
send {Enter}{Enter}{NumpadUp}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadPgUp::&lt;br /&gt;
send {Enter}{Enter}{NumpadPgUp}&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Embark Settings macros===&lt;br /&gt;
These macros are used to ease the setup of skills and supplies before you embark.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Improved Food/Alcohol buying macro====&lt;br /&gt;
This macro buys all the cost-2 food (that I have seen), as well as the four types of alcohol.  Just press ctrl+f on the Items screen.&lt;br /&gt;
It can deal with meat or drink that you already have, or is not currently featured.   By [[User:Redfenix|Redfenix]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^f::&lt;br /&gt;
&lt;br /&gt;
send ndwarven{SPACE}ale{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}rum{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}beer{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}wine{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndonkey{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nchimpanzee{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngazelle{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nbonobo{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmule{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndeer{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nraccoon{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nfox{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nrhesus{SPACE}macaque{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nhorse{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngroundhog{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmountain{SPACE}goat{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nhoary{SPACE}marmot{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngorilla{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send norangutan{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nsiamang{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nbilou{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send npileated{SPACE}gibbon{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmandrill{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nturtle{RIGHT}{ENTER}{F9}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===='First Fortress' setup====&lt;br /&gt;
This macro works with the default setup of DF, and starts you with (almost) the setup suggested in the &amp;quot;Your first fortress&amp;quot; tutorial.  The amounts are adjustable with the variables at the top of the macro.&lt;br /&gt;
&amp;lt;pre&amp;gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
; materialplanner.ahk					  	;&lt;br /&gt;
; this is a ahk script to set up the embark settings roughly as	;&lt;br /&gt;
;suggested in the &amp;quot;your first fortress&amp;quot; tutorial.  Inventory	;&lt;br /&gt;
;can be customized slightly.					;&lt;br /&gt;
; use ctrl+shift+e to run				  	;&lt;br /&gt;
;							  	;&lt;br /&gt;
; NOTEs:						  	;&lt;br /&gt;
; change variables to suit your desires			 	;&lt;br /&gt;
; the fourth guy is a Stonecrafter instead of Herbalist		;&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;&lt;br /&gt;
;;VARIABLES;;&lt;br /&gt;
;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
PICKS = 2	;number of picks to pack&lt;br /&gt;
AXES = 1 	;number of axes to pack&lt;br /&gt;
ANVILS = 0	;number of anvils to pack&lt;br /&gt;
MEATS = 7	;how much meat to take, each buys one of each cheap type (total number depends on locale)&lt;br /&gt;
DRINKS = 26	;how many drinks to take, each one buys 4 drinks, one of each type&lt;br /&gt;
SEEDS = 5	;each increment buys 5 plump helmet spawn, 2 pig tail, and 2 rock nuts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SetKeyDelay, 12	;Key delay, to keep Dwarf Fortress from being overwhelmed.&lt;br /&gt;
		:Set higher if you get weird results, or lower to get the&lt;br /&gt;
		:script to run faster&lt;br /&gt;
SLEEPTIME = 12	;same thing, only used in the repeated key press loops though&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;&lt;br /&gt;
;;The code;;&lt;br /&gt;
;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
^+e::&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;remove all of the items&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
loop 105{&lt;br /&gt;
	Send {NumpadSub}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
			;place the skills&lt;br /&gt;
			;first guy&lt;br /&gt;
			;Proficient Miner&lt;br /&gt;
Send {right}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;novice appraiser&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 7{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
			;novice Judge of Intent&lt;br /&gt;
Send {Up}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
			;competent gem setter&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 7{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 3{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;second guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
			;Proficient Miner&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Mason&lt;br /&gt;
loop 3{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;third guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Carpenter&lt;br /&gt;
Send {UP}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Wood Cutter&lt;br /&gt;
Send {UP}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;fourth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Grower&lt;br /&gt;
Send {PgDn}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Down}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Stone Crafter&lt;br /&gt;
loop 9{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;fifth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Mechanic&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Building Designer&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;sixth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Weaponsmith&lt;br /&gt;
loop 1{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Armorsmith&lt;br /&gt;
loop 2{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;seventh guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Cook&lt;br /&gt;
Send {PgDn}&lt;br /&gt;
loop 2{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Brewer&lt;br /&gt;
loop 1{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
			;do the inventory&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
			;Meat&lt;br /&gt;
&lt;br /&gt;
if MEATS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
tmp := MEATS - 1&lt;br /&gt;
send ndonkey{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nchimpanzee{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngazelle{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nbonobo{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmule{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ndeer{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nraccoon{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nfox{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nrhesus{SPACE}macaque{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nhorse{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngroundhog{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmountain{SPACE}goat{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nhoary{SPACE}marmot{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngorilla{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send norangutan{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nsiamang{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nbilou{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send npileated{SPACE}gibbon{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmandrill{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nturtle{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;copper picks&lt;br /&gt;
if PICKS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}copper picks{Right}{Enter}&lt;br /&gt;
tmp := PICKS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Axes&lt;br /&gt;
if AXES &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}steel axes{Right}{Enter}&lt;br /&gt;
tmp := AXES - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Seeds&lt;br /&gt;
if SEEDS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
send {n}Rock nuts{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
send {n}plump helmet spawn{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
send {n}Pig tail Seeds{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
&lt;br /&gt;
tmp := SEEDS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
			;Anvils&lt;br /&gt;
if ANVILS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}iron anvils{Right}{Enter}&lt;br /&gt;
tmp := ANVILS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Drinks&lt;br /&gt;
if DRINKS &amp;gt; 0{&lt;br /&gt;
send {n}Dwarven ale{Right}{Enter}&lt;br /&gt;
send {n}Dwarven beer{Right}{Enter}&lt;br /&gt;
send {n}Dwarven wine{Right}{Enter}&lt;br /&gt;
send {n}Dwarven rum{Right}{Enter}&lt;br /&gt;
&lt;br /&gt;
tmp := DRINKS - 1&lt;br /&gt;
loop 4{&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A more modular approach===&lt;br /&gt;
Hit WIN+G to go once you are on the empty item screen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#g::&lt;br /&gt;
;add an anvil&lt;br /&gt;
Additem(&amp;quot;iron anvils&amp;quot;,1)&lt;br /&gt;
;add 31 of the boozes (kind of iffy might end up with dwarven cheese or something if the civilization does not have 4 boozes)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
;adds copper nuggets &lt;br /&gt;
Additem(&amp;quot;copper n&amp;quot;,5)&lt;br /&gt;
;adds cassiterite&lt;br /&gt;
Additem(&amp;quot;cass&amp;quot;,5)&lt;br /&gt;
;bitumous coal&lt;br /&gt;
Additem(&amp;quot;coal&amp;quot;,5)&lt;br /&gt;
;tower cap logs&lt;br /&gt;
Additem(&amp;quot;logs&amp;quot;,11)&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
IsCurrentItemThere()&lt;br /&gt;
{&lt;br /&gt;
	;color of text in the new item screen 0xFFFF00(selected) or 0x808000 (unselected)&lt;br /&gt;
	;location of text in the new item screen 305, 150&lt;br /&gt;
	PixelSearch, , , 305, 150, 315, 160, 0x808000, 3,&lt;br /&gt;
	return !ErrorLevel&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AddItem(name,amount)&lt;br /&gt;
{&lt;br /&gt;
	Sleep 100&lt;br /&gt;
	amount -= 1&lt;br /&gt;
	SetKeyDelay 150&lt;br /&gt;
	SendInput n&lt;br /&gt;
	SendInput %name%&lt;br /&gt;
	;MsgBox Name Check&lt;br /&gt;
	Sleep 200&lt;br /&gt;
	if IsCurrentItemThere() &lt;br /&gt;
	{&lt;br /&gt;
		Sleep 200&lt;br /&gt;
		SendInput {Right}&lt;br /&gt;
		SendInput {Enter}&lt;br /&gt;
		Sleep 200&lt;br /&gt;
		Loop&lt;br /&gt;
		{&lt;br /&gt;
			if amount &amp;lt;= 0 &lt;br /&gt;
			{&lt;br /&gt;
				break&lt;br /&gt;
			}&lt;br /&gt;
			SendInput {NumpadAdd}&lt;br /&gt;
			Sleep 10&lt;br /&gt;
			amount --&lt;br /&gt;
		}&lt;br /&gt;
		;MsgBox Done&lt;br /&gt;
	}&lt;br /&gt;
	else &lt;br /&gt;
	{&lt;br /&gt;
		SendInput {F9}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Bed Assigning macro===&lt;br /&gt;
This will assign bedrooms to your dwarfs. Press F3 followed by a single digit indicating how many beds to assign. Can repeat the action, as the number of beds assigned is stored in a counter. Room size is default, but easily edited into the script. By [[User:Napsterbater|Napsterbater]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bedcounter = 0&lt;br /&gt;
F3::&lt;br /&gt;
  Input, counter, L1&lt;br /&gt;
  SetKeyDelay, 100&lt;br /&gt;
  loop  %counter% {&lt;br /&gt;
    loop %bedcounter%&lt;br /&gt;
      send {Down}&lt;br /&gt;
    loop % A_Index - 1&lt;br /&gt;
      send {Down}&lt;br /&gt;
    send {q}{r}{Enter}{a}&lt;br /&gt;
    loop %bedcounter%&lt;br /&gt;
      send {NumPadAdd}&lt;br /&gt;
    loop % A_Index - 1&lt;br /&gt;
      send {NumPadAdd}&lt;br /&gt;
    send {NumPadAdd}{Enter}&lt;br /&gt;
    send {space}{r}&lt;br /&gt;
  }&lt;br /&gt;
  bedcounter += counter&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Room-designation macros===&lt;br /&gt;
&lt;br /&gt;
====Valdemar's Designator Macro====&lt;br /&gt;
This macro can read a spreadsheet and designate rooms according to it. [http://www.bay12games.com/forum/index.php?topic=1428.0 Version 1]&lt;br /&gt;
&lt;br /&gt;
Version 2 of this macro apparently only works in versions up to and including 38c &amp;lt;sup&amp;gt;[[verify]]&amp;lt;/sup&amp;gt;, and can be found here: [http://www.bay12games.com/forum/index.php?topic=1890.0 Version 2]&lt;br /&gt;
&lt;br /&gt;
====Fedor's chambered circle====&lt;br /&gt;
A circular room with eight equal-sized chambers, suitable for everything from housing to workshops to a mausoleum.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://mkv25.net/dfma/movie-216-room-designationmacro01 See this macro in action]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Macros_and_Keymaps_Examples#Room-designation Macro 01|Macro text]]&lt;br /&gt;
&lt;br /&gt;
====Valdemar's bedroom complex====&lt;br /&gt;
A large fractal bedroom/dining complex, with 56 bedrooms and room for 24 tables.&lt;br /&gt;
&lt;br /&gt;
You can press Alt-B to create a bedroom block, or Alt-C to create a full complex with 4 bedroom blocks and a dining block in the center.&lt;br /&gt;
&lt;br /&gt;
Note - the macro is much faster than the demo movie shows, it is done in under a minute.&lt;br /&gt;
&lt;br /&gt;
[http://mkv25.net/dfma/movie-252 Demo Movie]&lt;br /&gt;
&lt;br /&gt;
[http://www.pindi.us/files/fractalbr.zip Download]&lt;br /&gt;
&lt;br /&gt;
====Tulip's room macros====&lt;br /&gt;
Based on [[Bedroom_design|the bedroom designs.]]&lt;br /&gt;
&lt;br /&gt;
^g means alt+g, !g means ctrl+g, and so on.&lt;br /&gt;
Open up the designations window before using these:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; This will make a basic 'x' pattern workshop/room layout&lt;br /&gt;
; and will 'land' back on the same tile it starts on each time,&lt;br /&gt;
; which happens to be the center.&lt;br /&gt;
; It is modified so that you will have 3 staircases, and an extra tile&lt;br /&gt;
; because many workshops do not have corner access.&lt;br /&gt;
!r::&lt;br /&gt;
Send di2{enter}88{enter}4d{enter}4{enter}67{enter}77{enter}66666666&lt;br /&gt;
Send {enter}11{enter}1{enter}6{enter}114{enter}4{enter}2{enter}11{enter}&lt;br /&gt;
Send 66666666{enter}77{enter}7{enter}6{enter}74&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes GnomeChomsky's Tessellated Apartments, bedrooms only.&lt;br /&gt;
; Your cursor will be over the left staircase.&lt;br /&gt;
!g::&lt;br /&gt;
Send i999866{enter}{enter}33332{enter}{enter}11114{enter}{enter}&lt;br /&gt;
Send d3{enter}22{enter}4{enter}{enter}&lt;br /&gt;
Send 78{enter}44{enter}8{enter}{enter}&lt;br /&gt;
Send 96{enter}88{enter}6{enter}{enter}	&lt;br /&gt;
Send 32{enter}66{enter}2{enter}{enter}&lt;br /&gt;
Send 96{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 96{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 1444{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 88{enter}88{enter}6{enter}{enter}&lt;br /&gt;
Send 78{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 66{enter}22{enter}4{enter}{enter}&lt;br /&gt;
Send 14{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 32{enter}{enter}6{enter}88{enter}7i{enter}{enter}&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes GnomeChomsky's Tessellated Apartments, bedrooms plus dining.&lt;br /&gt;
; Everything above applies.&lt;br /&gt;
^g::&lt;br /&gt;
Send i{enter}{enter}999866{enter}{enter}33332{enter}{enter}11114{enter}{enter}d&lt;br /&gt;
Send 444{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 32{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 9966{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 96{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 7788{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 1144{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 36{enter}8886666666{enter}&lt;br /&gt;
Send 9{enter}4444444{enter}&lt;br /&gt;
Send 8{enter}6666{enter}744{enter}{enter}&lt;br /&gt;
Send 222222441{enter}6666666{enter}&lt;br /&gt;
Send {enter}22{enter}8{enter}4444{enter}&lt;br /&gt;
Send 7778&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; This makes THLawrence's Living Pods (the A is for Arabia).&lt;br /&gt;
; Put your cursor where you want the upper left staircase to be.&lt;br /&gt;
; Like my other scripts, it recenters on that tile.&lt;br /&gt;
; Also, thank you THLawrence, this one was really easy write!&lt;br /&gt;
!a::&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 96666666&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 33222&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 7444&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 9988888&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes the lobby for THLawrence's Living pods.&lt;br /&gt;
^a::&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}66{enter}9{enter}66{enter}3{enter}41i{enter}{enter}&lt;br /&gt;
Send 36d{enter}1444444{enter}&lt;br /&gt;
Send 74{enter}1{enter}22{enter}3{enter}3i{enter}{enter}d1{enter}1{enter}666{enter}9{enter}&lt;br /&gt;
Send 66{enter}3{enter}66{enter}9{enter}88{enter}7{enter}74{enter}1144{enter}&lt;br /&gt;
Send 36666i{enter}{enter}777777&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LordGrunt's room macro====&lt;br /&gt;
Based on 1 of the fractal [[Bedroom_design| bedroom designs.]]&lt;br /&gt;
&lt;br /&gt;
[http://mkv25.net/dfma/movie-1226-fractalbedrooms Demo Movie]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Fractal Apts&lt;br /&gt;
; Start script while in 'dig' mode with cursor on desired position of left up staircase&lt;br /&gt;
;&lt;br /&gt;
; ALT+G to generate,&lt;br /&gt;
; CTRL+ALT+G to erase in case of failure&lt;br /&gt;
;&lt;br /&gt;
     &lt;br /&gt;
!g::&lt;br /&gt;
base_cross()&lt;br /&gt;
sleep 100&lt;br /&gt;
mid_sqr()&lt;br /&gt;
sleep 100&lt;br /&gt;
corridors()&lt;br /&gt;
sleep 100&lt;br /&gt;
all_rooms()&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
base_cross()&lt;br /&gt;
{&lt;br /&gt;
Send i{ENTER}3{ENTER}&lt;br /&gt;
Send d1{ENTER}6{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+28{ENTER}&lt;br /&gt;
Send d{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+888{ENTER}4{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+82{ENTER}&lt;br /&gt;
Send d{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+24{ENTER}2{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+46{ENTER}&lt;br /&gt;
Send d{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+666{ENTER}8{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+64{ENTER}&lt;br /&gt;
Send d{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4474{SHIFT}+8{SHIFT}+888888{ENTER}66666{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+2222{ENTER}8&lt;br /&gt;
Send d{SHIFT}+8{SHIFT}+88884488888{SHIFT}+6{SHIFT}+6666666{ENTER}22222{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4444{ENTER}6&lt;br /&gt;
}&lt;br /&gt;
mid_sqr()&lt;br /&gt;
{&lt;br /&gt;
Send d{SHIFT}+3666&lt;br /&gt;
send d{ENTER}{SHIFT}+9{SHIFT}+999999{ENTER}1{ENTER}9999{ENTER}9{ENTER}111{ENTER}&lt;br /&gt;
send d{SHIFT}+1{SHIFT}+1{SHIFT}+1{ENTER}999{ENTER}99{ENTER}1111{ENTER}99&lt;br /&gt;
send d{SHIFT}+8{SHIFT}+8{SHIFT}+8444{ENTER}333{ENTER}33{ENTER}7777{ENTER}&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+37{ENTER}333{ENTER}7{ENTER}7777{ENTER}&lt;br /&gt;
}&lt;br /&gt;
corridors()&lt;br /&gt;
{&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+7999{ENTER}{SHIFT}+6{SHIFT}+6{SHIFT}+66{ENTER}&lt;br /&gt;
send d333333{ENTER}{SHIFT}+2{SHIFT}+2{SHIFT}+22{ENTER}&lt;br /&gt;
send d111111{ENTER}{SHIFT}+4{SHIFT}+4{SHIFT}+44{ENTER}&lt;br /&gt;
send d777777{ENTER}{SHIFT}+8{SHIFT}+8{SHIFT}+88{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d3333222{ENTER}{SHIFT}+466{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888{ENTER}{SHIFT}+644{ENTER}&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+6{SHIFT}+6333&lt;br /&gt;
send d{ENTER}{SHIFT}+466{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888{ENTER}{SHIFT}+644{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+1966&lt;br /&gt;
send d{ENTER}{SHIFT}+288{ENTER}&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666{ENTER}{SHIFT}+822{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+8{SHIFT}+8777&lt;br /&gt;
send d{ENTER}{SHIFT}+288{ENTER}&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666{ENTER}{SHIFT}+822{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d999988{ENTER}{SHIFT}+64{ENTER}&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+3777{ENTER}{SHIFT}+28{ENTER}&lt;br /&gt;
send d{SHIFT}+1{SHIFT}+1{SHIFT}+1999{ENTER}{SHIFT}+46{ENTER}&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+7333{ENTER}{SHIFT}+82{ENTER}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rooms_up()&lt;br /&gt;
{&lt;br /&gt;
send d78{ENTER}96{ENTER}&lt;br /&gt;
send d223{ENTER}32{ENTER}&lt;br /&gt;
send d44444{ENTER}87{ENTER}&lt;br /&gt;
send d63{ENTER}{ENTER}98{ENTER}{ENTER}23{ENTER}{ENTER}7&lt;br /&gt;
}&lt;br /&gt;
rooms_down()&lt;br /&gt;
{&lt;br /&gt;
send d32{ENTER}14{ENTER}&lt;br /&gt;
send d887{ENTER}78{ENTER}&lt;br /&gt;
send d66666{ENTER}32{ENTER}&lt;br /&gt;
send d74{ENTER}{ENTER}21{ENTER}{ENTER}78{ENTER}{ENTER}3&lt;br /&gt;
}&lt;br /&gt;
rooms_left()&lt;br /&gt;
{&lt;br /&gt;
send d14{ENTER}87{ENTER}&lt;br /&gt;
send d996{ENTER}63{ENTER}&lt;br /&gt;
send d2222{ENTER}41{ENTER}&lt;br /&gt;
send d98{ENTER}{ENTER}47{ENTER}{ENTER}96{ENTER}{ENTER}1&lt;br /&gt;
}&lt;br /&gt;
rooms_right()&lt;br /&gt;
{&lt;br /&gt;
send d96{ENTER}32{ENTER}&lt;br /&gt;
send d114{ENTER}47{ENTER}&lt;br /&gt;
send d8888{ENTER}96{ENTER}&lt;br /&gt;
send d21{ENTER}{ENTER}63{ENTER}{ENTER}14{ENTER}{ENTER}9&lt;br /&gt;
}&lt;br /&gt;
;======= WIDE&lt;br /&gt;
rooms_upw()&lt;br /&gt;
{&lt;br /&gt;
send d78{ENTER}966{ENTER}&lt;br /&gt;
send d223{ENTER}32{ENTER}&lt;br /&gt;
send d444444{ENTER}87{ENTER}&lt;br /&gt;
send d63{ENTER}{ENTER}98{ENTER}6{ENTER}23{ENTER}{ENTER}74&lt;br /&gt;
}&lt;br /&gt;
rooms_downw()&lt;br /&gt;
{&lt;br /&gt;
send d32{ENTER}144{ENTER}&lt;br /&gt;
send d887{ENTER}78{ENTER}&lt;br /&gt;
send d666666{ENTER}32{ENTER}&lt;br /&gt;
send d74{ENTER}{ENTER}21{ENTER}4{ENTER}78{ENTER}{ENTER}36&lt;br /&gt;
}&lt;br /&gt;
rooms_leftw()&lt;br /&gt;
{&lt;br /&gt;
send d14{ENTER}887{ENTER}&lt;br /&gt;
send d996{ENTER}63{ENTER}&lt;br /&gt;
send d22222{ENTER}41{ENTER}&lt;br /&gt;
send d98{ENTER}{ENTER}47{ENTER}8{ENTER}96{ENTER}{ENTER}12&lt;br /&gt;
}&lt;br /&gt;
rooms_rightw()&lt;br /&gt;
{&lt;br /&gt;
send d96{ENTER}322{ENTER}&lt;br /&gt;
send d114{ENTER}47{ENTER}&lt;br /&gt;
send d88888{ENTER}96{ENTER}&lt;br /&gt;
send d21{ENTER}{ENTER}63{ENTER}2{ENTER}14{ENTER}{ENTER}98&lt;br /&gt;
}&lt;br /&gt;
;============&lt;br /&gt;
rooms3up()&lt;br /&gt;
{&lt;br /&gt;
send d8888888&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d1111222&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d66666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d4444&lt;br /&gt;
}&lt;br /&gt;
rooms3down()&lt;br /&gt;
{&lt;br /&gt;
send d2222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d7777888&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d66666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d4444&lt;br /&gt;
}&lt;br /&gt;
rooms3left()&lt;br /&gt;
{&lt;br /&gt;
send d4444444&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d9999666&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d22222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d8888&lt;br /&gt;
}&lt;br /&gt;
rooms3right()&lt;br /&gt;
{&lt;br /&gt;
send d6666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d22222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d8888&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
;==========&lt;br /&gt;
all_rooms()&lt;br /&gt;
{&lt;br /&gt;
;left wide:&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d222222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_leftw()&lt;br /&gt;
;bottom wide:&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+3{SHIFT}+378&lt;br /&gt;
rooms_downw()&lt;br /&gt;
send d9999888&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d444444444&lt;br /&gt;
rooms_left()&lt;br /&gt;
;right wide:&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+999{SHIFT}+66&lt;br /&gt;
rooms_rightw()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d222222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
;top wide&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+777{SHIFT}+88&lt;br /&gt;
rooms_upw()&lt;br /&gt;
send d1111222&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d666666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
;remainin 9-room chambers&lt;br /&gt;
send d{SHIFT}+26666&lt;br /&gt;
rooms3right()&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666&lt;br /&gt;
rooms3left()&lt;br /&gt;
send d{SHIFT}+1111&lt;br /&gt;
rooms3up()&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888&lt;br /&gt;
rooms3down()&lt;br /&gt;
send d{SHIFT}+3333&lt;br /&gt;
rooms3left()&lt;br /&gt;
send d{SHIFT}+6{SHIFT}+6444&lt;br /&gt;
rooms3right()&lt;br /&gt;
send d{SHIFT}+9999&lt;br /&gt;
rooms3down()&lt;br /&gt;
send d{SHIFT}+8{SHIFT}+8222&lt;br /&gt;
rooms3up()&lt;br /&gt;
;send d{SHIFT}+7777&lt;br /&gt;
;rooms3right()&lt;br /&gt;
;send d{SHIFT}+2{SHIFT}+4666&lt;br /&gt;
;rooms3left()&lt;br /&gt;
send d1111144499{ENTER}{SHIFT}+1{SHIFT}+4{SHIFT}+41{ENTER}&lt;br /&gt;
send d77444444444{ENTER}8888888{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+6666{ENTER}&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+487{ENTER}{SHIFT}+1{SHIFT}+2{SHIFT}+21{ENTER}&lt;br /&gt;
send d33222222222{ENTER}6666666{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+8888{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2221111&lt;br /&gt;
send i{ENTER}3{ENTER}7&lt;br /&gt;
deco()&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
deco()&lt;br /&gt;
{&lt;br /&gt;
send x77774{ENTER}{ENTER}9{ENTER}{ENTER}6669{ENTER}6{ENTER}3666{ENTER}{ENTER}3{ENTER}{ENTER}&lt;br /&gt;
send x2223{ENTER}2{ENTER}1222{ENTER}{ENTER}1{ENTER}{ENTER}1444{ENTER}4{ENTER}4447&lt;br /&gt;
send x{ENTER}{ENTER}7{ENTER}{ENTER}7888{ENTER}8{ENTER}666666&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
; CTRL+ALT+G to erase all&lt;br /&gt;
!^g::&lt;br /&gt;
send x{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{ENTER}{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{ENTER}{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Easy Exploration Mining in 2 steps===&lt;br /&gt;
This macro will make a 5 row, 11 column UP/DOWN stairway grid (2 empty spaces between each row/column).&amp;lt;br&amp;gt;&lt;br /&gt;
Starting point as indicated (row 3, column 11)&amp;lt;br&amp;gt;&lt;br /&gt;
'''MUST BE IN DESIGNATION MODE WITH CURSOR AT THE ''&amp;lt;-- START HERE'' LOCATION'''&amp;lt;br&amp;gt;&lt;br /&gt;
Link is &amp;lt;ctrl&amp;gt; &amp;lt;windowskey&amp;gt; `&amp;lt;br&amp;gt;&lt;br /&gt;
Dive is &amp;lt;ctrl&amp;gt; &amp;lt;alt&amp;gt; `&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Link&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X &amp;lt;-- start here&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Filename is ExploreMine-Link.ahk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Link&lt;br /&gt;
^#`::&lt;br /&gt;
&lt;br /&gt;
send d&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(12,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(9,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(15,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(12,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(15,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send i&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tehLoop(tehTimes,tehDir)&lt;br /&gt;
{&lt;br /&gt;
	loop&lt;br /&gt;
	{&lt;br /&gt;
		if tehTimes &amp;lt;= 0&lt;br /&gt;
		{&lt;br /&gt;
			break&lt;br /&gt;
		}&lt;br /&gt;
		send %tehDir%&lt;br /&gt;
		tehTimes--&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
tehOtherLoop(tehOtherDir)&lt;br /&gt;
{&lt;br /&gt;
	loop 4&lt;br /&gt;
	{		&lt;br /&gt;
		tehLoop(3,tehOtherDir)		&lt;br /&gt;
		send {Enter}{Enter}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dive&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X &amp;lt;-- start here&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Filename is ExploreMine-Dive.ahk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Dive&lt;br /&gt;
^!`::&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send i&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tehLoop(tehTimes,tehDir)&lt;br /&gt;
{&lt;br /&gt;
	loop&lt;br /&gt;
	{&lt;br /&gt;
		if tehTimes &amp;lt;= 0&lt;br /&gt;
		{&lt;br /&gt;
			break&lt;br /&gt;
		}&lt;br /&gt;
		send %tehDir%&lt;br /&gt;
		tehTimes--&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
tehOtherLoop(tehOtherDir)&lt;br /&gt;
{&lt;br /&gt;
	loop 4&lt;br /&gt;
	{		&lt;br /&gt;
		tehLoop(3,tehOtherDir)		&lt;br /&gt;
		send {Enter}{Enter}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fancy Exploration Mining===&lt;br /&gt;
This script digs a connected series of mine shafts, as in [[Mineshaft Stitching]]. Start this script in the upper-left corner of the area you want to explore. Set the spacing to a value greater than 1 if you want to look for large clusters. Note that this pattern creates a very long walkway back to the start of the mineshafts. If you do not excavate routinely, consider connecting the top-level paths of areas you have already explored.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Interface Enhancement Scripts===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The MOUSE control====&lt;br /&gt;
For unrivaled mouse control in DF try [http://www.dwarffortresswiki.net/index.php/User:Digger this DF Mouse script]&lt;br /&gt;
&lt;br /&gt;
====Tile Counter or Scrolling Accelerator====&lt;br /&gt;
Lack of reference plus slow scroll speed make planning digging area frustrating,so here is the script that shows coordinate and speed scrolling up.&lt;br /&gt;
[http://www.dwarffortresswiki.net/index.php/User:Daedalusai ShowXY]&lt;br /&gt;
&lt;br /&gt;
===4-Pour Water Creation script===&lt;br /&gt;
For Automating creation of water using Gibbeds Tweak.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
;	4-pour.ahk&lt;br /&gt;
;	Dwarf fortress water creation script.&lt;br /&gt;
;&lt;br /&gt;
;Use this script in conjunction with Gibbeds Dwarf Fortress Tweak to create endless amounts of water.;&lt;br /&gt;
;&lt;br /&gt;
;Directions&lt;br /&gt;
;&lt;br /&gt;
;1. Have DF running and position the screen such that when you press &amp;quot;K&amp;quot; the X will appear where you &lt;br /&gt;
&lt;br /&gt;
;want the water to appear.&lt;br /&gt;
;2. Have Gbbed's Dwarf Fortress tweak running in the background (with the proper process selected)&lt;br /&gt;
;3. run the 4-pour script&lt;br /&gt;
;4. press alt-p to get Pouring&lt;br /&gt;
;&lt;br /&gt;
;The script will then begin a cycle that moves the cursor around in a little 2x2 square editing each &lt;br /&gt;
&lt;br /&gt;
;tile to have 7/7 of water, it then pauses for a half a seond to let the water flow a bit, and repeats. &lt;br /&gt;
&lt;br /&gt;
;It does this until you..&lt;br /&gt;
;&lt;br /&gt;
;5. press and hold &amp;lt;shift&amp;gt; to stop&lt;br /&gt;
;&lt;br /&gt;
;As always, save before you experiment with this&lt;br /&gt;
;I hold no responsibility for what this script ends up doing to your dwarves/fortress/computer/carpet&lt;br /&gt;
;Feel free to clean it up, make it more usable, whatever&lt;br /&gt;
;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.&lt;br /&gt;
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.&lt;br /&gt;
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.&lt;br /&gt;
&lt;br /&gt;
!p::&lt;br /&gt;
loop &lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
GetKeyState, state, Shift&lt;br /&gt;
if state = D&lt;br /&gt;
    Break&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IfWinActive Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
send k&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadRight}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadDown}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadLeft}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadUp}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
send {space}&lt;br /&gt;
sleep 800&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tesselated Apartments Builder===&lt;br /&gt;
&lt;br /&gt;
This one is another tesselated apartments script, with some larger areas added. Credit for layout to GnomeChomsky.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; TessApts.ahk&lt;br /&gt;
; Start script while in 'dig' mode with cursor on desired position of leftmost staircase&lt;br /&gt;
;&lt;br /&gt;
; CTRL+G       : Central room, 8 apartments (necessary on at least one z-level)&lt;br /&gt;
; ALT+G        : No central room, 16 apartments&lt;br /&gt;
; CTRL+ALT+G   : Four &amp;quot;central room&amp;quot; layouts connected in center (28 apartments)&lt;br /&gt;
; CTRL+SHIFT+G : Four &amp;quot;16 apartment&amp;quot; layouts, unconnected in center&lt;br /&gt;
;&lt;br /&gt;
!g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}114444444&lt;br /&gt;
return&lt;br /&gt;
^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}&lt;br /&gt;
return&lt;br /&gt;
!^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}88899999999&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}3333332&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}111114444444&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}&lt;br /&gt;
Send 9988888888{ENTER}999{ENTER}+444444&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
+^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}888889&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+221&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+1+46&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+71144444&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Game_Interface FAQ}}&lt;br /&gt;
[[Category:ahk scripts]]&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Macros_and_keymaps&amp;diff=31782</id>
		<title>40d:Macros and keymaps</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Macros_and_keymaps&amp;diff=31782"/>
		<updated>2009-04-03T17:26:29Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: /* Easy Exploration Mining in 2 steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Playing Dwarf Fortress means lots of typing.  Although the game (as of version v0.27.176.38c) has no internal macro/keymap system, using an external program can save you a great deal of time when dumping, rewalling, designating, and so forth.&lt;br /&gt;
&lt;br /&gt;
#  Go to [[Utilities#AutoHotKey]] and download AutoHotKey.  Installation is simple and the program uses few system resources.&lt;br /&gt;
#  Write macro scripts (file type .ahk), which may contain any number of commands.  You activate scripts by double-clicking .ahk files and deactivate them by right-clicking the AutoHotKey icon on the task bar.  Both of these can be done at any time - even right in the middle of a game.  AutoHotKey also allows for automated activation of scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting Scripts==&lt;br /&gt;
Users may experience some issues in getting scripts to work, particularly when using looping scripts when experiencing low frame-rates.&lt;br /&gt;
* If experiencing low frame-rates, try adding delays (&amp;quot;Sleep 100&amp;quot; to pause for 100 milliseconds for example) within loops to allow the interface to keep up. If there are nested loops, sometimes adding a pause at the end of an inner loop is all that is needed to flush the keyboard buffer&lt;br /&gt;
* Make sure that Dwarf Fortress maintains focus. IM windows are the enemy! Who needs friends anyhow? You've got Dwarf Fortress.&lt;br /&gt;
* This may go without saying, but most macros assume standard key-mappings. If you're using non-standard ones, you may have to edit the macro to get it to work.&lt;br /&gt;
* Visiting liaisons can bring up screens that eat keystrokes, throwing a long-looping script out-of-phase with where it expects the game to be.  Wait for the farewell screen before running a long script.&lt;br /&gt;
* The &amp;lt;B&amp;gt;SendPlay&amp;lt;/B&amp;gt; function supports keys that the &amp;lt;B&amp;gt;Send&amp;lt;/B&amp;gt; function does not, for example {{key|Shift-Enter}}.  According to the AutoHotKey documentation, &amp;lt;B&amp;gt;SendPlay&amp;lt;/B&amp;gt; may also be better at preventing dropped keystrokes.&lt;br /&gt;
&lt;br /&gt;
== AutoHotKey Examples ==&lt;br /&gt;
&lt;br /&gt;
===Dumping===&lt;br /&gt;
====Stock Screen Dump====&lt;br /&gt;
Taken from an old version of [[User:Jackard|Jackard's user page]].&lt;br /&gt;
&lt;br /&gt;
To use, first have your bookeeper do enough desk work so you can view individual items in the stocks listing.  Then bring it up and press del to quickly mark stuff.  To adjust the key repeat rate, edit the KEY_HOLD_MS value in \data\init\init.txt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
del::&lt;br /&gt;
IfWinActive Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
  send d{down}&lt;br /&gt;
  return&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
  send {del}&lt;br /&gt;
  return&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Designation Dump====&lt;br /&gt;
A dumping script by [[User:Dukederek|Dukederek]]:&lt;br /&gt;
&lt;br /&gt;
This script uses a system similar the commands in the designations menu to mark most of the contents of a large area for dumping. [[User:Dukederek|My talk page]] has more detailed instruction.&lt;br /&gt;
&lt;br /&gt;
Essentially you need to create two text files with the following titles and content. When playing DF it is safe to have blockdumpinit running constantly as long as you dont plan on using the ctrl-d combination for something else.&lt;br /&gt;
&lt;br /&gt;
'''blockdumpinit.ahk'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^d::&lt;br /&gt;
RunWait, &amp;quot;blockdumpmain.ahk&amp;quot;&lt;br /&gt;
Return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''blockdumpmain.ahk'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SetKeyDelay 25&lt;br /&gt;
return::&lt;br /&gt;
Send k&lt;br /&gt;
return&lt;br /&gt;
up::&lt;br /&gt;
Send w&lt;br /&gt;
return&lt;br /&gt;
left::&lt;br /&gt;
Send a&lt;br /&gt;
return&lt;br /&gt;
down::&lt;br /&gt;
Send s&lt;br /&gt;
return&lt;br /&gt;
right::&lt;br /&gt;
Send d&lt;br /&gt;
return&lt;br /&gt;
q::&lt;br /&gt;
ExitApp&lt;br /&gt;
return&lt;br /&gt;
shift::&lt;br /&gt;
x := 0&lt;br /&gt;
y := 1&lt;br /&gt;
Loop{&lt;br /&gt;
Input, keypress, B, {esc} , w,a,s,d,k,q&lt;br /&gt;
if keypress = w&lt;br /&gt;
{&lt;br /&gt;
y := --y&lt;br /&gt;
Send {up}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = s&lt;br /&gt;
{&lt;br /&gt;
y := ++y&lt;br /&gt;
Send {down}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = a&lt;br /&gt;
{&lt;br /&gt;
x := --x&lt;br /&gt;
Send {left}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = d&lt;br /&gt;
{&lt;br /&gt;
x := ++x&lt;br /&gt;
Send {right}&lt;br /&gt;
continue&lt;br /&gt;
}else if keypress = k &lt;br /&gt;
{&lt;br /&gt;
break&lt;br /&gt;
}else if keypress = q&lt;br /&gt;
{&lt;br /&gt;
ExitApp&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
y := y / 2&lt;br /&gt;
z := y&lt;br /&gt;
z := Floor(z)&lt;br /&gt;
z := y/z&lt;br /&gt;
Send d{NumpadAdd}d&lt;br /&gt;
If z = 0&lt;br /&gt;
{	&lt;br /&gt;
If x = 0&lt;br /&gt;
ExitApp&lt;br /&gt;
Else{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d&lt;br /&gt;
}ExitApp&lt;br /&gt;
}&lt;br /&gt;
}If z &amp;lt;&amp;gt; 1&lt;br /&gt;
{&lt;br /&gt;
Loop %y%{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {right}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d{NumpadAdd}d&lt;br /&gt;
}Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}&lt;br /&gt;
}Else If z = 1&lt;br /&gt;
{&lt;br /&gt;
y := y + 0.5&lt;br /&gt;
Loop %y%{&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {left}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d&lt;br /&gt;
Loop %x%{&lt;br /&gt;
Send {right}d{NumpadAdd}d&lt;br /&gt;
}Send {up}d{NumpadAdd}d&lt;br /&gt;
}Send d{NumpadSub}d&lt;br /&gt;
}ExitApp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Rewalling ===&lt;br /&gt;
Taken from [[User:Valdemar|Valdemar's user page]].&lt;br /&gt;
&lt;br /&gt;
This is a macro to aid with rewalling. To use, copy-paste the script into a new .ahk file and run the script with AutoHotkey. Then, in Dwarf Fortress, press b-C-w, move the cursor to where you want to start the wall, and hold Ctrl-Shift-Arrowkey, using the direction you want to rewall in. To build floors, press b-C-f instead, and use Ctrl-Alt-Arrowkey. To stop, just release the keys.&lt;br /&gt;
&lt;br /&gt;
The script will use the first material in the list. I suggest you create a stockpile near the construction site that only accepts the item you wish to build with and temporarily forbid any nearby materials you don't want to build with. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$^+Left:: ProcessEvent(&amp;quot;Left&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Right:: ProcessEvent(&amp;quot;Right&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Up:: ProcessEvent(&amp;quot;Up&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
$^+Down:: ProcessEvent(&amp;quot;Down&amp;quot;,&amp;quot;w&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
$^!Left:: ProcessEvent(&amp;quot;Left&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Right:: ProcessEvent(&amp;quot;Right&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Up:: ProcessEvent(&amp;quot;Up&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
$^!Down:: ProcessEvent(&amp;quot;Down&amp;quot;,&amp;quot;f&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ProcessEvent(direction, type)&lt;br /&gt;
{   &lt;br /&gt;
    Send {Enter}&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send {Enter}&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send %type%&lt;br /&gt;
    Sleep 100&lt;br /&gt;
    Send {%direction%}&lt;br /&gt;
    Loop&lt;br /&gt;
    {&lt;br /&gt;
        if not GetKeyState(direction, &amp;quot;P&amp;quot;) &lt;br /&gt;
            break  &lt;br /&gt;
        Send {Enter}&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send {Enter}&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send %type%&lt;br /&gt;
        Sleep 100&lt;br /&gt;
        Send {%direction%}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Grid-by-grid designation===&lt;br /&gt;
For easier diagonal and fancy mining.  Assumes that DF is active.  &amp;quot;^!&amp;quot; means ctrl-alt-direction.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^!NumpadEnd::&lt;br /&gt;
send {Enter}{Enter}{NumpadEnd}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadDown::&lt;br /&gt;
send {Enter}{Enter}{NumpadDown}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadPgDn::&lt;br /&gt;
send {Enter}{Enter}{NumpadPgDn}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadLeft::&lt;br /&gt;
send {Enter}{Enter}{NumpadLeft}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadRight::&lt;br /&gt;
send {Enter}{Enter}{NumpadRight}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadHome::&lt;br /&gt;
send {Enter}{Enter}{NumpadHome}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadUp::&lt;br /&gt;
send {Enter}{Enter}{NumpadUp}&lt;br /&gt;
return&lt;br /&gt;
^!NumpadPgUp::&lt;br /&gt;
send {Enter}{Enter}{NumpadPgUp}&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Embark Settings macros===&lt;br /&gt;
These macros are used to ease the setup of skills and supplies before you embark.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Improved Food/Alcohol buying macro====&lt;br /&gt;
This macro buys all the cost-2 food (that I have seen), as well as the four types of alcohol.  Just press ctrl+f on the Items screen.&lt;br /&gt;
It can deal with meat or drink that you already have, or is not currently featured.   By [[User:Redfenix|Redfenix]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
^f::&lt;br /&gt;
&lt;br /&gt;
send ndwarven{SPACE}ale{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}rum{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}beer{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndwarven{SPACE}wine{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndonkey{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nchimpanzee{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngazelle{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nbonobo{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmule{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ndeer{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nraccoon{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nfox{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nrhesus{SPACE}macaque{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nhorse{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngroundhog{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmountain{SPACE}goat{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nhoary{SPACE}marmot{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send ngorilla{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send norangutan{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nsiamang{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nbilou{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send npileated{SPACE}gibbon{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nmandrill{SPACE}meat{RIGHT}{ENTER}{F9}&lt;br /&gt;
send nturtle{RIGHT}{ENTER}{F9}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===='First Fortress' setup====&lt;br /&gt;
This macro works with the default setup of DF, and starts you with (almost) the setup suggested in the &amp;quot;Your first fortress&amp;quot; tutorial.  The amounts are adjustable with the variables at the top of the macro.&lt;br /&gt;
&amp;lt;pre&amp;gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
; materialplanner.ahk					  	;&lt;br /&gt;
; this is a ahk script to set up the embark settings roughly as	;&lt;br /&gt;
;suggested in the &amp;quot;your first fortress&amp;quot; tutorial.  Inventory	;&lt;br /&gt;
;can be customized slightly.					;&lt;br /&gt;
; use ctrl+shift+e to run				  	;&lt;br /&gt;
;							  	;&lt;br /&gt;
; NOTEs:						  	;&lt;br /&gt;
; change variables to suit your desires			 	;&lt;br /&gt;
; the fourth guy is a Stonecrafter instead of Herbalist		;&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;&lt;br /&gt;
;;VARIABLES;;&lt;br /&gt;
;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
PICKS = 2	;number of picks to pack&lt;br /&gt;
AXES = 1 	;number of axes to pack&lt;br /&gt;
ANVILS = 0	;number of anvils to pack&lt;br /&gt;
MEATS = 7	;how much meat to take, each buys one of each cheap type (total number depends on locale)&lt;br /&gt;
DRINKS = 26	;how many drinks to take, each one buys 4 drinks, one of each type&lt;br /&gt;
SEEDS = 5	;each increment buys 5 plump helmet spawn, 2 pig tail, and 2 rock nuts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SetKeyDelay, 12	;Key delay, to keep Dwarf Fortress from being overwhelmed.&lt;br /&gt;
		:Set higher if you get weird results, or lower to get the&lt;br /&gt;
		:script to run faster&lt;br /&gt;
SLEEPTIME = 12	;same thing, only used in the repeated key press loops though&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;&lt;br /&gt;
;;The code;;&lt;br /&gt;
;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
^+e::&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;remove all of the items&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
loop 105{&lt;br /&gt;
	Send {NumpadSub}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
			;place the skills&lt;br /&gt;
			;first guy&lt;br /&gt;
			;Proficient Miner&lt;br /&gt;
Send {right}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;novice appraiser&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 7{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
			;novice Judge of Intent&lt;br /&gt;
Send {Up}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
			;competent gem setter&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 7{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 3{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;second guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
			;Proficient Miner&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Mason&lt;br /&gt;
loop 3{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;third guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Carpenter&lt;br /&gt;
Send {UP}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Wood Cutter&lt;br /&gt;
Send {UP}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;fourth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Grower&lt;br /&gt;
Send {PgDn}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Down}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Stone Crafter&lt;br /&gt;
loop 9{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;fifth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Mechanic&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Building Designer&lt;br /&gt;
Send {PgUp}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;sixth guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Weaponsmith&lt;br /&gt;
loop 1{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Armorsmith&lt;br /&gt;
loop 2{&lt;br /&gt;
	Send {Down}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;seventh guy&lt;br /&gt;
Send {Left}&lt;br /&gt;
Send {Down}&lt;br /&gt;
Send {Right}&lt;br /&gt;
			;Proficient Cook&lt;br /&gt;
Send {PgDn}&lt;br /&gt;
loop 2{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
			;Proficient Brewer&lt;br /&gt;
loop 1{&lt;br /&gt;
	Send {Up}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
loop 5{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
			;do the inventory&lt;br /&gt;
Send {Tab}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
			;Meat&lt;br /&gt;
&lt;br /&gt;
if MEATS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
tmp := MEATS - 1&lt;br /&gt;
send ndonkey{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nchimpanzee{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngazelle{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nbonobo{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmule{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ndeer{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nraccoon{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nfox{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nrhesus{SPACE}macaque{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nhorse{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngroundhog{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmountain{SPACE}goat{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nhoary{SPACE}marmot{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send ngorilla{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send norangutan{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nsiamang{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nbilou{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send npileated{SPACE}gibbon{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nmandrill{SPACE}meat{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
send nturtle{RIGHT}{ENTER}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {F9}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
			;copper picks&lt;br /&gt;
if PICKS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}copper picks{Right}{Enter}&lt;br /&gt;
tmp := PICKS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Axes&lt;br /&gt;
if AXES &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}steel axes{Right}{Enter}&lt;br /&gt;
tmp := AXES - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Seeds&lt;br /&gt;
if SEEDS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
send {n}Rock nuts{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
send {n}plump helmet spawn{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
send {n}Pig tail Seeds{Right}{Enter}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
&lt;br /&gt;
tmp := SEEDS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
			;Anvils&lt;br /&gt;
if ANVILS &amp;gt; 0&lt;br /&gt;
{&lt;br /&gt;
Send {n}iron anvils{Right}{Enter}&lt;br /&gt;
tmp := ANVILS - 1&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
	Send {NumpadAdd}&lt;br /&gt;
	Sleep %SLEEPTIME%&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
			;Drinks&lt;br /&gt;
if DRINKS &amp;gt; 0{&lt;br /&gt;
send {n}Dwarven ale{Right}{Enter}&lt;br /&gt;
send {n}Dwarven beer{Right}{Enter}&lt;br /&gt;
send {n}Dwarven wine{Right}{Enter}&lt;br /&gt;
send {n}Dwarven rum{Right}{Enter}&lt;br /&gt;
&lt;br /&gt;
tmp := DRINKS - 1&lt;br /&gt;
loop 4{&lt;br /&gt;
loop %tmp%{&lt;br /&gt;
Send {NumpadAdd}&lt;br /&gt;
}&lt;br /&gt;
Send {up}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===A more modular approach===&lt;br /&gt;
Hit WIN+G to go once you are on the empty item screen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#g::&lt;br /&gt;
;add an anvil&lt;br /&gt;
Additem(&amp;quot;iron anvils&amp;quot;,1)&lt;br /&gt;
;add 31 of the boozes (kind of iffy might end up with dwarven cheese or something if the civilization does not have 4 boozes)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
Additem(&amp;quot;dw&amp;quot;,31)&lt;br /&gt;
;adds copper nuggets &lt;br /&gt;
Additem(&amp;quot;copper n&amp;quot;,5)&lt;br /&gt;
;adds cassiterite&lt;br /&gt;
Additem(&amp;quot;cass&amp;quot;,5)&lt;br /&gt;
;bitumous coal&lt;br /&gt;
Additem(&amp;quot;coal&amp;quot;,5)&lt;br /&gt;
;tower cap logs&lt;br /&gt;
Additem(&amp;quot;logs&amp;quot;,11)&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
IsCurrentItemThere()&lt;br /&gt;
{&lt;br /&gt;
	;color of text in the new item screen 0xFFFF00(selected) or 0x808000 (unselected)&lt;br /&gt;
	;location of text in the new item screen 305, 150&lt;br /&gt;
	PixelSearch, , , 305, 150, 315, 160, 0x808000, 3,&lt;br /&gt;
	return !ErrorLevel&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AddItem(name,amount)&lt;br /&gt;
{&lt;br /&gt;
	Sleep 100&lt;br /&gt;
	amount -= 1&lt;br /&gt;
	SetKeyDelay 150&lt;br /&gt;
	SendInput n&lt;br /&gt;
	SendInput %name%&lt;br /&gt;
	;MsgBox Name Check&lt;br /&gt;
	Sleep 200&lt;br /&gt;
	if IsCurrentItemThere() &lt;br /&gt;
	{&lt;br /&gt;
		Sleep 200&lt;br /&gt;
		SendInput {Right}&lt;br /&gt;
		SendInput {Enter}&lt;br /&gt;
		Sleep 200&lt;br /&gt;
		Loop&lt;br /&gt;
		{&lt;br /&gt;
			if amount &amp;lt;= 0 &lt;br /&gt;
			{&lt;br /&gt;
				break&lt;br /&gt;
			}&lt;br /&gt;
			SendInput {NumpadAdd}&lt;br /&gt;
			Sleep 10&lt;br /&gt;
			amount --&lt;br /&gt;
		}&lt;br /&gt;
		;MsgBox Done&lt;br /&gt;
	}&lt;br /&gt;
	else &lt;br /&gt;
	{&lt;br /&gt;
		SendInput {F9}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Bed Assigning macro===&lt;br /&gt;
This will assign bedrooms to your dwarfs. Press F3 followed by a single digit indicating how many beds to assign. Can repeat the action, as the number of beds assigned is stored in a counter. Room size is default, but easily edited into the script. By [[User:Napsterbater|Napsterbater]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bedcounter = 0&lt;br /&gt;
F3::&lt;br /&gt;
  Input, counter, L1&lt;br /&gt;
  SetKeyDelay, 100&lt;br /&gt;
  loop  %counter% {&lt;br /&gt;
    loop %bedcounter%&lt;br /&gt;
      send {Down}&lt;br /&gt;
    loop % A_Index - 1&lt;br /&gt;
      send {Down}&lt;br /&gt;
    send {q}{r}{Enter}{a}&lt;br /&gt;
    loop %bedcounter%&lt;br /&gt;
      send {NumPadAdd}&lt;br /&gt;
    loop % A_Index - 1&lt;br /&gt;
      send {NumPadAdd}&lt;br /&gt;
    send {NumPadAdd}{Enter}&lt;br /&gt;
    send {space}{r}&lt;br /&gt;
  }&lt;br /&gt;
  bedcounter += counter&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Room-designation macros===&lt;br /&gt;
&lt;br /&gt;
====Valdemar's Designator Macro====&lt;br /&gt;
This macro can read a spreadsheet and designate rooms according to it. [http://www.bay12games.com/forum/index.php?topic=1428.0 Version 1]&lt;br /&gt;
&lt;br /&gt;
Version 2 of this macro apparently only works in versions up to and including 38c &amp;lt;sup&amp;gt;[[verify]]&amp;lt;/sup&amp;gt;, and can be found here: [http://www.bay12games.com/forum/index.php?topic=1890.0 Version 2]&lt;br /&gt;
&lt;br /&gt;
====Fedor's chambered circle====&lt;br /&gt;
A circular room with eight equal-sized chambers, suitable for everything from housing to workshops to a mausoleum.&amp;lt;br&amp;gt;&lt;br /&gt;
[http://mkv25.net/dfma/movie-216-room-designationmacro01 See this macro in action]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Macros_and_Keymaps_Examples#Room-designation Macro 01|Macro text]]&lt;br /&gt;
&lt;br /&gt;
====Valdemar's bedroom complex====&lt;br /&gt;
A large fractal bedroom/dining complex, with 56 bedrooms and room for 24 tables.&lt;br /&gt;
&lt;br /&gt;
You can press Alt-B to create a bedroom block, or Alt-C to create a full complex with 4 bedroom blocks and a dining block in the center.&lt;br /&gt;
&lt;br /&gt;
Note - the macro is much faster than the demo movie shows, it is done in under a minute.&lt;br /&gt;
&lt;br /&gt;
[http://mkv25.net/dfma/movie-252 Demo Movie]&lt;br /&gt;
&lt;br /&gt;
[http://www.pindi.us/files/fractalbr.zip Download]&lt;br /&gt;
&lt;br /&gt;
====Tulip's room macros====&lt;br /&gt;
Based on [[Bedroom_design|the bedroom designs.]]&lt;br /&gt;
&lt;br /&gt;
^g means alt+g, !g means ctrl+g, and so on.&lt;br /&gt;
Open up the designations window before using these:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
; This will make a basic 'x' pattern workshop/room layout&lt;br /&gt;
; and will 'land' back on the same tile it starts on each time,&lt;br /&gt;
; which happens to be the center.&lt;br /&gt;
; It is modified so that you will have 3 staircases, and an extra tile&lt;br /&gt;
; because many workshops do not have corner access.&lt;br /&gt;
!r::&lt;br /&gt;
Send di2{enter}88{enter}4d{enter}4{enter}67{enter}77{enter}66666666&lt;br /&gt;
Send {enter}11{enter}1{enter}6{enter}114{enter}4{enter}2{enter}11{enter}&lt;br /&gt;
Send 66666666{enter}77{enter}7{enter}6{enter}74&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes GnomeChomsky's Tessellated Apartments, bedrooms only.&lt;br /&gt;
; Your cursor will be over the left staircase.&lt;br /&gt;
!g::&lt;br /&gt;
Send i999866{enter}{enter}33332{enter}{enter}11114{enter}{enter}&lt;br /&gt;
Send d3{enter}22{enter}4{enter}{enter}&lt;br /&gt;
Send 78{enter}44{enter}8{enter}{enter}&lt;br /&gt;
Send 96{enter}88{enter}6{enter}{enter}	&lt;br /&gt;
Send 32{enter}66{enter}2{enter}{enter}&lt;br /&gt;
Send 96{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 96{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 1444{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 88{enter}88{enter}6{enter}{enter}&lt;br /&gt;
Send 78{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 66{enter}22{enter}4{enter}{enter}&lt;br /&gt;
Send 14{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 32{enter}{enter}6{enter}88{enter}7i{enter}{enter}&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes GnomeChomsky's Tessellated Apartments, bedrooms plus dining.&lt;br /&gt;
; Everything above applies.&lt;br /&gt;
^g::&lt;br /&gt;
Send i{enter}{enter}999866{enter}{enter}33332{enter}{enter}11114{enter}{enter}d&lt;br /&gt;
Send 444{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 32{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 9966{enter}{enter}6{enter}88{enter}&lt;br /&gt;
Send 96{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 7788{enter}{enter}8{enter}44{enter}&lt;br /&gt;
Send 78{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 1144{enter}{enter}4{enter}22{enter}&lt;br /&gt;
Send 14{enter}{enter}2{enter}66{enter}&lt;br /&gt;
Send 36{enter}8886666666{enter}&lt;br /&gt;
Send 9{enter}4444444{enter}&lt;br /&gt;
Send 8{enter}6666{enter}744{enter}{enter}&lt;br /&gt;
Send 222222441{enter}6666666{enter}&lt;br /&gt;
Send {enter}22{enter}8{enter}4444{enter}&lt;br /&gt;
Send 7778&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
; This makes THLawrence's Living Pods (the A is for Arabia).&lt;br /&gt;
; Put your cursor where you want the upper left staircase to be.&lt;br /&gt;
; Like my other scripts, it recenters on that tile.&lt;br /&gt;
; Also, thank you THLawrence, this one was really easy write!&lt;br /&gt;
!a::&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 96666666&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 33222&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 7444&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}22{enter}1{enter}44{enter}7{enter}&lt;br /&gt;
Send 9988888&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
; This makes the lobby for THLawrence's Living pods.&lt;br /&gt;
^a::&lt;br /&gt;
Send i{enter}{enter}d7{enter}7{enter}666{enter}3{enter}66{enter}9{enter}66{enter}3{enter}41i{enter}{enter}&lt;br /&gt;
Send 36d{enter}1444444{enter}&lt;br /&gt;
Send 74{enter}1{enter}22{enter}3{enter}3i{enter}{enter}d1{enter}1{enter}666{enter}9{enter}&lt;br /&gt;
Send 66{enter}3{enter}66{enter}9{enter}88{enter}7{enter}74{enter}1144{enter}&lt;br /&gt;
Send 36666i{enter}{enter}777777&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LordGrunt's room macro====&lt;br /&gt;
Based on 1 of the fractal [[Bedroom_design| bedroom designs.]]&lt;br /&gt;
&lt;br /&gt;
[http://mkv25.net/dfma/movie-1226-fractalbedrooms Demo Movie]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Fractal Apts&lt;br /&gt;
; Start script while in 'dig' mode with cursor on desired position of left up staircase&lt;br /&gt;
;&lt;br /&gt;
; ALT+G to generate,&lt;br /&gt;
; CTRL+ALT+G to erase in case of failure&lt;br /&gt;
;&lt;br /&gt;
     &lt;br /&gt;
!g::&lt;br /&gt;
base_cross()&lt;br /&gt;
sleep 100&lt;br /&gt;
mid_sqr()&lt;br /&gt;
sleep 100&lt;br /&gt;
corridors()&lt;br /&gt;
sleep 100&lt;br /&gt;
all_rooms()&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
base_cross()&lt;br /&gt;
{&lt;br /&gt;
Send i{ENTER}3{ENTER}&lt;br /&gt;
Send d1{ENTER}6{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+28{ENTER}&lt;br /&gt;
Send d{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+888{ENTER}4{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+82{ENTER}&lt;br /&gt;
Send d{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+24{ENTER}2{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+46{ENTER}&lt;br /&gt;
Send d{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+666{ENTER}8{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+64{ENTER}&lt;br /&gt;
Send d{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4474{SHIFT}+8{SHIFT}+888888{ENTER}66666{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+2{SHIFT}+2222{ENTER}8&lt;br /&gt;
Send d{SHIFT}+8{SHIFT}+88884488888{SHIFT}+6{SHIFT}+6666666{ENTER}22222{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4{SHIFT}+4444{ENTER}6&lt;br /&gt;
}&lt;br /&gt;
mid_sqr()&lt;br /&gt;
{&lt;br /&gt;
Send d{SHIFT}+3666&lt;br /&gt;
send d{ENTER}{SHIFT}+9{SHIFT}+999999{ENTER}1{ENTER}9999{ENTER}9{ENTER}111{ENTER}&lt;br /&gt;
send d{SHIFT}+1{SHIFT}+1{SHIFT}+1{ENTER}999{ENTER}99{ENTER}1111{ENTER}99&lt;br /&gt;
send d{SHIFT}+8{SHIFT}+8{SHIFT}+8444{ENTER}333{ENTER}33{ENTER}7777{ENTER}&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+37{ENTER}333{ENTER}7{ENTER}7777{ENTER}&lt;br /&gt;
}&lt;br /&gt;
corridors()&lt;br /&gt;
{&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+7999{ENTER}{SHIFT}+6{SHIFT}+6{SHIFT}+66{ENTER}&lt;br /&gt;
send d333333{ENTER}{SHIFT}+2{SHIFT}+2{SHIFT}+22{ENTER}&lt;br /&gt;
send d111111{ENTER}{SHIFT}+4{SHIFT}+4{SHIFT}+44{ENTER}&lt;br /&gt;
send d777777{ENTER}{SHIFT}+8{SHIFT}+8{SHIFT}+88{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d3333222{ENTER}{SHIFT}+466{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888{ENTER}{SHIFT}+644{ENTER}&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+6{SHIFT}+6333&lt;br /&gt;
send d{ENTER}{SHIFT}+466{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888{ENTER}{SHIFT}+644{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+1966&lt;br /&gt;
send d{ENTER}{SHIFT}+288{ENTER}&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666{ENTER}{SHIFT}+822{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+8{SHIFT}+8777&lt;br /&gt;
send d{ENTER}{SHIFT}+288{ENTER}&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666{ENTER}{SHIFT}+822{ENTER}&lt;br /&gt;
sleep 100&lt;br /&gt;
send d999988{ENTER}{SHIFT}+64{ENTER}&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+3777{ENTER}{SHIFT}+28{ENTER}&lt;br /&gt;
send d{SHIFT}+1{SHIFT}+1{SHIFT}+1999{ENTER}{SHIFT}+46{ENTER}&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+7333{ENTER}{SHIFT}+82{ENTER}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
rooms_up()&lt;br /&gt;
{&lt;br /&gt;
send d78{ENTER}96{ENTER}&lt;br /&gt;
send d223{ENTER}32{ENTER}&lt;br /&gt;
send d44444{ENTER}87{ENTER}&lt;br /&gt;
send d63{ENTER}{ENTER}98{ENTER}{ENTER}23{ENTER}{ENTER}7&lt;br /&gt;
}&lt;br /&gt;
rooms_down()&lt;br /&gt;
{&lt;br /&gt;
send d32{ENTER}14{ENTER}&lt;br /&gt;
send d887{ENTER}78{ENTER}&lt;br /&gt;
send d66666{ENTER}32{ENTER}&lt;br /&gt;
send d74{ENTER}{ENTER}21{ENTER}{ENTER}78{ENTER}{ENTER}3&lt;br /&gt;
}&lt;br /&gt;
rooms_left()&lt;br /&gt;
{&lt;br /&gt;
send d14{ENTER}87{ENTER}&lt;br /&gt;
send d996{ENTER}63{ENTER}&lt;br /&gt;
send d2222{ENTER}41{ENTER}&lt;br /&gt;
send d98{ENTER}{ENTER}47{ENTER}{ENTER}96{ENTER}{ENTER}1&lt;br /&gt;
}&lt;br /&gt;
rooms_right()&lt;br /&gt;
{&lt;br /&gt;
send d96{ENTER}32{ENTER}&lt;br /&gt;
send d114{ENTER}47{ENTER}&lt;br /&gt;
send d8888{ENTER}96{ENTER}&lt;br /&gt;
send d21{ENTER}{ENTER}63{ENTER}{ENTER}14{ENTER}{ENTER}9&lt;br /&gt;
}&lt;br /&gt;
;======= WIDE&lt;br /&gt;
rooms_upw()&lt;br /&gt;
{&lt;br /&gt;
send d78{ENTER}966{ENTER}&lt;br /&gt;
send d223{ENTER}32{ENTER}&lt;br /&gt;
send d444444{ENTER}87{ENTER}&lt;br /&gt;
send d63{ENTER}{ENTER}98{ENTER}6{ENTER}23{ENTER}{ENTER}74&lt;br /&gt;
}&lt;br /&gt;
rooms_downw()&lt;br /&gt;
{&lt;br /&gt;
send d32{ENTER}144{ENTER}&lt;br /&gt;
send d887{ENTER}78{ENTER}&lt;br /&gt;
send d666666{ENTER}32{ENTER}&lt;br /&gt;
send d74{ENTER}{ENTER}21{ENTER}4{ENTER}78{ENTER}{ENTER}36&lt;br /&gt;
}&lt;br /&gt;
rooms_leftw()&lt;br /&gt;
{&lt;br /&gt;
send d14{ENTER}887{ENTER}&lt;br /&gt;
send d996{ENTER}63{ENTER}&lt;br /&gt;
send d22222{ENTER}41{ENTER}&lt;br /&gt;
send d98{ENTER}{ENTER}47{ENTER}8{ENTER}96{ENTER}{ENTER}12&lt;br /&gt;
}&lt;br /&gt;
rooms_rightw()&lt;br /&gt;
{&lt;br /&gt;
send d96{ENTER}322{ENTER}&lt;br /&gt;
send d114{ENTER}47{ENTER}&lt;br /&gt;
send d88888{ENTER}96{ENTER}&lt;br /&gt;
send d21{ENTER}{ENTER}63{ENTER}2{ENTER}14{ENTER}{ENTER}98&lt;br /&gt;
}&lt;br /&gt;
;============&lt;br /&gt;
rooms3up()&lt;br /&gt;
{&lt;br /&gt;
send d8888888&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d1111222&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d66666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d4444&lt;br /&gt;
}&lt;br /&gt;
rooms3down()&lt;br /&gt;
{&lt;br /&gt;
send d2222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d7777888&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d66666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d4444&lt;br /&gt;
}&lt;br /&gt;
rooms3left()&lt;br /&gt;
{&lt;br /&gt;
send d4444444&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d9999666&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d22222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d8888&lt;br /&gt;
}&lt;br /&gt;
rooms3right()&lt;br /&gt;
{&lt;br /&gt;
send d6666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d22222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d8888&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
;==========&lt;br /&gt;
all_rooms()&lt;br /&gt;
{&lt;br /&gt;
;left wide:&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d222222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_leftw()&lt;br /&gt;
;bottom wide:&lt;br /&gt;
send d{SHIFT}+3{SHIFT}+3{SHIFT}+3{SHIFT}+378&lt;br /&gt;
rooms_downw()&lt;br /&gt;
send d9999888&lt;br /&gt;
rooms_right()&lt;br /&gt;
send d444444444&lt;br /&gt;
rooms_left()&lt;br /&gt;
;right wide:&lt;br /&gt;
send d{SHIFT}+9{SHIFT}+9{SHIFT}+999{SHIFT}+66&lt;br /&gt;
rooms_rightw()&lt;br /&gt;
send d7777444&lt;br /&gt;
rooms_up()&lt;br /&gt;
send d222222222&lt;br /&gt;
rooms_down()&lt;br /&gt;
;top wide&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+7{SHIFT}+777{SHIFT}+88&lt;br /&gt;
rooms_upw()&lt;br /&gt;
send d1111222&lt;br /&gt;
rooms_left()&lt;br /&gt;
send d666666666&lt;br /&gt;
rooms_right()&lt;br /&gt;
;remainin 9-room chambers&lt;br /&gt;
send d{SHIFT}+26666&lt;br /&gt;
rooms3right()&lt;br /&gt;
send d{SHIFT}+4{SHIFT}+4666&lt;br /&gt;
rooms3left()&lt;br /&gt;
send d{SHIFT}+1111&lt;br /&gt;
rooms3up()&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2888&lt;br /&gt;
rooms3down()&lt;br /&gt;
send d{SHIFT}+3333&lt;br /&gt;
rooms3left()&lt;br /&gt;
send d{SHIFT}+6{SHIFT}+6444&lt;br /&gt;
rooms3right()&lt;br /&gt;
send d{SHIFT}+9999&lt;br /&gt;
rooms3down()&lt;br /&gt;
send d{SHIFT}+8{SHIFT}+8222&lt;br /&gt;
rooms3up()&lt;br /&gt;
;send d{SHIFT}+7777&lt;br /&gt;
;rooms3right()&lt;br /&gt;
;send d{SHIFT}+2{SHIFT}+4666&lt;br /&gt;
;rooms3left()&lt;br /&gt;
send d1111144499{ENTER}{SHIFT}+1{SHIFT}+4{SHIFT}+41{ENTER}&lt;br /&gt;
send d77444444444{ENTER}8888888{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+6{SHIFT}+6666{ENTER}&lt;br /&gt;
send d{SHIFT}+7{SHIFT}+487{ENTER}{SHIFT}+1{SHIFT}+2{SHIFT}+21{ENTER}&lt;br /&gt;
send d33222222222{ENTER}6666666{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+8{SHIFT}+8888{ENTER}&lt;br /&gt;
send d{SHIFT}+2{SHIFT}+2221111&lt;br /&gt;
send i{ENTER}3{ENTER}7&lt;br /&gt;
deco()&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
deco()&lt;br /&gt;
{&lt;br /&gt;
send x77774{ENTER}{ENTER}9{ENTER}{ENTER}6669{ENTER}6{ENTER}3666{ENTER}{ENTER}3{ENTER}{ENTER}&lt;br /&gt;
send x2223{ENTER}2{ENTER}1222{ENTER}{ENTER}1{ENTER}{ENTER}1444{ENTER}4{ENTER}4447&lt;br /&gt;
send x{ENTER}{ENTER}7{ENTER}{ENTER}7888{ENTER}8{ENTER}666666&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
; CTRL+ALT+G to erase all&lt;br /&gt;
!^g::&lt;br /&gt;
send x{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{ENTER}{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{SHIFT}+9{ENTER}{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1{SHIFT}+1&lt;br /&gt;
return&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Easy Exploration Mining in 2 steps===&lt;br /&gt;
This macro will make a 5 row, 11 column UP/DOWN stairway grid (2 empty spaces between each row/column).&amp;lt;br&amp;gt;&lt;br /&gt;
Starting point as indicated (row 3, column 11)&amp;lt;br&amp;gt;&lt;br /&gt;
'''MUST BE IN DESIGNATION MODE WITH CURSOR AT THE ''&amp;lt;-- START HERE'' LOCATION'''&amp;lt;br&amp;gt;&lt;br /&gt;
Link is &amp;lt;ctrl&amp;gt; &amp;lt;windowskey&amp;gt; `&amp;lt;br&amp;gt;&lt;br /&gt;
Dive is &amp;lt;ctrl&amp;gt; &amp;lt;alt&amp;gt; `&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Link&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X &amp;lt;-- start here&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
|              |              |&lt;br /&gt;
|              |              |&lt;br /&gt;
X--X--X--X--X--X--X--X--X--X--X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Filename is ExploreMine-Link.ahk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Link&lt;br /&gt;
^#`::&lt;br /&gt;
&lt;br /&gt;
send d&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(12,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(9,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(15,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(12,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
send {Enter}&lt;br /&gt;
tehLoop(15,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send i&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tehLoop(tehTimes,tehDir)&lt;br /&gt;
{&lt;br /&gt;
	loop&lt;br /&gt;
	{&lt;br /&gt;
		if tehTimes &amp;lt;= 0&lt;br /&gt;
		{&lt;br /&gt;
			break&lt;br /&gt;
		}&lt;br /&gt;
		send %tehDir%&lt;br /&gt;
		tehTimes--&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
tehOtherLoop(tehOtherDir)&lt;br /&gt;
{&lt;br /&gt;
	loop 4&lt;br /&gt;
	{		&lt;br /&gt;
		tehLoop(3,tehOtherDir)		&lt;br /&gt;
		send {Enter}{Enter}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Dive&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X &amp;lt;-- start here&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
X  X  X  X  X  X  X  X  X  X  X&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Filename is ExploreMine-Dive.ahk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;Dive&lt;br /&gt;
^!`::&lt;br /&gt;
tehLoop(30,&amp;quot;{NumPadLeft}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send i&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
tehLoop(3,&amp;quot;{NumPadRight}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
send {Enter}{Enter}&lt;br /&gt;
tehOtherLoop(&amp;quot;{NumPadDown}&amp;quot;)&lt;br /&gt;
tehLoop(6,&amp;quot;{NumPadUp}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
tehLoop(tehTimes,tehDir)&lt;br /&gt;
{&lt;br /&gt;
	loop&lt;br /&gt;
	{&lt;br /&gt;
		if tehTimes &amp;lt;= 0&lt;br /&gt;
		{&lt;br /&gt;
			break&lt;br /&gt;
		}&lt;br /&gt;
		send %tehDir%&lt;br /&gt;
		tehTimes--&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
tehOtherLoop(tehOtherDir)&lt;br /&gt;
{&lt;br /&gt;
	loop 4&lt;br /&gt;
	{		&lt;br /&gt;
		tehLoop(3,tehOtherDir)		&lt;br /&gt;
		send {Enter}{Enter}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fancy Exploration Mining===&lt;br /&gt;
&lt;br /&gt;
===Interface Enhancement Scripts===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====The MOUSE control====&lt;br /&gt;
For unrivaled mouse control in DF try [http://www.dwarffortresswiki.net/index.php/User:Digger this DF Mouse script]&lt;br /&gt;
&lt;br /&gt;
====Tile Counter or Scrolling Accelerator====&lt;br /&gt;
Lack of reference plus slow scroll speed make planning digging area frustrating,so here is the script that shows coordinate and speed scrolling up.&lt;br /&gt;
[http://www.dwarffortresswiki.net/index.php/User:Daedalusai ShowXY]&lt;br /&gt;
&lt;br /&gt;
===4-Pour Water Creation script===&lt;br /&gt;
For Automating creation of water using Gibbeds Tweak.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
;	4-pour.ahk&lt;br /&gt;
;	Dwarf fortress water creation script.&lt;br /&gt;
;&lt;br /&gt;
;Use this script in conjunction with Gibbeds Dwarf Fortress Tweak to create endless amounts of water.;&lt;br /&gt;
;&lt;br /&gt;
;Directions&lt;br /&gt;
;&lt;br /&gt;
;1. Have DF running and position the screen such that when you press &amp;quot;K&amp;quot; the X will appear where you &lt;br /&gt;
&lt;br /&gt;
;want the water to appear.&lt;br /&gt;
;2. Have Gbbed's Dwarf Fortress tweak running in the background (with the proper process selected)&lt;br /&gt;
;3. run the 4-pour script&lt;br /&gt;
;4. press alt-p to get Pouring&lt;br /&gt;
;&lt;br /&gt;
;The script will then begin a cycle that moves the cursor around in a little 2x2 square editing each &lt;br /&gt;
&lt;br /&gt;
;tile to have 7/7 of water, it then pauses for a half a seond to let the water flow a bit, and repeats. &lt;br /&gt;
&lt;br /&gt;
;It does this until you..&lt;br /&gt;
;&lt;br /&gt;
;5. press and hold &amp;lt;shift&amp;gt; to stop&lt;br /&gt;
;&lt;br /&gt;
;As always, save before you experiment with this&lt;br /&gt;
;I hold no responsibility for what this script ends up doing to your dwarves/fortress/computer/carpet&lt;br /&gt;
;Feel free to clean it up, make it more usable, whatever&lt;br /&gt;
;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.&lt;br /&gt;
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.&lt;br /&gt;
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.&lt;br /&gt;
&lt;br /&gt;
!p::&lt;br /&gt;
loop &lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
GetKeyState, state, Shift&lt;br /&gt;
if state = D&lt;br /&gt;
    Break&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IfWinActive Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
send k&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadRight}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadDown}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadLeft}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
  send {NumpadUp}&lt;br /&gt;
&lt;br /&gt;
IfWinExist Gibbed's Dwarf Fortress Tweak [1.2.0.0]&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
click 38, 184, 2&lt;br /&gt;
sleep 100&lt;br /&gt;
&lt;br /&gt;
IfWinExist Tile Edit&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
sleep 100&lt;br /&gt;
click 63, 448&lt;br /&gt;
sleep 100&lt;br /&gt;
click 106, 70&lt;br /&gt;
sleep 100&lt;br /&gt;
click 207, 255&lt;br /&gt;
sleep 100&lt;br /&gt;
send {backspace}&lt;br /&gt;
sleep 100&lt;br /&gt;
send 7&lt;br /&gt;
sleep 100&lt;br /&gt;
click 348, 449&lt;br /&gt;
sleep 100&lt;br /&gt;
IfWinExist Dwarf Fortress&lt;br /&gt;
{&lt;br /&gt;
    WinActivate&lt;br /&gt;
}&lt;br /&gt;
send {space}&lt;br /&gt;
sleep 800&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tesselated Apartments Builder===&lt;br /&gt;
&lt;br /&gt;
This one is another tesselated apartments script, with some larger areas added. Credit for layout to GnomeChomsky.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; TessApts.ahk&lt;br /&gt;
; Start script while in 'dig' mode with cursor on desired position of leftmost staircase&lt;br /&gt;
;&lt;br /&gt;
; CTRL+G       : Central room, 8 apartments (necessary on at least one z-level)&lt;br /&gt;
; ALT+G        : No central room, 16 apartments&lt;br /&gt;
; CTRL+ALT+G   : Four &amp;quot;central room&amp;quot; layouts connected in center (28 apartments)&lt;br /&gt;
; CTRL+SHIFT+G : Four &amp;quot;16 apartment&amp;quot; layouts, unconnected in center&lt;br /&gt;
;&lt;br /&gt;
!g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}114444444&lt;br /&gt;
return&lt;br /&gt;
^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}&lt;br /&gt;
return&lt;br /&gt;
!^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}88899999999&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}3333332&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}111114444444&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}&lt;br /&gt;
Send 7444{ENTER}{ENTER}1114{ENTER}{ENTER}3332{ENTER}{ENTER}9996{ENTER}{ENTER}788{ENTER}11111{ENTER}&lt;br /&gt;
Send 9988888888{ENTER}999{ENTER}+444444&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
+^g::&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}888889&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+221&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+1+46&lt;br /&gt;
Send i{ENTER}{ENTER}33332{ENTER}{ENTER}99996{ENTER}{ENTER}77778{ENTER}{ENTER}&lt;br /&gt;
Send d7{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 111{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}&lt;br /&gt;
Send 333333{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}32{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}&lt;br /&gt;
Send 99999988{ENTER}66{ENTER}2{ENTER}{ENTER}14{ENTER}22{ENTER}4{ENTER}{ENTER}78{ENTER}44{ENTER}8{ENTER}{ENTER}96{ENTER}88{ENTER}6{ENTER}{ENTER}+71144444&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Game_Interface FAQ}}&lt;br /&gt;
[[Category:ahk scripts]]&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48225</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48225"/>
		<updated>2009-03-30T17:33:10Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that this pattern creates a very long walkway back to the start of the mineshafts. If you do not excavate routinely, consider connecting the top-level paths of areas you have already explored.&lt;br /&gt;
&lt;br /&gt;
=== AKH script ===&lt;br /&gt;
An AKH script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48224</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48224"/>
		<updated>2009-03-30T17:31:50Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font:bold 20px/1 'Courier New';color:#ccc;background:black;width:auto;padding:5px;float:left&amp;quot;&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that this pattern creates a very long walkway back to the start of the mineshafts. If you do not excavate routinely, consider connecting the top-level paths of areas you have already explored.&lt;br /&gt;
&lt;br /&gt;
=== AKH script ===&lt;br /&gt;
An AKH script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
y = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48219</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48219"/>
		<updated>2009-03-30T15:55:44Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AKH script ===&lt;br /&gt;
An AKH script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
width = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input Spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48218</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48218"/>
		<updated>2009-03-30T15:55:35Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== AKH script ===&lt;br /&gt;
An AKH script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
width = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Input spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48217</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48217"/>
		<updated>2009-03-30T15:54:07Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An AKH script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
width = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d_Talk:Mineshaft_stitching&amp;diff=48230</id>
		<title>40d Talk:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d_Talk:Mineshaft_stitching&amp;diff=48230"/>
		<updated>2009-03-30T15:53:39Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: Created page with 'Hi, thought I would put this script up here and see if it was useful. This perhaps should be moved to a user page or something, but I am not certain: feel free to suggest changes...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, thought I would put this script up here and see if it was useful. This perhaps should be moved to a user page or something, but I am not certain: feel free to suggest changes, moves, or a more appropriate way to present this.&lt;br /&gt;
-- Seth Fogarty&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48216</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48216"/>
		<updated>2009-03-30T15:52:45Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#Mine shafts|mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An AKH script to construct such a pattern is provided below, based on [[User:StrawberryBunny/Mineshaft.ahk|this script]], but using many fewer keystrokes.&lt;br /&gt;
&lt;br /&gt;
length = 12&lt;br /&gt;
width = 12&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
 ; stitching.ahk					   ;&lt;br /&gt;
 ; this is an ahk script to place exploratory mine shafts. ;&lt;br /&gt;
 ; press d and place the cursor				   ;&lt;br /&gt;
 ; in the top left corner of the area to be explored	   ;&lt;br /&gt;
 ; then use ctrl+shift+s to run				   ;&lt;br /&gt;
 ; to change parameters, use ctrl+shift+c		   ; &lt;br /&gt;
 ; Increasing spacing will increase some shafts &lt;br /&gt;
 ;							   ;&lt;br /&gt;
 ; NOTE:					           ;&lt;br /&gt;
 ; Author: Seth Fogarty				           ;&lt;br /&gt;
 ; Based on a script by StrawberryBunny			   ;&lt;br /&gt;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;
&lt;br /&gt;
x = 4&lt;br /&gt;
width = 4&lt;br /&gt;
depth = 3&lt;br /&gt;
wait =  100&lt;br /&gt;
spacing = 1&lt;br /&gt;
vdir = +.&lt;br /&gt;
&lt;br /&gt;
DropShaft(vertdir, depth, wait)&lt;br /&gt;
{&lt;br /&gt;
	Send i&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send %vertdir%&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
 ^+c::&lt;br /&gt;
inputbox x, Input Length, Vertical pattern length: x-axis&lt;br /&gt;
inputbox y, Input Width, Horizontal pattern width: y-axis&lt;br /&gt;
inputbox depth, Input Depth, Mineshaft depth: z-axis&lt;br /&gt;
inputbox spacing, Spacing multiplier (1 for complete visiblity)&lt;br /&gt;
inputbox wait, Input Delay, Delay in miliseconds (100 recommended)&lt;br /&gt;
return &lt;br /&gt;
&lt;br /&gt;
 ^+s::&lt;br /&gt;
shafts := (x * y) -1&lt;br /&gt;
i := x-1&lt;br /&gt;
hdir = {Down}&lt;br /&gt;
next = {Up} &lt;br /&gt;
&lt;br /&gt;
Loop %shafts%&lt;br /&gt;
{&lt;br /&gt;
	DropShaft(vdir, depth, wait)&lt;br /&gt;
        if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
	{&lt;br /&gt;
		vdir = +,&lt;br /&gt;
	}	&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		vdir = +.&lt;br /&gt;
	}&lt;br /&gt;
	Send d&lt;br /&gt;
	k := spacing-1&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Loop %k%&lt;br /&gt;
	{&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Send {Enter}&lt;br /&gt;
		Send %hdir% &lt;br /&gt;
		Sleep %wait%&lt;br /&gt;
	}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Send {Enter}&lt;br /&gt;
	Send %hdir% &lt;br /&gt;
	Sleep %wait%&lt;br /&gt;
	i--&lt;br /&gt;
	if (i = 0)&lt;br /&gt;
	{&lt;br /&gt;
		if (hdir = &amp;quot;{Down}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Up}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Right}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = %next%&lt;br /&gt;
			i := x-1&lt;br /&gt;
		}&lt;br /&gt;
		else if (hdir = &amp;quot;{Up}&amp;quot;)&lt;br /&gt;
		{&lt;br /&gt;
			hdir = {Right}&lt;br /&gt;
			next = {Down}&lt;br /&gt;
			i=1&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
DropShaft(vdir, depth, wait)&lt;br /&gt;
if (vdir = &amp;quot;+.&amp;quot;) &lt;br /&gt;
{&lt;br /&gt;
	Loop %depth%&lt;br /&gt;
	{&lt;br /&gt;
		Send +,&lt;br /&gt;
	}&lt;br /&gt;
}	&lt;br /&gt;
return&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48215</id>
		<title>40d:Mineshaft stitching</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Mineshaft_stitching&amp;diff=48215"/>
		<updated>2009-03-30T15:46:12Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: Created page with 'When using Mine shafts, dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When using [[Exploratory mining#mine_shafts|Mine shafts]], dwarves will prefer to dig all of one level before moving on to the next. This can result in a lot of time spent moving, as miners go up and down mine shafts. If you have a large number of relatively unskilled miners, this is unlikely to be a problem: digging time will dominate in any case. If you have one or two legendary miners, this is quite annoying. As a solution, you can creating a single path that forces your dwarf to finish one shaft before moving on to the next. To do so, connect shafts alternately at the top and bottom layers, so the shaft snakes through the area. For example, the top, middle, and bottom layers could look like: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
.X▒▒X▒▒X▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒.▒▒.▒▒.▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X..X..X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Exploratory_mining&amp;diff=39124</id>
		<title>40d:Exploratory mining</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Exploratory_mining&amp;diff=39124"/>
		<updated>2009-03-30T15:43:05Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: /* Mine shafts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exploratory mining is the process of mining large areas in order to obtain resources such as [[gems]], [[metal]] [[ores]] and other types of [[stone|rock]]. It is also used, to a lesser extent, to find the locations of hidden underground features such as [[chasm]]s, [[underground river]]s, [[magma]] and [[adamantine]].&lt;br /&gt;
The most straightforward method is to mark a large rectangular area for digging. Unfortunately, this method is also the least efficient. More efficient digging patterns involve digging out a smaller percentage of the stone in a given area, but still revealing a large percentage of the stone. These patterns are compromises, which depend on factors that will be described in this article.&lt;br /&gt;
Note that exploratory mining is the process dedicated solely to discovery of resources and features. The digging process is usually separated, and not discussed here in great detail.&lt;br /&gt;
The [[cheating]] counterpart to exploratory mining is the infamous [[utilities#reveal.exe|reveal]] tool.&lt;br /&gt;
&lt;br /&gt;
== Factors in exploratory mining ==&lt;br /&gt;
&lt;br /&gt;
These are the factors we shall consider for each digging pattern. Knowing them and deciding on their priority will help you find the most suitable pattern.&lt;br /&gt;
Most of the factors are represented by numbers, obtained by dividing two quantities. Others are more subjective.&lt;br /&gt;
&lt;br /&gt;
=== Labor ===&lt;br /&gt;
&lt;br /&gt;
''Labor'' is the amount of work that goes into the digging process. Exploratory mining is a work intensive process, capable of straining even a large fortress, but the work that goes into different patterns varies greatly. A fortress with a large supply of skilled miners can afford to consider labor low priority. The labor factor is the fraction of stone dug out of an area, and as such, it's a percentage, between 0 and 100%.&lt;br /&gt;
&lt;br /&gt;
=== Scarcity ===&lt;br /&gt;
&lt;br /&gt;
''Scarcity'' is the amount of desired material present in the rock layer. It's theoretically represented by the fraction of desired material in the soil layer, but one can seldom state it accurately or even estimate it. Scarcity is determined by the types of materials you're after. Single tiles are the scarcest, followed by small clusters, veins and large clusters. For the classification of your desired material, see the [[gem]] and [[stone]] articles. Underground features are about as scarce as large clusters. &lt;br /&gt;
&lt;br /&gt;
If you are after the precious gems: diamond, sapphire and ruby, you will see that these can be found only in [[kimberlite]] (diamonds) and [[bauxite]] (sapphires and rubies) respectively. So you only need to find the veins of kimberlite in a [[gabbro]] layer or the large clusters of bauxite in [[sedimentary layer]]s respectively, and dig those out using one of the patterns that reveals every tile.&lt;br /&gt;
&lt;br /&gt;
=== Visibility ===&lt;br /&gt;
&lt;br /&gt;
''Visibility'' is the amount of tiles that you reveal in the digging process. Excavated tiles are always visible, and so are the tiles immadiately adjacent to them, including diagonals. The purpose of exploratory mining is to make a single tile of the desired material visible, allowing you to switch to conventional digging and extract it. Visibility is represented by the fraction of visible tiles in the excavated area. Visibility is always a priority, but it tends to decrease in priority as scarcity decreases, because there are more tiles that need to be dug out, and not just seen.&lt;br /&gt;
&lt;br /&gt;
=== Reusability ===&lt;br /&gt;
&lt;br /&gt;
Exploratory mining leaves behind a monotonous, repeating landscape. The excavated level may be hard to reuse for habitation, storage or industry without additional digging and significant rebuilding efforts that leave behind inferior walls that cannot be engraved. Reusability is subjective, and it depends on the desired layout. Reusability is represented by the largest room size achievable by digging into the solid rock left behind without rebuilding any walls. Reusability is a priority for a small fortress.&lt;br /&gt;
&lt;br /&gt;
== Resource Distribution ==&lt;br /&gt;
===Ore===&lt;br /&gt;
[[Ore]] occurs in three forms, depending on the kind:&lt;br /&gt;
&lt;br /&gt;
* Large cluster: An oval that occupies nearly half of a 48x48 block, area-wise. Only one appears per block.&lt;br /&gt;
* Vein: A sinuous line of the material crosses the block.&lt;br /&gt;
* Small cluster: A sprinkle of 3 to 9 adjacent tiles. Multiple small clusters of different materials may be in the same block.&lt;br /&gt;
&lt;br /&gt;
===Gems===&lt;br /&gt;
[[Gem]]s also occur in small clusters, or as a single tile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Patterns ==&lt;br /&gt;
&lt;br /&gt;
Patterns are represented by a unit tile. This unit tile is repeated throughout the area intended for excavation to create the desired pattern. Each pattern is analyzed with the above factors in mind.&lt;br /&gt;
&lt;br /&gt;
 Key:&lt;br /&gt;
 ░ = Not mined, not visible&lt;br /&gt;
 ▒ = Not mined, visible (wall)&lt;br /&gt;
 . = Mined (floor)&lt;br /&gt;
&lt;br /&gt;
=== Hollow ===&lt;br /&gt;
&lt;br /&gt;
All tiles are excavated.&lt;br /&gt;
&lt;br /&gt;
* ''Labor'': 100% of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Any scarcity. If it exists in the layer, it will be found.&lt;br /&gt;
* ''Visibility'': 100% of the tiles are visible, obviously.&lt;br /&gt;
* ''Reusability'': Approaches zero. Any design other than a large hall requires reconstruction.&lt;br /&gt;
* ''Bottom line'': Hollowing wastes labor like there's no tomorrow, but integrates extraction into the exploratory mining process. Use only if you have a lot of labor to spare, really need huge amounts of stone and don't mind the reconstruction required to make the hollow area habitable.&lt;br /&gt;
&lt;br /&gt;
=== Rows ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒&lt;br /&gt;
......&lt;br /&gt;
▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒&lt;br /&gt;
......&lt;br /&gt;
▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 1/3 (~33%) of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Any scarcity. Clusters as small as a single tile are revealed.&amp;lt;br /&amp;gt;&lt;br /&gt;
* ''Visibility'': 100%.&lt;br /&gt;
* ''Reusability'': Very low. The long corridors aren't very useful, and can only be expanded to long, wide corridors.&lt;br /&gt;
* ''Bottom line'': This method achieves the same visibility as hollowing out, but using a mere third of the labor. Ideal for hunting single-tile gems. As an added bonus, it is more efficient than a 3&amp;amp;times;3 design.&lt;br /&gt;
&lt;br /&gt;
=== Diagonal ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
▒▒.▒▒▒▒.▒▒&lt;br /&gt;
▒.▒▒▒▒.▒▒▒&lt;br /&gt;
.▒▒▒▒.▒▒▒▒&lt;br /&gt;
▒▒▒▒.▒▒▒▒.&lt;br /&gt;
▒▒▒.▒▒▒▒.▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 20% of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Any scarcity. Clusters as small as a single tile are revealed.&lt;br /&gt;
* ''Visibility'': 100%.&lt;br /&gt;
* ''Reusability'': With a bit of imagination you can build nice 3x3 rooms&lt;br /&gt;
* ''Bottom line'': This method is 2nd most efficient of those with 100% visibility. This one doesn't use other levels to move from one spot to another but is annoying to designate.&lt;br /&gt;
&lt;br /&gt;
=== Mine shafts ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 11.1% of the tiles are excavated (1/9).&lt;br /&gt;
* ''Scarcity'': Any scarcity. Clusters as small as a single tile are revealed.&lt;br /&gt;
* ''Visibility'': 100%.&lt;br /&gt;
* ''Reusability'': It's easy to make into square rooms of various sizes, the stairways can be removed and used as doorways, or just carved out as part of the rooms.&lt;br /&gt;
* ''Bottom line'': You'll need to clear part of one layer above it to get it started (use one of the other methods to cover the area), but this method is the most efficient for those with 100% visibility, and has a great reuse value. Real dwarves' choice! It takes a lot of keypressing to designate, [[User:StrawberryBunny/Mineshaft.ahk|here]] is a ahk script to save your fingers. For a discussion on optimising travel times through mineshafts, see [[Mineshaft Stitching|here]].&lt;br /&gt;
&lt;br /&gt;
=== Pinwheel Shafts===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒XX▒▒X▒▒XX▒&lt;br /&gt;
▒▒▒▒▒X▒▒▒▒▒&lt;br /&gt;
▒▒▒░▒▒▒░▒▒▒&lt;br /&gt;
▒X▒▒▒▒▒▒▒X▒&lt;br /&gt;
▒X▒▒XXX▒▒X▒&lt;br /&gt;
▒X▒▒▒▒▒▒▒X▒&lt;br /&gt;
▒▒▒░▒▒▒░▒▒▒&lt;br /&gt;
▒▒▒▒▒X▒▒▒▒▒&lt;br /&gt;
▒XX▒▒X▒▒XX▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': In this example about 17.3% of the tiles are being excavated..&lt;br /&gt;
* ''Scarcity'': All except single-tile small clusters.&lt;br /&gt;
* ''Visibility'': 96.6%.&lt;br /&gt;
* ''Reusability'': Workshops can be easily fitted into the unmined 3x3 areas.&lt;br /&gt;
* ''Bottom line'': Very similar to Mine Shafts, but you can replace the up/down stairways with a mixture of up stairs and down stairs, eliminating the chance that one of your dwarves will slip and fall all the way down the shaft.&lt;br /&gt;
&lt;br /&gt;
=== 7&amp;amp;times;7 blocks ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
▒▒▒▒.▒▒▒▒▒▒▒.▒▒▒&lt;br /&gt;
................&lt;br /&gt;
▒▒▒▒.▒▒▒▒▒▒▒.▒▒▒&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 15/64 (~23%) of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Veins and up, as the large 5X5 space left in each unit tile can easily conceal a small cluster.&lt;br /&gt;
* ''Visibility'': 39/64 (~61%) of the tiles are visible.&lt;br /&gt;
* ''Reusability'': Medium. The 7&amp;amp;times;7 blocks can easily be converted into 5&amp;amp;times;5 rooms, suitable for individual rooms, storage or workshops. Optionally, it can be converted into a grid of connected 7x7 rooms, if you center each room on a crossroad. Easily converted into a more thorough 3&amp;amp;times;3 block patten by digging through the large blocks.&lt;br /&gt;
* ''Bottom line'': This is a low-labor method great for vein-hunting. The low labor cost puts you in a position to invest more and get better coverage if desired.&lt;br /&gt;
&lt;br /&gt;
=== 15&amp;amp;times;15 blocks ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
▒▒▒▒▒.▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒.▒▒▒▒▒▒▒▒▒▒&lt;br /&gt;
................................&lt;br /&gt;
▒▒▒▒▒.▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒.▒▒▒▒▒▒▒▒▒▒&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 31/256 (~12%) of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Large clusters and up, as the large 13&amp;amp;times;13 space left in each unit tile can easily conceal quite a lot. Unless you have particularly bad luck you should also find all veins, but there is no guarantee.&lt;br /&gt;
* ''Visibility'': 87/256 (34%) of the tiles are visible.&lt;br /&gt;
* ''Reusability'': High. A 15&amp;amp;times;15 block of solid rock is extremely versatile when it comes to interior design. It's easily converted into a 7&amp;amp;times;7 block design, which may be further converted into a 3&amp;amp;times;3 block design.&lt;br /&gt;
* ''Bottom line'': This method is preferable when you are low on labor or when you're after an underground feature. It can easily accommodate parts of your fort, or serve as the precursor for a more thorough search.&lt;br /&gt;
&lt;br /&gt;
==Searching for underground water &amp;amp; magma==&lt;br /&gt;
While a lot of fun, underground features can be both difficult to find and dangerous to the unprepared, being as they are full of hostile creatures. &lt;br /&gt;
&lt;br /&gt;
===Digging===&lt;br /&gt;
Underground features are a lot larger than [[ore]] and [[gem]] deposits, so the 15x15 block method is quite sufficient to find them. Furthurmore you only need to dig every 3rd [[z-level]] out as even the shortest feature, a [[cave river]], can be discovered on any one of the 3 levels it influences, as shown in the side profiles below.&lt;br /&gt;
&lt;br /&gt;
    Over the top    Reveals      Hits damp     Hits damp     Underneath      &lt;br /&gt;
  &lt;br /&gt;
     _______o##     ########     #########     #########     #########      # Unmined stone&lt;br /&gt;
     ###  #####     ___o  ##     ####  ###     ####  ###     ####  ###      ~ Water&lt;br /&gt;
     ##&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;####     ###&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;#     __o&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;##     ###&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;##     ###&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;##      _ Floor of the tunnel&lt;br /&gt;
     ###&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;#####     ####&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;##     ####&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;###     ___o&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;###     ####&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;###      o Miner&lt;br /&gt;
     ##########     ########     #########     #########     _______o#&lt;br /&gt;
&lt;br /&gt;
Once you encounter warm or damp stone you want to back off a couple of squares and dig an up [[staircase]]. On this new z-level dig another tunnel to where you just found damp/warm stone. Depending on how tall the feature was and whereabouts you hit it, you may need to repeat this approach. Eventually your miner will reach a z-level where he can safely dig all the way through to the &amp;quot;surface&amp;quot; of the feature.&lt;br /&gt;
&lt;br /&gt;
===Obsidian caps===&lt;br /&gt;
[[Image:obsidian_cap.png|thumb|right|100px|An obsidian cap]]&lt;br /&gt;
Even when a magma pipe reaches the surface it can freeze over in cold [[climate]]s, or may simply stop just short of surface. In theses case it will have a [[obsidian]] cap over it, which is easier to find: just search for any hills or mountainsides that have a circular chunk missing and/or a grey circle of stone (example on the right).&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
&lt;br /&gt;
{{Mining FAQ}}&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
	<entry>
		<id>http://dwarffortresswiki.org/index.php?title=40d:Exploratory_mining&amp;diff=39123</id>
		<title>40d:Exploratory mining</title>
		<link rel="alternate" type="text/html" href="http://dwarffortresswiki.org/index.php?title=40d:Exploratory_mining&amp;diff=39123"/>
		<updated>2009-03-30T15:38:16Z</updated>

		<summary type="html">&lt;p&gt;Sfogarty: /* Mine shafts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exploratory mining is the process of mining large areas in order to obtain resources such as [[gems]], [[metal]] [[ores]] and other types of [[stone|rock]]. It is also used, to a lesser extent, to find the locations of hidden underground features such as [[chasm]]s, [[underground river]]s, [[magma]] and [[adamantine]].&lt;br /&gt;
The most straightforward method is to mark a large rectangular area for digging. Unfortunately, this method is also the least efficient. More efficient digging patterns involve digging out a smaller percentage of the stone in a given area, but still revealing a large percentage of the stone. These patterns are compromises, which depend on factors that will be described in this article.&lt;br /&gt;
Note that exploratory mining is the process dedicated solely to discovery of resources and features. The digging process is usually separated, and not discussed here in great detail.&lt;br /&gt;
The [[cheating]] counterpart to exploratory mining is the infamous [[utilities#reveal.exe|reveal]] tool.&lt;br /&gt;
&lt;br /&gt;
== Factors in exploratory mining ==&lt;br /&gt;
&lt;br /&gt;
These are the factors we shall consider for each digging pattern. Knowing them and deciding on their priority will help you find the most suitable pattern.&lt;br /&gt;
Most of the factors are represented by numbers, obtained by dividing two quantities. Others are more subjective.&lt;br /&gt;
&lt;br /&gt;
=== Labor ===&lt;br /&gt;
&lt;br /&gt;
''Labor'' is the amount of work that goes into the digging process. Exploratory mining is a work intensive process, capable of straining even a large fortress, but the work that goes into different patterns varies greatly. A fortress with a large supply of skilled miners can afford to consider labor low priority. The labor factor is the fraction of stone dug out of an area, and as such, it's a percentage, between 0 and 100%.&lt;br /&gt;
&lt;br /&gt;
=== Scarcity ===&lt;br /&gt;
&lt;br /&gt;
''Scarcity'' is the amount of desired material present in the rock layer. It's theoretically represented by the fraction of desired material in the soil layer, but one can seldom state it accurately or even estimate it. Scarcity is determined by the types of materials you're after. Single tiles are the scarcest, followed by small clusters, veins and large clusters. For the classification of your desired material, see the [[gem]] and [[stone]] articles. Underground features are about as scarce as large clusters. &lt;br /&gt;
&lt;br /&gt;
If you are after the precious gems: diamond, sapphire and ruby, you will see that these can be found only in [[kimberlite]] (diamonds) and [[bauxite]] (sapphires and rubies) respectively. So you only need to find the veins of kimberlite in a [[gabbro]] layer or the large clusters of bauxite in [[sedimentary layer]]s respectively, and dig those out using one of the patterns that reveals every tile.&lt;br /&gt;
&lt;br /&gt;
=== Visibility ===&lt;br /&gt;
&lt;br /&gt;
''Visibility'' is the amount of tiles that you reveal in the digging process. Excavated tiles are always visible, and so are the tiles immadiately adjacent to them, including diagonals. The purpose of exploratory mining is to make a single tile of the desired material visible, allowing you to switch to conventional digging and extract it. Visibility is represented by the fraction of visible tiles in the excavated area. Visibility is always a priority, but it tends to decrease in priority as scarcity decreases, because there are more tiles that need to be dug out, and not just seen.&lt;br /&gt;
&lt;br /&gt;
=== Reusability ===&lt;br /&gt;
&lt;br /&gt;
Exploratory mining leaves behind a monotonous, repeating landscape. The excavated level may be hard to reuse for habitation, storage or industry without additional digging and significant rebuilding efforts that leave behind inferior walls that cannot be engraved. Reusability is subjective, and it depends on the desired layout. Reusability is represented by the largest room size achievable by digging into the solid rock left behind without rebuilding any walls. Reusability is a priority for a small fortress.&lt;br /&gt;
&lt;br /&gt;
== Resource Distribution ==&lt;br /&gt;
===Ore===&lt;br /&gt;
[[Ore]] occurs in three forms, depending on the kind:&lt;br /&gt;
&lt;br /&gt;
* Large cluster: An oval that occupies nearly half of a 48x48 block, area-wise. Only one appears per block.&lt;br /&gt;
* Vein: A sinuous line of the material crosses the block.&lt;br /&gt;
* Small cluster: A sprinkle of 3 to 9 adjacent tiles. Multiple small clusters of different materials may be in the same block.&lt;br /&gt;
&lt;br /&gt;
===Gems===&lt;br /&gt;
[[Gem]]s also occur in small clusters, or as a single tile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Patterns ==&lt;br /&gt;
&lt;br /&gt;
Patterns are represented by a unit tile. This unit tile is repeated throughout the area intended for excavation to create the desired pattern. Each pattern is analyzed with the above factors in mind.&lt;br /&gt;
&lt;br /&gt;
 Key:&lt;br /&gt;
 ░ = Not mined, not visible&lt;br /&gt;
 ▒ = Not mined, visible (wall)&lt;br /&gt;
 . = Mined (floor)&lt;br /&gt;
&lt;br /&gt;
=== Hollow ===&lt;br /&gt;
&lt;br /&gt;
All tiles are excavated.&lt;br /&gt;
&lt;br /&gt;
* ''Labor'': 100% of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Any scarcity. If it exists in the layer, it will be found.&lt;br /&gt;
* ''Visibility'': 100% of the tiles are visible, obviously.&lt;br /&gt;
* ''Reusability'': Approaches zero. Any design other than a large hall requires reconstruction.&lt;br /&gt;
* ''Bottom line'': Hollowing wastes labor like there's no tomorrow, but integrates extraction into the exploratory mining process. Use only if you have a lot of labor to spare, really need huge amounts of stone and don't mind the reconstruction required to make the hollow area habitable.&lt;br /&gt;
&lt;br /&gt;
=== Rows ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
▒▒▒▒▒▒&lt;br /&gt;
......&lt;br /&gt;
▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒&lt;br /&gt;
......&lt;br /&gt;
▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 1/3 (~33%) of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Any scarcity. Clusters as small as a single tile are revealed.&amp;lt;br /&amp;gt;&lt;br /&gt;
* ''Visibility'': 100%.&lt;br /&gt;
* ''Reusability'': Very low. The long corridors aren't very useful, and can only be expanded to long, wide corridors.&lt;br /&gt;
* ''Bottom line'': This method achieves the same visibility as hollowing out, but using a mere third of the labor. Ideal for hunting single-tile gems. As an added bonus, it is more efficient than a 3&amp;amp;times;3 design.&lt;br /&gt;
&lt;br /&gt;
=== Diagonal ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
▒▒.▒▒▒▒.▒▒&lt;br /&gt;
▒.▒▒▒▒.▒▒▒&lt;br /&gt;
.▒▒▒▒.▒▒▒▒&lt;br /&gt;
▒▒▒▒.▒▒▒▒.&lt;br /&gt;
▒▒▒.▒▒▒▒.▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 20% of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Any scarcity. Clusters as small as a single tile are revealed.&lt;br /&gt;
* ''Visibility'': 100%.&lt;br /&gt;
* ''Reusability'': With a bit of imagination you can build nice 3x3 rooms&lt;br /&gt;
* ''Bottom line'': This method is 2nd most efficient of those with 100% visibility. This one doesn't use other levels to move from one spot to another but is annoying to designate.&lt;br /&gt;
&lt;br /&gt;
=== Mine shafts ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒X▒▒X▒▒X▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 11.1% of the tiles are excavated (1/9).&lt;br /&gt;
* ''Scarcity'': Any scarcity. Clusters as small as a single tile are revealed.&lt;br /&gt;
* ''Visibility'': 100%.&lt;br /&gt;
* ''Reusability'': It's easy to make into square rooms of various sizes, the stairways can be removed and used as doorways, or just carved out as part of the rooms.&lt;br /&gt;
* ''Bottom line'': You'll need to clear part of one layer above it to get it started (use one of the other methods to cover the area), but this method is the most efficient for those with 100% visibility, and has a great reuse value. Real dwarves' choice! It takes a lot of keypressing to designate, [[User:StrawberryBunny/Mineshaft.ahk|here]] is a ahk script to save your fingers. For a discussion on optimising travel times through mineshafts, see [[MineshaftStitching|here]].&lt;br /&gt;
&lt;br /&gt;
=== Pinwheel Shafts===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt; &lt;br /&gt;
▒▒▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒XX▒▒X▒▒XX▒&lt;br /&gt;
▒▒▒▒▒X▒▒▒▒▒&lt;br /&gt;
▒▒▒░▒▒▒░▒▒▒&lt;br /&gt;
▒X▒▒▒▒▒▒▒X▒&lt;br /&gt;
▒X▒▒XXX▒▒X▒&lt;br /&gt;
▒X▒▒▒▒▒▒▒X▒&lt;br /&gt;
▒▒▒░▒▒▒░▒▒▒&lt;br /&gt;
▒▒▒▒▒X▒▒▒▒▒&lt;br /&gt;
▒XX▒▒X▒▒XX▒&lt;br /&gt;
▒▒▒▒▒▒▒▒▒▒▒&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': In this example about 17.3% of the tiles are being excavated..&lt;br /&gt;
* ''Scarcity'': All except single-tile small clusters.&lt;br /&gt;
* ''Visibility'': 96.6%.&lt;br /&gt;
* ''Reusability'': Workshops can be easily fitted into the unmined 3x3 areas.&lt;br /&gt;
* ''Bottom line'': Very similar to Mine Shafts, but you can replace the up/down stairways with a mixture of up stairs and down stairs, eliminating the chance that one of your dwarves will slip and fall all the way down the shaft.&lt;br /&gt;
&lt;br /&gt;
=== 7&amp;amp;times;7 blocks ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
▒▒▒▒.▒▒▒▒▒▒▒.▒▒▒&lt;br /&gt;
................&lt;br /&gt;
▒▒▒▒.▒▒▒▒▒▒▒.▒▒▒&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
░░░▒.▒░░░░░▒.▒░░&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 15/64 (~23%) of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Veins and up, as the large 5X5 space left in each unit tile can easily conceal a small cluster.&lt;br /&gt;
* ''Visibility'': 39/64 (~61%) of the tiles are visible.&lt;br /&gt;
* ''Reusability'': Medium. The 7&amp;amp;times;7 blocks can easily be converted into 5&amp;amp;times;5 rooms, suitable for individual rooms, storage or workshops. Optionally, it can be converted into a grid of connected 7x7 rooms, if you center each room on a crossroad. Easily converted into a more thorough 3&amp;amp;times;3 block patten by digging through the large blocks.&lt;br /&gt;
* ''Bottom line'': This is a low-labor method great for vein-hunting. The low labor cost puts you in a position to invest more and get better coverage if desired.&lt;br /&gt;
&lt;br /&gt;
=== 15&amp;amp;times;15 blocks ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
▒▒▒▒▒.▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒.▒▒▒▒▒▒▒▒▒▒&lt;br /&gt;
................................&lt;br /&gt;
▒▒▒▒▒.▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒.▒▒▒▒▒▒▒▒▒▒&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
░░░░▒.▒░░░░░░░░░░░░░▒.▒░░░░░░░░░&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
* ''Labor'': 31/256 (~12%) of the tiles are excavated.&lt;br /&gt;
* ''Scarcity'': Large clusters and up, as the large 13&amp;amp;times;13 space left in each unit tile can easily conceal quite a lot. Unless you have particularly bad luck you should also find all veins, but there is no guarantee.&lt;br /&gt;
* ''Visibility'': 87/256 (34%) of the tiles are visible.&lt;br /&gt;
* ''Reusability'': High. A 15&amp;amp;times;15 block of solid rock is extremely versatile when it comes to interior design. It's easily converted into a 7&amp;amp;times;7 block design, which may be further converted into a 3&amp;amp;times;3 block design.&lt;br /&gt;
* ''Bottom line'': This method is preferable when you are low on labor or when you're after an underground feature. It can easily accommodate parts of your fort, or serve as the precursor for a more thorough search.&lt;br /&gt;
&lt;br /&gt;
==Searching for underground water &amp;amp; magma==&lt;br /&gt;
While a lot of fun, underground features can be both difficult to find and dangerous to the unprepared, being as they are full of hostile creatures. &lt;br /&gt;
&lt;br /&gt;
===Digging===&lt;br /&gt;
Underground features are a lot larger than [[ore]] and [[gem]] deposits, so the 15x15 block method is quite sufficient to find them. Furthurmore you only need to dig every 3rd [[z-level]] out as even the shortest feature, a [[cave river]], can be discovered on any one of the 3 levels it influences, as shown in the side profiles below.&lt;br /&gt;
&lt;br /&gt;
    Over the top    Reveals      Hits damp     Hits damp     Underneath      &lt;br /&gt;
  &lt;br /&gt;
     _______o##     ########     #########     #########     #########      # Unmined stone&lt;br /&gt;
     ###  #####     ___o  ##     ####  ###     ####  ###     ####  ###      ~ Water&lt;br /&gt;
     ##&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;####     ###&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;#     __o&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;##     ###&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;##     ###&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;#~~#&amp;lt;/font&amp;gt;##      _ Floor of the tunnel&lt;br /&gt;
     ###&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;#####     ####&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;##     ####&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;###     ___o&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;###     ####&amp;lt;font color=&amp;quot;blue&amp;quot;&amp;gt;##&amp;lt;/font&amp;gt;###      o Miner&lt;br /&gt;
     ##########     ########     #########     #########     _______o#&lt;br /&gt;
&lt;br /&gt;
Once you encounter warm or damp stone you want to back off a couple of squares and dig an up [[staircase]]. On this new z-level dig another tunnel to where you just found damp/warm stone. Depending on how tall the feature was and whereabouts you hit it, you may need to repeat this approach. Eventually your miner will reach a z-level where he can safely dig all the way through to the &amp;quot;surface&amp;quot; of the feature.&lt;br /&gt;
&lt;br /&gt;
===Obsidian caps===&lt;br /&gt;
[[Image:obsidian_cap.png|thumb|right|100px|An obsidian cap]]&lt;br /&gt;
Even when a magma pipe reaches the surface it can freeze over in cold [[climate]]s, or may simply stop just short of surface. In theses case it will have a [[obsidian]] cap over it, which is easier to find: just search for any hills or mountainsides that have a circular chunk missing and/or a grey circle of stone (example on the right).&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;br /&gt;
&lt;br /&gt;
{{Mining FAQ}}&lt;/div&gt;</summary>
		<author><name>Sfogarty</name></author>
	</entry>
</feed>