<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Orbcontrol</id>
	<title>Dwarf Fortress Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://dwarffortresswiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Orbcontrol"/>
	<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php/Special:Contributions/Orbcontrol"/>
	<updated>2026-04-09T02:09:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Garbage_dump&amp;diff=215593</id>
		<title>Garbage dump</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Garbage_dump&amp;diff=215593"/>
		<updated>2015-01-25T17:47:00Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: Noted change of dumping hotkey, for any confused players coming here to figure out why dumping is broken.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Quality|Exceptional|23:47, 24 August 2014 (UTC)}}&lt;br /&gt;
{{projects}}{{av}}&lt;br /&gt;
&lt;br /&gt;
[[File:Stockpile.png|thumb|350px|right|Garbage dumps are used most often for clearing out large areas of leftover stone - for instance, when constructing a [[stockpile]].]]&lt;br /&gt;
&lt;br /&gt;
'''Garbage dumps''' are [[activity zone]]s in which dwarves will throw items marked for dumping - either with by using {{k|k}}-{{k|d}} (one item at a time), or {{k|d}}-{{k|b}}-{{k|d}} (bulk dumping; note that this designates ''all'' items on the tiles for dumping, even built [[furniture]] and items inside [[container]]s). Garbage dumps are ''not'' the same as [[Refuse#Refuse|refuse]] stockpiles, which can be designated to accept specific type(s) of refuse, such as animal [[corpse]]s or [[bones]], and then are automatically filled by haulers whenever the items appear on the map. Despite the name, garbage dump zones are useful for many things beyond [[garbage disposal]]; they can create [[quantum stockpile]]s, transport materials to a job site, send items to the [[trade depot]] when no caravan is present, [[trap design#Falling_debris_trap|drop rocks]] on enemies below, and numerous other uses.&lt;br /&gt;
&lt;br /&gt;
To place a garbage dump, create a zone ({{k|i}}) on either a relatively empty plot of land or adjacent to a cliff face or hole and enable garbage {{k|d}}umping. If a garbage zone is designated beside a [[cliff]] or hole (both natural or dwarf made) garbage will be thrown off/in the z-space. Each ground tile within that zone is considered a garbage dump tile; thus, if you want to place a single-tile zone, place the zone onto a ground tile (optionally adjacent to a cliff or [[pit]]), not onto an [[open space]].&lt;br /&gt;
&lt;br /&gt;
Garbage dumps only accept items that have been marked for dumping, require dwarves to have [[refuse hauling]] [[labor]] enabled, and are subject to refuse [[standing orders]] ({{k|o}}-{{k|r}}). Most notably, dwarves will ''not'' dump items that are in a tile marked &amp;quot;Above Ground&amp;quot; unless you allow them to ({{k|o}}-&amp;gt;{{k|r}}-&amp;gt;{{k|o}}). Items dumped into [[magma]] that are not [[magma safe]] will permanently disappear, which is useful for disposing of clutter and increasing [[FPS]]. Otherwise a single tile (either a dump zone, or the ground below the open space) will hold any number of dumped objects. Dumping items into [[magma]] can be [[fun|dangerous]] due to the [[magma mist]] generated when objects fall into magma. It is advised to dump items into magma from a hole several z-levels up to avoid [[Fire|!!Dwarves!!]] running around the fortress.&lt;br /&gt;
&lt;br /&gt;
Dumped items are automatically marked as [[forbid]]den, preventing dwarves from touching them. If you wish to use dumped items, you need to reclaim them.  Press {{k|k}} to view the item and {{k|f}} to toggle forbid status.  You may also use the reclaim [[designation]] to reclaim simultaneously all of the items dumped by using {{k|d}}-{{k|b}}-{{k|c}} and tracing the designation over the objects in question. If you designate items for dumping, but forget to mark an active garbage dump, your dwarves will ignore the item until an active garbage dump is marked.&lt;br /&gt;
&lt;br /&gt;
If a garbage dump is located next to open space, dwarves will always stand on a garbage dump square when throwing ''into'' that open space, even if it could potentially be done more efficiently.  If a garbage dump is located next to multiple tiles of open space, they seem to prefer the one farthest to the northwest.  If a tile to the north and a tile to the west are the only tiles available, they will throw to the west.  Such garbage dumps can be a very efficient method of moving materials to the lower levels of your fortress. However care must be taken to prevent dwarves and livestock from being struck by falling objects, perhaps with [[traffic]] designations and [[pasture]]s. Dwarves usually throw dumped items in the nearest available garbage dump, although this is not an ironclad rule.  If a nearer zone becomes available after they have already started the job they will ignore it. They also have a preference for open space dumps.&lt;br /&gt;
&lt;br /&gt;
Probably due to a bug, dwarves occasionally ignore items that are meant to be dumped; viewing the item by pressing {{k|k}} then toggling forbid and dump status on, then off again ({{k|f}}-{{k|f}}-{{k|d}}-{{k|d}}) seems to correct this problem. Dumping items requires the '[[refuse hauling]]' labor. Items located in an &amp;quot;outside&amp;quot; tile will not be moved unless 'gather refuse from outside' is enabled in your [[standing orders]].&lt;br /&gt;
&lt;br /&gt;
Garbage dumps are great space savers because they can hold an infinite number of items on one tile; with some micromanagement they can even compress large, one-item-per-tile [[stockpile]]s into single-tile [[quantum stockpile]]s (although this requires additional work and is usually considered an [[exploit]]). The most common use for garbage dumps is for cleaning away loose stones left in your fortress by your [[miner]]s: mark them for dumping, wait for the jobs to be completed, and then reclaim them ({{k|d}}-{{k|b}}-{{k|c}}) for use by your stonemasons; bonus points if you do this next to a stoneworking workshop and then re-designate the tile as a stone stockpile. If the dump is designated inside a workshop, the workshop will not become cluttered. However, if you put a garbage dump inside a magma workshop with the intent of dumping ores there, make sure the zone does not overlap any open pits of magma you may have carelessly left around, or as per intended behavior, items will be dumped into the magma.&lt;br /&gt;
&lt;br /&gt;
The garbage dump may be inappropriately named, as it's more of a matter compression zone. The specifics are beyond human understanding; however, dwarves are in fact capable of compressing an infinite amount of matter into only one tile, as long as it is specified as a garbage dump. If for some reason [[Main:Urist|Urist]] is yet again incapable of locating his favorite pair of cave troll leather socks, he should think to look among the black hole of matter that is the nearest garbage dump, as they could be snugly lodged between a few billion rocks.&lt;br /&gt;
&lt;br /&gt;
==Dwarves won't dump no matter what I do==&lt;br /&gt;
&lt;br /&gt;
The key to set a zone for dumping is now {{k|d}} instead of {{k|g}}. Make sure that your muscle-memory has not caused you to designate a fruit gathering zone by accident.&lt;br /&gt;
&lt;br /&gt;
{{Category|Designations}}&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Maximizing_framerate&amp;diff=133364</id>
		<title>v0.31:Maximizing framerate</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Maximizing_framerate&amp;diff=133364"/>
		<updated>2010-12-10T18:57:02Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: Added a bit more info to the single/multi-thread entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{quality|Fine|08:00, 22 May 2010 (UTC)}}&lt;br /&gt;
{{av}}&lt;br /&gt;
[[File:Frames_Per_Second_Meter.png|300px|thumb|bottom|A picture of Dwarf Fortress with Frames Per Second displayed.]]&lt;br /&gt;
&lt;br /&gt;
{{L|Frames per second|Framerate}} is used in Dwarf Fortress to measure the speed at which the game is running. To check your FPS (frames per second) in Dwarf Fortress, simply change [FPS:NO] to [FPS:YES] in {{l|init.txt}}, and your FPS will be displayed on the top row of the screen.  The first number is the current frame rate, while the number in parenthesis is the current graphical frame refresh rate.&lt;br /&gt;
&lt;br /&gt;
The graphical FPS is also used to control how often input is received; you may find 5-15 graphical rate too clumsy for fluid text and mouse input.&lt;br /&gt;
&lt;br /&gt;
==Ways to increase your framerate==&lt;br /&gt;
* Limiting the number of dwarves and other moving units (cage or butcher animals!) greatly helps keep speed up.&lt;br /&gt;
&lt;br /&gt;
* Due to bug (0000296), contaminants such as blood, snow, etc, count as items.  Since contaminants can spread and you cannot easily get rid of them, try to avoid things that spread contaminants: wells, killing things in high traffic spots, and soap. &amp;lt;br&amp;gt;If you have a beast that exudes slime, you might as well save your game and wait for an update. Or kill it and use dfcleanmap.&lt;br /&gt;
&lt;br /&gt;
* Get rid of blood and dirt splatters dwarves and pets are carrying around. Doing so increased FPS from 8 to 33 on my machine(6 embark tiles, 130 dwarves, 250 animals, 3 caverns). to achieve this, you can either build a moat/wading pool around a well-visited area, which keeps the water height on 1-2 by using a pump which will clean the water from the dirt. When the dwarves walk through the water, the contaminants will be washed away. A hacking-tools way is to place some 7/7 water splatters around important paths with dfliquids, and running dfcleanmap continuously to remove the blood that gets washed away from the dwarves.&lt;br /&gt;
&lt;br /&gt;
* Decreasing the G_FPS in the init text file can improve your fortress' overall FPS. Be careful however, decreasing it too much can subject you to &amp;quot;incomprehensible graphic instabilities&amp;quot;. G_FPS refers to the &amp;quot;maximum graphical frame refresh rate during play.&amp;quot; In other words, the maximum number of times it repaints the graphics of your game per second. Remember, with a low G_FPS, it can be dangerous during battle or when arrows are flying over your Dwarves' heads, because the screen doesn't update as often. The default is 50 G_FPS, but it's been reported that 20 G_FPS is fine. Others report being able to play at even 5 G_FPS. There is no set number, just remember to test out a variety of numbers to see which one is right for you and your computer.&lt;br /&gt;
&lt;br /&gt;
* While you're in the init file, play around with PRINT_MODE. DF has recently made it's first foray into SDL, and changing the print mode might let it take slightly better advantage of your graphics card.&lt;br /&gt;
&lt;br /&gt;
*Disabling [[Temperature]] and [[Weather]] in the d_init file increases speed due to fewer calculations being required, but rain will clean the map from blood and broken arrows, so it may actually improve the framerate.&lt;br /&gt;
&lt;br /&gt;
*World size and fortress site size increase RAM usage and decrease speed. Check if you are happier with an embark rectangle of 3x3 or 3x2 and a medium or small world. &lt;br /&gt;
::(DF .31.12) World size probably doesn't matter at all (except for save file size), but the embark size and how many cavern layers the world has (defaults to 3).&lt;br /&gt;
&lt;br /&gt;
*Lowering the pathfinding cost for normal tiles to 1 can reduce lag created by open space, but then your high traffic zones are the same as normal zones. Alternatively, you can cover the entire map with high traffic tiles, and simply make everything you don't want your dwarves traveling through low or restricted.&lt;br /&gt;
&lt;br /&gt;
*Closing the fort's entrance to the outside world with a raised bridge or forbidden door decreases the number of possible routes the pathfinder has to calculate, thus increases performance.&lt;br /&gt;
&lt;br /&gt;
* Some people try to reduce the number of items in the fort by &amp;quot;atom-smashing&amp;quot; them under a bridge or donating them away to traders. Alternatively, less digging in the first place results in fewer stones and corridors in the world to consider.&lt;br /&gt;
&lt;br /&gt;
* It will sometimes be mentioned is that since DF is single-threaded, followed by some-suggestion-or-other based on this assertion. This is no longer quite true. It is true that the ''vast majority'' of the work still takes place in a single thread, and Toady has no plans to ever multithread the game logic, but DF does have at least one other thread handling the SDL graphics. This means that (all else being equal) DF should run faster on 2 cores than on 1, but won't run faster on 3 cores than it did on 2.&lt;br /&gt;
Be cautious of any FPS-increasing suggestions that still assume the game is completely single-threaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Success Stories == &lt;br /&gt;
Losing is [[Fun]]! But there's nothing fun about abandoning your fortress because the framerate has dropped to 6. For many, more fortresses are lost to fps death than anything else, and improving framerate remains a something of a mystery. If you find something that works, please share it here.&lt;br /&gt;
&lt;br /&gt;
===From 40fps to 140fps===&lt;br /&gt;
&lt;br /&gt;
''pc: 2.2ghz 1.5gb ram. fortress: 2x2 embark, 40-50 dwarves, 130 animals. temp &amp;amp; weather off. 1 cavern''&lt;br /&gt;
&lt;br /&gt;
This fort ran at 150fps for a while but gradually after 11 years slowed to 27.&lt;br /&gt;
At this point I've focused my efforts exclusively on maximizing framerate, trying the usual tricks: &lt;br /&gt;
* Atom-smashing: no help AT ALL. &lt;br /&gt;
* Animal slaughtering / caging: gained 10-15fps for killing about 50 animals.&lt;br /&gt;
* Then I notice that my dwarves are FILTHY! Some having over 10+ pages of various blood and pus spatterings in their inventories.&lt;br /&gt;
I dig a crude bath, which consists of a hallway which dips down into a brief channel and back up before hitting a dead end.&lt;br /&gt;
I designate a Pond zone over the channel and the dwarves waste no time in drawing a bath (1/7 deep). &lt;br /&gt;
After designating a burrow on the other side of the bath, I order the entire fortress to it via the Alerts screen (restricting them to that burrow).&lt;br /&gt;
Immediately upon crossing the channel my framerate went from ~40 to ~140 and it is decided the fortress will live on!&lt;br /&gt;
&lt;br /&gt;
'''Conclusion''': The amount of items on the map and pathfinding were very minor causes of slowdown in my case. The increases gained from slaughtering animals may well have been from their contaminants being destroyed in the process rather than the pathing they were calculating. Above all, the contaminants were the cause of this fortresses near-demise. --[[User:Uninvited Guest|Uninvited Guest]] 07:27, 1 December 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.31:Maximizing_framerate&amp;diff=133363</id>
		<title>v0.31:Maximizing framerate</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.31:Maximizing_framerate&amp;diff=133363"/>
		<updated>2010-12-10T18:48:46Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: Added info about PRINT_MODE, and about the semi-popular &amp;quot;singlethreaded&amp;quot; misconception.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{quality|Fine|08:00, 22 May 2010 (UTC)}}&lt;br /&gt;
{{av}}&lt;br /&gt;
[[File:Frames_Per_Second_Meter.png|300px|thumb|bottom|A picture of Dwarf Fortress with Frames Per Second displayed.]]&lt;br /&gt;
&lt;br /&gt;
{{L|Frames per second|Framerate}} is used in Dwarf Fortress to measure the speed at which the game is running. To check your FPS (frames per second) in Dwarf Fortress, simply change [FPS:NO] to [FPS:YES] in {{l|init.txt}}, and your FPS will be displayed on the top row of the screen.  The first number is the current frame rate, while the number in parenthesis is the current graphical frame refresh rate.&lt;br /&gt;
&lt;br /&gt;
The graphical FPS is also used to control how often input is received; you may find 5-15 graphical rate too clumsy for fluid text and mouse input.&lt;br /&gt;
&lt;br /&gt;
==Ways to increase your framerate==&lt;br /&gt;
* Limiting the number of dwarves and other moving units (cage or butcher animals!) greatly helps keep speed up.&lt;br /&gt;
&lt;br /&gt;
* Due to bug (0000296), contaminants such as blood, snow, etc, count as items.  Since contaminants can spread and you cannot easily get rid of them, try to avoid things that spread contaminants: wells, killing things in high traffic spots, and soap. &amp;lt;br&amp;gt;If you have a beast that exudes slime, you might as well save your game and wait for an update. Or kill it and use dfcleanmap.&lt;br /&gt;
&lt;br /&gt;
* Get rid of blood and dirt splatters dwarves and pets are carrying around. Doing so increased FPS from 8 to 33 on my machine(6 embark tiles, 130 dwarves, 250 animals, 3 caverns). to achieve this, you can either build a moat/wading pool around a well-visited area, which keeps the water height on 1-2 by using a pump which will clean the water from the dirt. When the dwarves walk through the water, the contaminants will be washed away. A hacking-tools way is to place some 7/7 water splatters around important paths with dfliquids, and running dfcleanmap continuously to remove the blood that gets washed away from the dwarves.&lt;br /&gt;
&lt;br /&gt;
* Decreasing the G_FPS in the init text file can improve your fortress' overall FPS. Be careful however, decreasing it too much can subject you to &amp;quot;incomprehensible graphic instabilities&amp;quot;. G_FPS refers to the &amp;quot;maximum graphical frame refresh rate during play.&amp;quot; In other words, the maximum number of times it repaints the graphics of your game per second. Remember, with a low G_FPS, it can be dangerous during battle or when arrows are flying over your Dwarves' heads, because the screen doesn't update as often. The default is 50 G_FPS, but it's been reported that 20 G_FPS is fine. Others report being able to play at even 5 G_FPS. There is no set number, just remember to test out a variety of numbers to see which one is right for you and your computer.&lt;br /&gt;
&lt;br /&gt;
* While you're in the init file, play around with PRINT_MODE. DF has recently made it's first foray into SDL, and changing the print mode might let it take slightly better advantage of your graphics card.&lt;br /&gt;
&lt;br /&gt;
*Disabling [[Temperature]] and [[Weather]] in the d_init file increases speed due to fewer calculations being required, but rain will clean the map from blood and broken arrows, so it may actually improve the framerate.&lt;br /&gt;
&lt;br /&gt;
*World size and fortress site size increase RAM usage and decrease speed. Check if you are happier with an embark rectangle of 3x3 or 3x2 and a medium or small world. &lt;br /&gt;
::(DF .31.12) World size probably doesn't matter at all (except for save file size), but the embark size and how many cavern layers the world has (defaults to 3).&lt;br /&gt;
&lt;br /&gt;
*Lowering the pathfinding cost for normal tiles to 1 can reduce lag created by open space, but then your high traffic zones are the same as normal zones. Alternatively, you can cover the entire map with high traffic tiles, and simply make everything you don't want your dwarves traveling through low or restricted.&lt;br /&gt;
&lt;br /&gt;
*Closing the fort's entrance to the outside world with a raised bridge or forbidden door decreases the number of possible routes the pathfinder has to calculate, thus increases performance.&lt;br /&gt;
&lt;br /&gt;
* Some people try to reduce the number of items in the fort by &amp;quot;atom-smashing&amp;quot; them under a bridge or donating them away to traders. Alternatively, less digging in the first place results in fewer stones and corridors in the world to consider.&lt;br /&gt;
&lt;br /&gt;
* It will sometimes be mentioned is that since DF is single-threaded, followed by some-suggestion-or-other based on this assertion. This is no longer true. It is true that the vast majority of the work still takes place in a single thread, and Toady has no plans to ever multithread the game logic, but DF does have at least one other thread handling the SDL graphics. Be cautious of any FPS-increasing suggestions that don't take that into account.&lt;br /&gt;
&lt;br /&gt;
== Success Stories == &lt;br /&gt;
Losing is [[Fun]]! But there's nothing fun about abandoning your fortress because the framerate has dropped to 6. For many, more fortresses are lost to fps death than anything else, and improving framerate remains a something of a mystery. If you find something that works, please share it here.&lt;br /&gt;
&lt;br /&gt;
===From 40fps to 140fps===&lt;br /&gt;
&lt;br /&gt;
''pc: 2.2ghz 1.5gb ram. fortress: 2x2 embark, 40-50 dwarves, 130 animals. temp &amp;amp; weather off. 1 cavern''&lt;br /&gt;
&lt;br /&gt;
This fort ran at 150fps for a while but gradually after 11 years slowed to 27.&lt;br /&gt;
At this point I've focused my efforts exclusively on maximizing framerate, trying the usual tricks: &lt;br /&gt;
* Atom-smashing: no help AT ALL. &lt;br /&gt;
* Animal slaughtering / caging: gained 10-15fps for killing about 50 animals.&lt;br /&gt;
* Then I notice that my dwarves are FILTHY! Some having over 10+ pages of various blood and pus spatterings in their inventories.&lt;br /&gt;
I dig a crude bath, which consists of a hallway which dips down into a brief channel and back up before hitting a dead end.&lt;br /&gt;
I designate a Pond zone over the channel and the dwarves waste no time in drawing a bath (1/7 deep). &lt;br /&gt;
After designating a burrow on the other side of the bath, I order the entire fortress to it via the Alerts screen (restricting them to that burrow).&lt;br /&gt;
Immediately upon crossing the channel my framerate went from ~40 to ~140 and it is decided the fortress will live on!&lt;br /&gt;
&lt;br /&gt;
'''Conclusion''': The amount of items on the map and pathfinding were very minor causes of slowdown in my case. The increases gained from slaughtering animals may well have been from their contaminants being destroyed in the process rather than the pathing they were calculating. Above all, the contaminants were the cause of this fortresses near-demise. --[[User:Uninvited Guest|Uninvited Guest]] 07:27, 1 December 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.34:Importing_and_exporting_worlds&amp;diff=132955</id>
		<title>v0.34:Importing and exporting worlds</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.34:Importing_and_exporting_worlds&amp;diff=132955"/>
		<updated>2010-12-04T03:37:07Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Found a great site that you want to share with others? Are people asking you for your &amp;quot;world gen parameters&amp;quot; or &amp;quot;seed&amp;quot;?&lt;br /&gt;
Maybe you want to play a save or embark someone else posted? Maybe you just want to back up your world or your game and save it for later?&lt;br /&gt;
&lt;br /&gt;
This page is for you.&lt;br /&gt;
&lt;br /&gt;
There are two ways of moving worlds in and out of DF: The seed, or the save.&lt;br /&gt;
&lt;br /&gt;
= Seed =&lt;br /&gt;
&lt;br /&gt;
When people say &amp;quot;the seed&amp;quot;, they usually mean &amp;quot;the world gen parameters&amp;quot;, but seed it shorter to say. Using a person's world gen parameters, you can generate the same world in your game that they did in theirs (provided your versions of DF are similar enough). Of course you won't get their fort, or anything else they built in that world, just the world as it was when it was genned.&lt;br /&gt;
&lt;br /&gt;
==Export the seed if you haven't embarked:==&lt;br /&gt;
Start the game in Legends mode, and press P. Your Dwarf Fortress folder should now contain several new files including a text file with phrase &amp;quot;world_gen_param&amp;quot; in its name. That's the one people want. Copy/Paste the text inside it into your forum post (use spoiler tags so people don't have to scroll as much).&lt;br /&gt;
(You can delete the extra files too if you want)&lt;br /&gt;
&lt;br /&gt;
==Export the seed if you've already embarked:==&lt;br /&gt;
Load up your fortress and press escape repeatedly until you reach the &amp;quot;Return, Save, key bindings, abandon fort, blah blah blah&amp;quot; options menu. Go to &amp;quot;export local image&amp;quot;. Export local images of however much of you fortress you want (select only one level of it to save time exporting). Your Dwarf Fortress folder should now contain several new files including a text file with phrase &amp;quot;world_gen_param&amp;quot; in its name. Thats the one people want. Copy/Paste the text inside it into your forum post (use spoiler tags so people don't have to scroll as much).&lt;br /&gt;
(You can delete the extra files too if you want)&lt;br /&gt;
&lt;br /&gt;
==Using a seed someone else posted==&lt;br /&gt;
Open your Dwarf Fortress folder, go to Data, then Init. Open the text file called &amp;quot;world_gen.txt&amp;quot;. Copy/Paste your parameters at the bottom of that file. Save and close it.&lt;br /&gt;
Open Dwarf Fortress. Go to &amp;quot;Design new world with parameters&amp;quot;. Worlds that you have parameters for are listed by title on the right. Choose your newly acquired world from the list and hit enter.&lt;br /&gt;
&lt;br /&gt;
=Save=&lt;br /&gt;
The save folder contains all the information on your world, and all the things you have done to it since you started playing. Use this if you want to share your actual *fortress* rather than just the pristine un-played world.&lt;br /&gt;
Moving save folders around is also a useful way to back up your games while keeping clutter to a minimum in the Continue Game menu.&lt;br /&gt;
&lt;br /&gt;
==Finding the save==&lt;br /&gt;
Your saved game is located in your Dwarf Fortress folder inside the &amp;quot;Data&amp;quot; folder. The save folder will contain one or more sub-folders, each one holding one of your worlds, and a &amp;quot;current&amp;quot; folder whose workings I do not currently understand. Until someone more knowledgeable updates this entry, I suggest only having one world per save folder at a time if you plan on moving them around a lot.&lt;br /&gt;
&lt;br /&gt;
==Giving the save to someone==&lt;br /&gt;
Upload the save folder (preferably zipped) to your favorite file host, or better yet to the [http://dffd.wimbli.com Dwarf Fortress File Deopt] (in the community saves section maybe? I honestly don't know, I've never done it before).&lt;br /&gt;
&lt;br /&gt;
==Getting the save from someone==&lt;br /&gt;
Move your own save folder somewhere safe, then drop the other person's save folder in it's place. Now proceed to pray that the other person hasn't modified their raw files, because if they have then you are in for a considerable inconvenience that is beyond the scope of this tutorial. People using heavily modified games will usually opt to just upload their entire game folder.&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=v0.34:Importing_and_exporting_worlds&amp;diff=132954</id>
		<title>v0.34:Importing and exporting worlds</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=v0.34:Importing_and_exporting_worlds&amp;diff=132954"/>
		<updated>2010-12-04T03:33:11Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: Couldn't find a tutorial on this, and it's a question that gets asked several times a day. We need a place to point people to.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Found a great site that you want to share with others?&lt;br /&gt;
Are people asking you for your &amp;quot;world gen parameters&amp;quot; or &amp;quot;seed&amp;quot;?&lt;br /&gt;
Maybe you want to play a save or embark someone else posted?&lt;br /&gt;
&lt;br /&gt;
This page is for you.&lt;br /&gt;
&lt;br /&gt;
There are two ways of moving worlds in and out of DF: The seed, or the save.&lt;br /&gt;
&lt;br /&gt;
= Seed =&lt;br /&gt;
&lt;br /&gt;
When people say &amp;quot;the seed&amp;quot;, they usually mean &amp;quot;the world gen parameters&amp;quot;, but seed it shorter to say. Using a person's world gen parameters, you can generate the same world in your game that they did in theirs (provided your versions of DF are similar enough). Of course you won't get their fort, or anything else they built in that world, just the world as it was when it was genned.&lt;br /&gt;
&lt;br /&gt;
==Export the seed if you haven't embarked:==&lt;br /&gt;
Start the game in Legends mode, and press P. Your Dwarf Fortress folder should now contain several new files including a text file with phrase &amp;quot;world_gen_param&amp;quot; in its name. That's the one people want. Copy/Paste the text inside it into your forum post (use spoiler tags so people don't have to scroll as much).&lt;br /&gt;
(You can delete the extra files too if you want)&lt;br /&gt;
&lt;br /&gt;
==Export the seed if you've already embarked:==&lt;br /&gt;
Load up your fortress and press escape repeatedly until you reach the &amp;quot;Return, Save, key bindings, abandon fort, blah blah blah&amp;quot; options menu. Go to &amp;quot;export local image&amp;quot;. Export local images of however much of you fortress you want (select only one level of it to save time exporting). Your Dwarf Fortress folder should now contain several new files including a text file with phrase &amp;quot;world_gen_param&amp;quot; in its name. Thats the one people want. Copy/Paste the text inside it into your forum post (use spoiler tags so people don't have to scroll as much).&lt;br /&gt;
(You can delete the extra files too if you want)&lt;br /&gt;
&lt;br /&gt;
==Using a seed someone else posted==&lt;br /&gt;
Open your Dwarf Fortress folder, go to Data, then Init. Open the text file called &amp;quot;world_gen.txt&amp;quot;. Copy/Paste your parameters at the bottom of that file. Save and close it.&lt;br /&gt;
Open Dwarf Fortress. Go to &amp;quot;Design new world with parameters&amp;quot;. Worlds that you have parameters for are listed by title on the right. Choose your newly acquired world from the list and hit enter.&lt;br /&gt;
&lt;br /&gt;
=Save=&lt;br /&gt;
The save folder contains all the information on your world, and all the things you have done to it since you started playing. Use this if you want to share your actual *fortress* rather than just the pristine un-played world.&lt;br /&gt;
Moving save folders around is also a useful way to back up your games while keeping clutter to a minimum in the Continue Game menu.&lt;br /&gt;
&lt;br /&gt;
==Finding the save==&lt;br /&gt;
Your saved game is located in your Dwarf Fortress folder inside the &amp;quot;Data&amp;quot; folder. The save folder will contain one or more sub-folders, each one holding one of your worlds, and a &amp;quot;current&amp;quot; folder whose workings I do not currently understand. Until someone more knowledgeable updates this entry, I suggest only having one world per save folder at a time if you plan on moving them around a lot.&lt;br /&gt;
&lt;br /&gt;
==Giving the save to someone==&lt;br /&gt;
Upload the save folder (preferably zipped) to your favorite file host, or better yet to the [http://dffd.wimbli.com Dwarf Fortress File Deopt] (in the community saves section maybe? I honestly don't know, I've never done it before).&lt;br /&gt;
&lt;br /&gt;
==Getting the save from someone==&lt;br /&gt;
Move your own save folder somewhere safe, then drop the other person's save folder in it's place. Now proceed to pray that the other person hasn't modified their raw files, because if they have then you are in for a considerable inconvenience that is beyond the scope of this tutorial. People using heavily modified games will usually opt to just upload their entire game folder.&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Exploit&amp;diff=60249</id>
		<title>40d:Exploit</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Exploit&amp;diff=60249"/>
		<updated>2009-12-29T12:05:58Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: /* Melting chests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An '''exploit''' is a quirk of a game that allows players to gain what other players may consider an unfair advantage, usually by making use of a feature that is not working properly or which defies logic. 'Exploiting the game' is distinct from '[[cheating]]' because exploits occur within the game as written and do not need any external [[utilities]] or [[modding]]. Whether a player chooses to make use of an exploit or not depends on their personal taste; given that [[Dwarf Fortress]] is a single-player game, the user alone can decide what liberties to take and what options to shun. Among DF players there is much discussion what actually should be considered an exploit, going from making sweetpod syrup instead of sugar, growing crops in winter, or even underground, as the one extreme, to justifying 'water wheel batteries' as the other. This page takes a rather relaxed approach in that you considering it an exploit is basically enough to add it, if you don't get too much opposition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some exploits are listed below.&lt;br /&gt;
&lt;br /&gt;
== Atom Smasher ==&lt;br /&gt;
&lt;br /&gt;
A [[drawbridge]], when rapidly triggered on and off, can be used to obliterate any creature or item beneath it.  Only large creatures (with a SIZE greater than 10) are capable of withstanding a drawbridge crush.&lt;br /&gt;
&lt;br /&gt;
==Bling Bolts==&lt;br /&gt;
&lt;br /&gt;
Adding a [[decoration]] to a stack of [[bolt]]s causes a huge [[value]] increase. The value of the decoration is multiplied by the number of bolts in the stack. This is considered a [[bug]].&lt;br /&gt;
&lt;br /&gt;
==Bookkeeper Exercise Program==&lt;br /&gt;
Changing your [[bookkeeper]]'s settings to maximum accuracy causes him to work furiously in his office, training quickly up to [[legendary]]. Even if this is a bug it is not really an exploit, since a) you actually want highest precision anyway b) he attains highest precision rather fast (depending, for example, on how many stones you have mined) and thus one can not train an unlimited number of, if even several, dwarves that way.&lt;br /&gt;
&lt;br /&gt;
== Castle of Ice in a Lake of Fire ==&lt;br /&gt;
&lt;br /&gt;
[[Construction]]s are indestructible, regardless of material, and walls of wood and ice easily stand up to [[magma]]. Entire fortresses can be built of ice in temperate climates equally impervious to catapults, the summer sun, or a thousand tons of boiling lava.&lt;br /&gt;
&lt;br /&gt;
On a similar note, all buildings and furniture are equally strong - indestructible to most creatures, tissue paper to others. Witness a single troll bashing through a multilayered set of [[adamantine]] and [[steel]] doors, while an army of Elite Hammergoblins are stymied by a single [[glass]] [[portal]].&lt;br /&gt;
&lt;br /&gt;
== Cooking alcohol ==&lt;br /&gt;
&lt;br /&gt;
[[Alcohol]] can be cooked without requiring any other solid ingredients, producing food that is eaten and not imbibed.  Doing so is a highly efficient means of producing food, as each plant produces five units of alcohol.&lt;br /&gt;
&lt;br /&gt;
Though some consider it an exploit, many people make use of this feature.  It will eventually be plugged with [http://www.bay12games.com/dwarves/dev_req_101-150.html Req129]:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Req129, IMPROVE COOKING, (Future): More food. Food should require a substrate, rather than just being seeds etc. Seeds, syrups, drinks and other such objects can contribute to the likes/dislike checks as they do now, but they shouldn't add to the number created. A good roll could lead to the recipe being given a name and saved to the entity definition, where it can then be encountered in other cities in subsequent games.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dwarven Kick In The Pants ==&lt;br /&gt;
When a dwarf is &amp;quot;On [[Break]]&amp;quot;, it is possible to draft this civilian into the military and then immediately undraft in order to cancel the break.  This does give an unhappy [[thought]] (but only if the dwarf has no military and/or civilian skills), so it is not a significant exploit and some may consider it a perfectly acceptable gameplay method.  Of course, if you allow every dwarf to spar a little when you draft them so that they are at least Novice Wrestlers, you'll get the double advantage of being able to cancel dwarfs' breaks at will and then send them back to work with no unhappy thoughts, as well as having dwarves who fare a little better against unexpected attacks.&lt;br /&gt;
&lt;br /&gt;
== Extremely Intricate Artifacts ==&lt;br /&gt;
&lt;br /&gt;
When a moody dwarf sets out to fetch some material he's craving, forbid all the other items he has gathered so far. The dwarf will set out to find a replacement for the forbidden item(s). When he returns, forbid the new one, and so on. After a while you should have a large stockpile of stuff on the moody dwarfs workshop. After you unforbid an item, the dwarf will retask it if the number of items of that type that were gathered before that one is not enough for the artifact. With careful forbidding and unforbidding, you can create ridiculously large artifacts.&lt;br /&gt;
&lt;br /&gt;
== Extremely Intricate Artifacts II ==&lt;br /&gt;
Put all workshops outside, then set set your [[standing orders]] to &amp;quot;Soldiers Can Go Outdoors&amp;quot; or &amp;quot;Dwarves Stay Indoors&amp;quot; once you get a strange mood. Your dwarf will start collecting his first requested material over and over, never proceeding to subsequent objects. Set orders back to &amp;quot;Dwarves Can Go Outdoors&amp;quot; to make him finish gathering the rest of his materials and produce an artifact using '''all''' of the materials gathered. It is suspected that this method is what resulted in the creation of [[Planepacked]].&lt;br /&gt;
&lt;br /&gt;
== Frère Jacques ==&lt;br /&gt;
Need a [[sleep]]ing dwarf to do some work? Kick him out of bed by deconstructing it. This does not cause an unhappy thought.&lt;br /&gt;
&lt;br /&gt;
==Infinite Quivers==&lt;br /&gt;
By setting archery ranges where nobody can use them, and ammo stockpiles without any space for more ammo, you can force your marksdwarves to fill their quivers with an arbitrarily large number of arrows. They will pick up bolts to go practice, decide they can't because there's no room, decide not to put the bolts back because there's no room in the stockpile, and keep the bolts in their quiver, along with the other 200 or so they have. The bolts still weigh as much as they should, so dwarves will still be slowed by their humongous quivers.&lt;br /&gt;
&lt;br /&gt;
==Manager Exercise Program==&lt;br /&gt;
&lt;br /&gt;
As a [[Manager]], skill is gained as tasks are approved, not completed. Simply by queueing lots of jobs ({{key|j}} {{key|m}} {{key|q}}), the manager will quickly level to [[legendary]].  The tasks can then be removed once approved.&lt;br /&gt;
&lt;br /&gt;
==Merchant Swindles==&lt;br /&gt;
&lt;br /&gt;
There are a variety of ways to cheat [[merchant]]s out of their cargo without seizing it. Tearing down the [[trade depot]] while the merchants are there is the easiest way. &lt;br /&gt;
&lt;br /&gt;
Also, marking items for [[dump]]ing, using view creature mode ({{key|v}}), the stocks menu ({{key|z}}), items in room mode ({{key|t}}), or mass dump mode ({{key|d}})-({{key|b}})-({{key|d}}) then marking the entire depot, lets you relieve merchants of their goods. Just reclaim the items from your garbage dump [[zone]] later. You can even take clothing and equipment off merchant and guards this way. &lt;br /&gt;
&lt;br /&gt;
The merchants will still leave disappointed if they have less value in goods when they leave the map than when they entered {{verify}}.&lt;br /&gt;
&lt;br /&gt;
== Miasma can't move diagonally ==&lt;br /&gt;
[[Miasma]] can only move horizontally and vertically. This means that if your refuse stockpile is only accessible on a diagonal, there is no way for the miasma to escape. This is more effective than the use of doors or even pairs of doors in an &amp;quot;airlock&amp;quot; setup, as doors can be stuck open if a creature or material is occupying their square. The same method can be used to create enclosures to prevent the spread of miasma from kitchens, tanneries, and butcher shops.&lt;br /&gt;
&lt;br /&gt;
==Nudist Fortress==&lt;br /&gt;
&lt;br /&gt;
Dwarves get a bad [[thought]] from having [[clothing]] [[wear]] out{{verify}}, but nothing happens if they can't find replacement clothes. As long as you don't make new clothes, they will happily go naked. This also avoids the problem of messy dwarves leaving clothing strewn around the fortress. &lt;br /&gt;
&lt;br /&gt;
== Optimized-Value Artifacts/&amp;quot;Custom&amp;quot; materials ==	&lt;br /&gt;
When a dwarf enters a strange mood, examine the item types he wants to use, then use the Stocks menu to forbid all except those you want him to fetch. With no other choices available, he will use your valuable materials instead of the common junk that may be closer. By doing this, you can create artifacts with &amp;quot;optimized&amp;quot; wealth or make sure your armorsmith's artifact is actually made of [[steel]] rather than [[zinc]]. Be warned, though, that moody metalsmiths may insist on a specific type of metal if they have a preference for it, brooding in their workshop instead of fetching your desired materials. Also note that forbidding a type of stones also forbids the workshops made from that stone, preventing all your dwarves (except the moody one) from using them. The non-exploit variant of this is to build custom stockpiles near (or right under) your relevant workshops that only take highest value items, a typical choice being native platinum and steel bars.&lt;br /&gt;
&lt;br /&gt;
== Parents are back, party over! ==&lt;br /&gt;
A party can be stopped right away by {{K|f}}reeing (removing) the room the party is taking place in. The room can be recreated the same instance. Similarly, in times of high activity (e.g. mass dumping, trading; hauling) removing all rooms in which parties can take place will prevent them from being held. Since parties also have benefits this is not necessarily an exploit.&lt;br /&gt;
&lt;br /&gt;
== Quantum stockpiles ==&lt;br /&gt;
By designating a garbage pit [[zone]] instead of a [[stockpile]], you may store an infinite number of objects in a single tile by dumping them, then reclaiming them when you want to use them.&lt;br /&gt;
&lt;br /&gt;
A similar effect may be achieved by building a wall two tiles in front of a catapult and digging a channel between the wall and catapult. By firing the catapult at the wall, the stone falls into the trench. The stone will pile up in the channel, putting it out of sight and out of mind. Not only does this train [[siege operator]]s, but it clears the stone that your legendary [[miner]]s leave.&lt;br /&gt;
&lt;br /&gt;
Another way to quantum stockpile is to not have appropriate stockpiles to move items back you moved to the trading depot.  The depot can hold an arbitrary number of items, and those items will not be removed if there is nowhere else to place them. This is also useful for anything you want to trade anyway.&lt;br /&gt;
&lt;br /&gt;
==Recycling Archery Range==&lt;br /&gt;
&lt;br /&gt;
In an [[archery range]], [[bolt]]s that hit the target are are always destroyed, but bolts that miss can be saved. Dig a [[channel]] between the [[archery target]] and the back wall of the range, and [[stairs]] to get into it. Amazingly, the bolts will no longer shatter on impact with the wall, but fall intact into the channel. Reclaim the bolts, and your dwarves will re-use them for target practice. This exploit has the unfortunate side effect of splitting up [[stack]]s of bolts, so your dwarves will make a separate trip for each individual bolt. &lt;br /&gt;
&lt;br /&gt;
This trick will work for a [[ballista]] as well. Be careful for friendly fire.&lt;br /&gt;
&lt;br /&gt;
==River Freeze==&lt;br /&gt;
By setting temperature to NO in the init.txt file, a frozen river will remain frozen even during summer, allowing you to do anything you need to do before unfreezing it. This is especially useful for retrieving items or digging tunnels straight up to water sources without them flooding.&lt;br /&gt;
&lt;br /&gt;
== Self-powered pumps ==&lt;br /&gt;
&lt;br /&gt;
It is possible to produce a perpetual motion water pump where the act of pumping actually powers itself!  See [[screw pump]] and [[water wheel]] for details.&lt;br /&gt;
&lt;br /&gt;
== Trap fields ==&lt;br /&gt;
Laying a field of [[trap]]s with a significant-enough depth can protect your fortress from all invaders with no need to maintain a [[military]].  Traps are somehow intelligent enough to distinguish between [[pet]]s and allies while being dangerous to enemies and wild animals.&lt;br /&gt;
&lt;br /&gt;
== Melting chests ==&lt;br /&gt;
&lt;br /&gt;
It is impossible to melt chests. The job will be done and fuel is used, but the chest will not disappear and will remain designated for melting. Your furnace operator will continue trying to melt the chest repeatedly, gaining experience each time. Combined with a magma forge, this results in free Furnace Operator skill.&lt;br /&gt;
&lt;br /&gt;
[http://www.bay12games.com/forum/index.php?topic=46988.0 original discussion thread]&amp;lt;br /&amp;gt;&lt;br /&gt;
[http://www.bay12games.com/forum/index.php?topic=31660.0 bug report thread]&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Exploit&amp;diff=60248</id>
		<title>40d:Exploit</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Exploit&amp;diff=60248"/>
		<updated>2009-12-29T12:02:42Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: added melting chests exploit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An '''exploit''' is a quirk of a game that allows players to gain what other players may consider an unfair advantage, usually by making use of a feature that is not working properly or which defies logic. 'Exploiting the game' is distinct from '[[cheating]]' because exploits occur within the game as written and do not need any external [[utilities]] or [[modding]]. Whether a player chooses to make use of an exploit or not depends on their personal taste; given that [[Dwarf Fortress]] is a single-player game, the user alone can decide what liberties to take and what options to shun. Among DF players there is much discussion what actually should be considered an exploit, going from making sweetpod syrup instead of sugar, growing crops in winter, or even underground, as the one extreme, to justifying 'water wheel batteries' as the other. This page takes a rather relaxed approach in that you considering it an exploit is basically enough to add it, if you don't get too much opposition.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some exploits are listed below.&lt;br /&gt;
&lt;br /&gt;
== Atom Smasher ==&lt;br /&gt;
&lt;br /&gt;
A [[drawbridge]], when rapidly triggered on and off, can be used to obliterate any creature or item beneath it.  Only large creatures (with a SIZE greater than 10) are capable of withstanding a drawbridge crush.&lt;br /&gt;
&lt;br /&gt;
==Bling Bolts==&lt;br /&gt;
&lt;br /&gt;
Adding a [[decoration]] to a stack of [[bolt]]s causes a huge [[value]] increase. The value of the decoration is multiplied by the number of bolts in the stack. This is considered a [[bug]].&lt;br /&gt;
&lt;br /&gt;
==Bookkeeper Exercise Program==&lt;br /&gt;
Changing your [[bookkeeper]]'s settings to maximum accuracy causes him to work furiously in his office, training quickly up to [[legendary]]. Even if this is a bug it is not really an exploit, since a) you actually want highest precision anyway b) he attains highest precision rather fast (depending, for example, on how many stones you have mined) and thus one can not train an unlimited number of, if even several, dwarves that way.&lt;br /&gt;
&lt;br /&gt;
== Castle of Ice in a Lake of Fire ==&lt;br /&gt;
&lt;br /&gt;
[[Construction]]s are indestructible, regardless of material, and walls of wood and ice easily stand up to [[magma]]. Entire fortresses can be built of ice in temperate climates equally impervious to catapults, the summer sun, or a thousand tons of boiling lava.&lt;br /&gt;
&lt;br /&gt;
On a similar note, all buildings and furniture are equally strong - indestructible to most creatures, tissue paper to others. Witness a single troll bashing through a multilayered set of [[adamantine]] and [[steel]] doors, while an army of Elite Hammergoblins are stymied by a single [[glass]] [[portal]].&lt;br /&gt;
&lt;br /&gt;
== Cooking alcohol ==&lt;br /&gt;
&lt;br /&gt;
[[Alcohol]] can be cooked without requiring any other solid ingredients, producing food that is eaten and not imbibed.  Doing so is a highly efficient means of producing food, as each plant produces five units of alcohol.&lt;br /&gt;
&lt;br /&gt;
Though some consider it an exploit, many people make use of this feature.  It will eventually be plugged with [http://www.bay12games.com/dwarves/dev_req_101-150.html Req129]:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Req129, IMPROVE COOKING, (Future): More food. Food should require a substrate, rather than just being seeds etc. Seeds, syrups, drinks and other such objects can contribute to the likes/dislike checks as they do now, but they shouldn't add to the number created. A good roll could lead to the recipe being given a name and saved to the entity definition, where it can then be encountered in other cities in subsequent games.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dwarven Kick In The Pants ==&lt;br /&gt;
When a dwarf is &amp;quot;On [[Break]]&amp;quot;, it is possible to draft this civilian into the military and then immediately undraft in order to cancel the break.  This does give an unhappy [[thought]] (but only if the dwarf has no military and/or civilian skills), so it is not a significant exploit and some may consider it a perfectly acceptable gameplay method.  Of course, if you allow every dwarf to spar a little when you draft them so that they are at least Novice Wrestlers, you'll get the double advantage of being able to cancel dwarfs' breaks at will and then send them back to work with no unhappy thoughts, as well as having dwarves who fare a little better against unexpected attacks.&lt;br /&gt;
&lt;br /&gt;
== Extremely Intricate Artifacts ==&lt;br /&gt;
&lt;br /&gt;
When a moody dwarf sets out to fetch some material he's craving, forbid all the other items he has gathered so far. The dwarf will set out to find a replacement for the forbidden item(s). When he returns, forbid the new one, and so on. After a while you should have a large stockpile of stuff on the moody dwarfs workshop. After you unforbid an item, the dwarf will retask it if the number of items of that type that were gathered before that one is not enough for the artifact. With careful forbidding and unforbidding, you can create ridiculously large artifacts.&lt;br /&gt;
&lt;br /&gt;
== Extremely Intricate Artifacts II ==&lt;br /&gt;
Put all workshops outside, then set set your [[standing orders]] to &amp;quot;Soldiers Can Go Outdoors&amp;quot; or &amp;quot;Dwarves Stay Indoors&amp;quot; once you get a strange mood. Your dwarf will start collecting his first requested material over and over, never proceeding to subsequent objects. Set orders back to &amp;quot;Dwarves Can Go Outdoors&amp;quot; to make him finish gathering the rest of his materials and produce an artifact using '''all''' of the materials gathered. It is suspected that this method is what resulted in the creation of [[Planepacked]].&lt;br /&gt;
&lt;br /&gt;
== Frère Jacques ==&lt;br /&gt;
Need a [[sleep]]ing dwarf to do some work? Kick him out of bed by deconstructing it. This does not cause an unhappy thought.&lt;br /&gt;
&lt;br /&gt;
==Infinite Quivers==&lt;br /&gt;
By setting archery ranges where nobody can use them, and ammo stockpiles without any space for more ammo, you can force your marksdwarves to fill their quivers with an arbitrarily large number of arrows. They will pick up bolts to go practice, decide they can't because there's no room, decide not to put the bolts back because there's no room in the stockpile, and keep the bolts in their quiver, along with the other 200 or so they have. The bolts still weigh as much as they should, so dwarves will still be slowed by their humongous quivers.&lt;br /&gt;
&lt;br /&gt;
==Manager Exercise Program==&lt;br /&gt;
&lt;br /&gt;
As a [[Manager]], skill is gained as tasks are approved, not completed. Simply by queueing lots of jobs ({{key|j}} {{key|m}} {{key|q}}), the manager will quickly level to [[legendary]].  The tasks can then be removed once approved.&lt;br /&gt;
&lt;br /&gt;
==Merchant Swindles==&lt;br /&gt;
&lt;br /&gt;
There are a variety of ways to cheat [[merchant]]s out of their cargo without seizing it. Tearing down the [[trade depot]] while the merchants are there is the easiest way. &lt;br /&gt;
&lt;br /&gt;
Also, marking items for [[dump]]ing, using view creature mode ({{key|v}}), the stocks menu ({{key|z}}), items in room mode ({{key|t}}), or mass dump mode ({{key|d}})-({{key|b}})-({{key|d}}) then marking the entire depot, lets you relieve merchants of their goods. Just reclaim the items from your garbage dump [[zone]] later. You can even take clothing and equipment off merchant and guards this way. &lt;br /&gt;
&lt;br /&gt;
The merchants will still leave disappointed if they have less value in goods when they leave the map than when they entered {{verify}}.&lt;br /&gt;
&lt;br /&gt;
== Miasma can't move diagonally ==&lt;br /&gt;
[[Miasma]] can only move horizontally and vertically. This means that if your refuse stockpile is only accessible on a diagonal, there is no way for the miasma to escape. This is more effective than the use of doors or even pairs of doors in an &amp;quot;airlock&amp;quot; setup, as doors can be stuck open if a creature or material is occupying their square. The same method can be used to create enclosures to prevent the spread of miasma from kitchens, tanneries, and butcher shops.&lt;br /&gt;
&lt;br /&gt;
==Nudist Fortress==&lt;br /&gt;
&lt;br /&gt;
Dwarves get a bad [[thought]] from having [[clothing]] [[wear]] out{{verify}}, but nothing happens if they can't find replacement clothes. As long as you don't make new clothes, they will happily go naked. This also avoids the problem of messy dwarves leaving clothing strewn around the fortress. &lt;br /&gt;
&lt;br /&gt;
== Optimized-Value Artifacts/&amp;quot;Custom&amp;quot; materials ==	&lt;br /&gt;
When a dwarf enters a strange mood, examine the item types he wants to use, then use the Stocks menu to forbid all except those you want him to fetch. With no other choices available, he will use your valuable materials instead of the common junk that may be closer. By doing this, you can create artifacts with &amp;quot;optimized&amp;quot; wealth or make sure your armorsmith's artifact is actually made of [[steel]] rather than [[zinc]]. Be warned, though, that moody metalsmiths may insist on a specific type of metal if they have a preference for it, brooding in their workshop instead of fetching your desired materials. Also note that forbidding a type of stones also forbids the workshops made from that stone, preventing all your dwarves (except the moody one) from using them. The non-exploit variant of this is to build custom stockpiles near (or right under) your relevant workshops that only take highest value items, a typical choice being native platinum and steel bars.&lt;br /&gt;
&lt;br /&gt;
== Parents are back, party over! ==&lt;br /&gt;
A party can be stopped right away by {{K|f}}reeing (removing) the room the party is taking place in. The room can be recreated the same instance. Similarly, in times of high activity (e.g. mass dumping, trading; hauling) removing all rooms in which parties can take place will prevent them from being held. Since parties also have benefits this is not necessarily an exploit.&lt;br /&gt;
&lt;br /&gt;
== Quantum stockpiles ==&lt;br /&gt;
By designating a garbage pit [[zone]] instead of a [[stockpile]], you may store an infinite number of objects in a single tile by dumping them, then reclaiming them when you want to use them.&lt;br /&gt;
&lt;br /&gt;
A similar effect may be achieved by building a wall two tiles in front of a catapult and digging a channel between the wall and catapult. By firing the catapult at the wall, the stone falls into the trench. The stone will pile up in the channel, putting it out of sight and out of mind. Not only does this train [[siege operator]]s, but it clears the stone that your legendary [[miner]]s leave.&lt;br /&gt;
&lt;br /&gt;
Another way to quantum stockpile is to not have appropriate stockpiles to move items back you moved to the trading depot.  The depot can hold an arbitrary number of items, and those items will not be removed if there is nowhere else to place them. This is also useful for anything you want to trade anyway.&lt;br /&gt;
&lt;br /&gt;
==Recycling Archery Range==&lt;br /&gt;
&lt;br /&gt;
In an [[archery range]], [[bolt]]s that hit the target are are always destroyed, but bolts that miss can be saved. Dig a [[channel]] between the [[archery target]] and the back wall of the range, and [[stairs]] to get into it. Amazingly, the bolts will no longer shatter on impact with the wall, but fall intact into the channel. Reclaim the bolts, and your dwarves will re-use them for target practice. This exploit has the unfortunate side effect of splitting up [[stack]]s of bolts, so your dwarves will make a separate trip for each individual bolt. &lt;br /&gt;
&lt;br /&gt;
This trick will work for a [[ballista]] as well. Be careful for friendly fire.&lt;br /&gt;
&lt;br /&gt;
==River Freeze==&lt;br /&gt;
By setting temperature to NO in the init.txt file, a frozen river will remain frozen even during summer, allowing you to do anything you need to do before unfreezing it. This is especially useful for retrieving items or digging tunnels straight up to water sources without them flooding.&lt;br /&gt;
&lt;br /&gt;
== Self-powered pumps ==&lt;br /&gt;
&lt;br /&gt;
It is possible to produce a perpetual motion water pump where the act of pumping actually powers itself!  See [[screw pump]] and [[water wheel]] for details.&lt;br /&gt;
&lt;br /&gt;
== Trap fields ==&lt;br /&gt;
Laying a field of [[trap]]s with a significant-enough depth can protect your fortress from all invaders with no need to maintain a [[military]].  Traps are somehow intelligent enough to distinguish between [[pet]]s and allies while being dangerous to enemies and wild animals.&lt;br /&gt;
&lt;br /&gt;
== Melting chests ==&lt;br /&gt;
&lt;br /&gt;
It is impossible to melt chests. The job will be done and fuel is used, but the chest will not disappear and will remain designated for melting. Your furnace operator will continue trying to melt the chest repeatedly, gaining experience each time. Combined with a magma forge, this results in free Furnace Operator skill.&lt;br /&gt;
&lt;br /&gt;
[http://www.bay12games.com/forum/index.php?topic=46988.0 discussion thread]&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Web&amp;diff=58597</id>
		<title>40d:Web</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Web&amp;diff=58597"/>
		<updated>2009-11-24T00:35:41Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: effect of webs on vermin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Webs''' are the source of [[silk]], and appear randomly in fortress areas that are near [[chasm]] tiles or [[underground river]]s.  The web itself looks like a light-grey [[gem]], and is most often labeled as being from [[cave spider]]s, but the presence of the actual [[vermin]] is not necessary for the web to be formed on a given spot (though cave spiders will appear in the general [[biome]] where the webs are found). Similar webs can be found in a biome inhabited by [[giant cave spider]]s; an actual [[GCS]] will be present if these are found.  &lt;br /&gt;
&lt;br /&gt;
Webs will be collected ''automatically'' by dwarves with the [[weaving]] labor enabled, but not until the fortress has a [[loom]].  A ''collect web'' task will be triggered at the loom as long as webs are on the map and in reach. This can be comfortably deactivated with {{k|o}}-{{k|W}}-{{k|w}}. An important option since webs often occur in dangerous places you might want to secure first.  The [[weaver]] will then drop the collected thread in the loom and, depending on the loom setting ({{k|o}}-{{k|W}}-{{k|l}}) and availability of a stockpile, either leave it there, immediately weave it to cloth, or put it on a stockpile. Other ways to prevent collecting are preventing any dwarf from using the loom (e.g. with the {{k|P}} menu), deactivating the weaving [[labor]] on all dwarves or removing all looms. (Lack of stockpiles alone will ''not'' prevent this!)  If the webs are outside, or it requires an above-ground journey to [[path]] to them, changing {{k|o}}rders to &amp;quot;Dwarves stay {{k|i}}ndoors&amp;quot; will also prevent collecting. &lt;br /&gt;
&lt;br /&gt;
Webs become [[thread|silk thread]] the moment they are picked up.  Cave spider silk webs and thread are worth 12[[currency|☼]]; giant cave spider silk webs and thread are worth 120[[currency|☼]].  &lt;br /&gt;
&lt;br /&gt;
[[Giant cave spider]]s leave similar, individual webs behind, but also shoot long strings of dangerous entangling webs at targets prior to attacking - this behaviour can be used to create giant cave spider silk farms. It is not advised to allow weavers to randomly gather webs on maps where giant cave spiders might be lurking nearby.&lt;br /&gt;
&lt;br /&gt;
Webs are delicate, and can be destroyed by contact with any creature (except a dwarf that is gathering that web), or by any other rough treatment such as [[irrigate|irrigating]], etc.&lt;br /&gt;
&lt;br /&gt;
[[Vermin]] that come into contact with a web will immediately turn into remains. For sanity reasons, cave spiders themselves are probably immune to this effect.&lt;br /&gt;
&lt;br /&gt;
[[Category:Items]]&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Windmill&amp;diff=2517</id>
		<title>40d:Windmill</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Windmill&amp;diff=2517"/>
		<updated>2009-09-11T00:12:57Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: added/clarified some things that I felt were missing. All statements tested in 0.28.181.40d&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Machine_component|name=Windmill|key=m&lt;br /&gt;
|construction=&lt;br /&gt;
* 4 [[Wood]]&lt;br /&gt;
|construction_job=&lt;br /&gt;
# [[Architecture]]&lt;br /&gt;
# [[Carpentry]]&lt;br /&gt;
|power=Generates 40, 20, or 0 power, depending on wind level&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A '''windmill''' is a [[machine component]] that provides [[power]] via wind on the surface of a fortress map.  The power produced by each windmill depends on your fortress location.&lt;br /&gt;
&lt;br /&gt;
== When it works ==&lt;br /&gt;
&lt;br /&gt;
A windmill generates power under the following conditions:&lt;br /&gt;
# Its center tile possesses the [[Tile_attributes|&amp;quot;Outside&amp;quot;]] tag when loo{{k|k}}ed at.&lt;br /&gt;
# The map has wind. (Turning weather on/off in the inits has no effect)&lt;br /&gt;
#* Some maps have strong wind (40 power per windmill), some have weak wind (20 power), and some have no wind at all.&lt;br /&gt;
# It is not connected to frozen machinery, such as a screw pump or water wheel in ice.&lt;br /&gt;
&lt;br /&gt;
When all of these conditions are met, the windmill will produce power at its center square and transmit it downwards.&lt;br /&gt;
&lt;br /&gt;
== Construction ==&lt;br /&gt;
&lt;br /&gt;
To place a windmill, it must either be supported by machinery from below or on a stable foundation (floor). In either case, the build site must be reachable, either from one of the tiles the windmill is being built on or from adjacent surrounding tiles.&lt;br /&gt;
&lt;br /&gt;
=== Variants ===&lt;br /&gt;
&lt;br /&gt;
==== Standard windmill ====&lt;br /&gt;
# Build the windmill.&lt;br /&gt;
# Excavate a path under it to the center of its base, 1 [[z-level]] down.&lt;br /&gt;
# Add a vertical [[axle]], [[gear assembly]] or machine there, which will have power. A floor between the windmill and this is fine, but the machine part below will only receive power if it is built ''after'' the windmill itself is finished. If you built the machine part first, you may have to deconstruct and reconstruct it to make it work.&lt;br /&gt;
&lt;br /&gt;
==== Windmill tower ====&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;windmill tower&amp;quot; option is useful if you can't dig below your windmill (if, for example, there is a room or underground river there).&lt;br /&gt;
&lt;br /&gt;
# Build a 3&amp;amp;times;3 platform (or 8-tile ring) out of floors one level above the ground floor.&lt;br /&gt;
# Leave the center tile as ''open space'' (this is optional, as power will somehow go through the floor).&lt;br /&gt;
# Directly beneath the center of the future windmill, on the ground floor, build a gear assembly.&lt;br /&gt;
# Build the windmill on top of the platform.&lt;br /&gt;
# Connect this assembly to horizontal axles, and power your machines.&lt;br /&gt;
# If desired, remove excess floors/stairs.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The game will not let you build over an open space unless there's a machine or gear assembly underneath it on the floor below.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' The windmill is only supported by the center tile, although there is the 8-tile ring below it. If you remove the gear assembly beneath it and there is no floor, the windmill will be destroyed at once. If you disengage the gear assembly, the windmill will not be destroyed at once, but after a short period of time.&lt;br /&gt;
&lt;br /&gt;
==== Sunken windmill ====&lt;br /&gt;
&lt;br /&gt;
You can build windmills underground if the central square in the windmill is &amp;quot;outside&amp;quot; (channel the roof away above it).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Windmill farm ====&lt;br /&gt;
Several windmills can be linked together via gear assemblies and axles.  The first windmill needs a gear assembly beneath it.  After that, each windmill will require one gear assembly beneath it and two axles to connect to the next windmill.  All windmills produce normal power for the map, but remember that gears and axles will use power produced by the windmills, meaning you'll lose moderate amounts of power connecting your farm together.&lt;br /&gt;
&lt;br /&gt;
==== Hanging windmill ====&lt;br /&gt;
# Build building you want powered and up stairs with one tile between them.&lt;br /&gt;
# Build down stairs above the up stairs.&lt;br /&gt;
# Build windmill directly over building that needs or transfers power.&lt;br /&gt;
# (optional) remove the stairs.&lt;br /&gt;
This option has one main weakness: It can't be used to power gear assemblies that are linked to levers/pressure plates, because as soon as the assembly turns off it stops supporting the windmill which falls down.&lt;br /&gt;
&lt;br /&gt;
== Using the power ==&lt;br /&gt;
&lt;br /&gt;
Getting power out of a hanging windmill is straightforward. As long as the machinery it's hanging on is a vertical axle, gear assembly, or screw pump, it will be powered.&lt;br /&gt;
&lt;br /&gt;
Windmills with stable foundations are harder. A vertical axle or gear assembly beneath the center tile should always be powered, but the actual behavior seems buggy or non-intuitive; if it doesn't work, try re-building the machinery below the windmill.&lt;br /&gt;
&lt;br /&gt;
== Construction Examples ==&lt;br /&gt;
&lt;br /&gt;
See [[Machinery/Examples]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Machine components]]&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:For_Each_Tile&amp;diff=44281</id>
		<title>Utility Talk:For Each Tile</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:For_Each_Tile&amp;diff=44281"/>
		<updated>2009-09-09T19:43:30Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: feature request for For Each Tile&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== compatibility ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
is there any info on ways to get this utility to work on 39c or plans to make it 39c compatible?&lt;br /&gt;
--[[User:Madcatuk|Madcatuk]] 09:29, 16 August 2008 (EDT)&lt;br /&gt;
:I can look into it for next release.  Should consist of only really minor changes, and some searching for the memory addresses that no one used previously in other utilities. --[[User:Exponent|Exponent]] 20:15, 19 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Holy shit ==&lt;br /&gt;
&lt;br /&gt;
I hadn't seen this before, awesome module! &amp;amp;mdash;[[User:Rick|Rick]] 16:52, 27 August 2008 (EDT)&lt;br /&gt;
:Thanks for the compliment, and thanks even more for Tweak and the source code for Reveal, as I wouldn't have been inspired without those two elements. &amp;amp;mdash;[[User:Exponent|Exponent]] 16:54, 29 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== working in 40d... ==&lt;br /&gt;
&lt;br /&gt;
hey, this is pretty much the only tool i ever use for DF, but i cant get it working for 40d, and i dont understand what i am supposed to do with the code stuff on the main page to get it up and running. i get a box telling me that for each tile &amp;quot;threw and exception.&amp;quot; if you want i can send you all the other stuff it vomits out at me, as it has a little list.&lt;br /&gt;
&lt;br /&gt;
== Making tiles walls again? ==&lt;br /&gt;
&lt;br /&gt;
All right, been using FET for a couple days now, really liking it. Just one thing I'm wondering: Is it possible to change a given tile into a solid wall (preferably natural)?&lt;br /&gt;
&lt;br /&gt;
That is, I played around with make_open_space and make_chasm... and now I want to make those tiles solid again. [[User:ChocoHearts|ChocoHearts]] 00:50, 5 March 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
You would probably have to recreate the walls/floors with a custom operations set. I just added some examples on mass tile editing, read the examples &amp;quot;Get tile info&amp;quot; and &amp;quot;set tile info&amp;quot; and see if that helps. [[User:Orbcontrol|Orbcontrol]] 19:26, 9 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Feature request ==&lt;br /&gt;
&lt;br /&gt;
Would it be possible to add functions for dump/forbid/melt/hiding items in a tile? or is it handled too differently from other designations?&lt;br /&gt;
I want to create an operations set that checks if a tile is outdoors, then forbids everything on it. [[User:Orbcontrol|Orbcontrol]] 19:43, 9 September 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44131</id>
		<title>Utility:For Each Tile</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44131"/>
		<updated>2009-09-09T19:28:48Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: forgot something&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Exponent_For_Each_Tile_Screenshot_00.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that can conditionally alter tiles of the map.  By supplying a condition and a set of operations, the program is able to evaluate the condition for each tile, and if the condition is true, then the operations are executed, altering that particular tile is some fashion.  This flexibility potentially provides numerous uses.  This utility was originally designed to be a smarter version of Reveal, but grew to become much more.  Not only can this utility show or hide tiles, but it can change whether or not they are outside, inside, light, dark, subterranean, or above ground.  It can alter water and magma levels, mining designations, and in some cases substantially alter tile types, such as when creating a river source tile.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Required Components===&lt;br /&gt;
&lt;br /&gt;
*[http://dffd.wimbli.com/file.php?id=404 Exponent.DwarfFortress.Tools.ForEachTile.zip] (extract this into the tweak/plugins/ subfolder)&lt;br /&gt;
*[[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]]&lt;br /&gt;
*[http://www.microsoft.com/downloads/details.aspx?FamilyID=333325FD-AE52-4E35-B531-508D977D32A6 .NET 3.5 Runtime]&lt;br /&gt;
&lt;br /&gt;
===Memory XML File Values===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required and optional memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  Most of them are not necessary for limited operation of the program, but certain functions will be unavailable if the needed memory locations are not available.&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.40d====&lt;br /&gt;
&lt;br /&gt;
Version Hash Code:  2c686c26307dcccd7c36cc79737ebe4f&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01393260&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009FC368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009FC294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009FC298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009FC29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D457F4&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D73868&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D73844&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x01706D4C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x01706D50&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015C4D58&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015C4D70&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015C4D74&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015C4D78&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.40c====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01392268&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009FB368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009FB294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009FB298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009FB29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D447FC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D72870&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D7284C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x01705D44&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x01705D48&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015C3D60&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015C3D78&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015C3D7C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015C3D80&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====v0.28.181.40b====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01392268&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009FB368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009FB294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009FB298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009FB29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D447FC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D72870&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D7284C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x01705D44&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x01705D48&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015C3D60&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015C3D78&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015C3D7C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015C3D80&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====v0.28.181.40a====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01392268&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009FB368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009FB294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009FB298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009FB29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D447FC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D72870&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D7284C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x01704ECC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x01704ED0&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015C3D60&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015C3D78&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015C3D7C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015C3D80&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Dwarf Fortress v0.28.181.39f====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01386260&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009EF368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009EF294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009EF298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009EF29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D387FC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D66870&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D6684C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x016F8A7C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x016F8A80&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015B7920&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015B7938&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015B793C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015B7940&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dwarf Fortress v0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x0132FDB0&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009E3358&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009E3284&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009E3288&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009E328C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00CE23C4&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D103C0&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D1039C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x01561470&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x01561488&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x0156148C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x01561490&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change Log==&lt;br /&gt;
&lt;br /&gt;
===Version 0.6 Beta (2008/08/18 21:32 CST)===&lt;br /&gt;
&lt;br /&gt;
* added bodily fluid functions (blood, pus, ichor, goo, slime) in the Occupancy categories, along with related constants in the Constants category&lt;br /&gt;
* renamed &amp;lt;tt&amp;gt;is_vomit&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;has_vomit&amp;lt;/tt&amp;gt;, and moved it and &amp;lt;tt&amp;gt;set_vomit&amp;lt;/tt&amp;gt; to the Occupancy categories&lt;br /&gt;
* renamed &amp;lt;tt&amp;gt;is_snow_covered&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;has_snow&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;set_snow_covered&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;set_snow&amp;lt;/tt&amp;gt;, and moved them to the Occupancy categories&lt;br /&gt;
* added support for the string type, including a &amp;lt;tt&amp;gt;to_string&amp;lt;/tt&amp;gt; function and the concatenation operator (+)&lt;br /&gt;
* added &amp;lt;tt&amp;gt;print&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;print_line&amp;lt;/tt&amp;gt; functions for writing to the output panel&lt;br /&gt;
* added the &amp;lt;tt&amp;gt;is_allocated&amp;lt;/tt&amp;gt; function&lt;br /&gt;
* added a new Experimental category, including functions for reading/writing type, matgloss id, and biome id&lt;br /&gt;
* provided a variation for most query functions to accept specific x, y, z coordinates, instaed of just defaulting to the current tile's x, y, z coordinates&lt;br /&gt;
* fixed various bugs with the functions in the Raw category, and added mask_and_set_ versions of each&lt;br /&gt;
* various small improvements to the interface&lt;br /&gt;
* updated viewport calculation code to properly handle changes in the latest DF version (0.28.181.40a)&lt;br /&gt;
&lt;br /&gt;
===Version 0.5 Beta (2008/08/15 18:18 CST)===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;set_liquid_type_to_water&amp;lt;/tt&amp;gt; was not working, now it is&lt;br /&gt;
&lt;br /&gt;
===Version 0.4 Beta (2008/08/15 16:29 CST)===&lt;br /&gt;
&lt;br /&gt;
* general interface improvements&lt;br /&gt;
* fixed undo bug, when the maximum undo/redo depth was infinite&lt;br /&gt;
* added &amp;lt;tt&amp;gt;z_distance_to_surface&amp;lt;/tt&amp;gt;&lt;br /&gt;
* renamed &amp;lt;tt&amp;gt;is_ramp&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;is_upward_ramp&amp;lt;/tt&amp;gt;&lt;br /&gt;
* added &amp;lt;tt&amp;gt;is_ramp&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;is_downward_ramp&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;is_above_upward_ramp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;make_downward_ramp&amp;lt;/tt&amp;gt;&lt;br /&gt;
* renamed &amp;lt;tt&amp;gt;is_lava&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;is_magma_source&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;make_lava&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;make_magma_source&amp;lt;/tt&amp;gt;&lt;br /&gt;
* added traffic designation queries, which had erroneously been left out&lt;br /&gt;
* added a few additional example operation sets to the included file&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
====Menus and Toolbar Buttons====&lt;br /&gt;
&lt;br /&gt;
=====File=====&lt;br /&gt;
&lt;br /&gt;
Items under the file menu are used to work with files that contain operation sets.  A file can contain any number of operation sets.  Generally, you will only need to keep one file, and a default is provided with some basic operation sets already defined.  The standard actions of saving, opening, or creating a new file exist, as well as the option to refresh from the current file.  This is for situations where the file that is currently open within the utility was edited by an external program, and you wish to bring these changes in without having to go through the Open File dialog.&lt;br /&gt;
&lt;br /&gt;
=====Edit=====&lt;br /&gt;
&lt;br /&gt;
The items in the edit menu allow you to work with the list of operation sets for the file that is currently open.  Creating a new operation set will add a blank item at the bottom of the list and select it, so that you can edit its details in the text boxes below.  Duplicating an item will make a copy of the selected item immediately below that item.  Deleting the selected item will remove that item from the list completely.&lt;br /&gt;
&lt;br /&gt;
Items can also be rearranged, so that you can place more frequently used operation sets near the top, and less frequently used ones near the bottom.  Moving the selected item up or down will simply cause it to swap locations with the item that is immediately above or below it, respectively.&lt;br /&gt;
&lt;br /&gt;
=====Insert=====&lt;br /&gt;
&lt;br /&gt;
=====Execute=====&lt;br /&gt;
&lt;br /&gt;
====List of Operation Sets====&lt;br /&gt;
&lt;br /&gt;
====Operation Set Text====&lt;br /&gt;
&lt;br /&gt;
===Expressions===&lt;br /&gt;
&lt;br /&gt;
Expressions use standard in-fix notation, complete with parentheses, operator precedence, and so forth. Individual items in an expression fall under one of five categories:  constants, operators, general functions, queries, and modifiers.  A description of each of these categories, along with some basic examples, are given below.&lt;br /&gt;
&lt;br /&gt;
====Constants====&lt;br /&gt;
&lt;br /&gt;
Constants are just specific values that are given an easy-to-remember name.  Some of them are boolean, which means that they are either true or false, and some are doubles, which means that they represent real numbers.&lt;br /&gt;
&lt;br /&gt;
=====Boolean Constants=====&lt;br /&gt;
&lt;br /&gt;
While the two boolean values are represented internally as 0 (false) or 1 (true), you will use the actual text &amp;quot;false&amp;quot; or &amp;quot;true&amp;quot; in order to use these values in the program.&lt;br /&gt;
&lt;br /&gt;
=====Double Constants=====&lt;br /&gt;
&lt;br /&gt;
Some common mathematical constants are available, as well as some constants specific either to the Dwarf Fortress universe or to some particular function in this program.  Standard mathematical constants are those such as [http://en.wikipedia.org/wiki/Pi pi] and [http://en.wikipedia.org/wiki/E_(mathematical_constant) e].  Constants specific to Dwarf Fortress are those such as water_freezing_temperature and water_boiling_temperature, which refer to Dwarf Fortress-specific temperature values.  Finally, constants such as euclidean_distance and manhattan_distance are used by certain functions to indicate how they should function.  These two in particular are used to tell certain functions how to calculate distances between pairs of tiles.&lt;br /&gt;
&lt;br /&gt;
====Operators====&lt;br /&gt;
&lt;br /&gt;
Basic mathematical, boolean, and comparison operators are available, as well as parentheses to control the order of evaluation.  Boolean operators do not use symbols, but rather use the text &amp;quot;and&amp;quot;, &amp;quot;or&amp;quot;, and &amp;quot;not&amp;quot;.  All arguments to a boolean operator (&amp;quot;and&amp;quot; and &amp;quot;or&amp;quot; expect two arguments, &amp;quot;not&amp;quot; expects one) must be boolean, and the result is also boolean.  Mathematical operators require doubles, and return doubles.  Comparison operators require doubles (except for equal (=) and not-equal (!=), which can take either booleans or doubles) and return booleans.&lt;br /&gt;
&lt;br /&gt;
====General Functions====&lt;br /&gt;
&lt;br /&gt;
Some general functions are available for performing various generic tasks.  Standard mathematical functions exist, such as the trigonometric sin(), cos(), and tan(), as well as the power/exponents functions sqrt(), pow() and log().  Random values are also available with random_bool() and random_double().  Other functions exist as well, which I will describe in the advanced section below.&lt;br /&gt;
&lt;br /&gt;
====Queries====&lt;br /&gt;
&lt;br /&gt;
Queries are functions that ask something about the current state of the game, and return some result as the answer.  There are a variety of subcategories that queries fall under.  For example, map queries ask something about the map:  How big it is, which tile is currently being tested/modified, where the viewport is located, or where the cursor is located.  Property queries ask something about basic properties of the current tile:  if it is light or dark, above ground or subterranean, muddy or not, and so on.  Other categories include physical, occupancy, designation, and area queries.&lt;br /&gt;
&lt;br /&gt;
====Modifiers====&lt;br /&gt;
&lt;br /&gt;
Modifiers are functions that alter the current tile in some way, and do not return any value (which is often indicated by saying that they return void).  All modifiers have corresponding queries, though not all queries have corresponding modifiers.  For example, you cannot modify the viewport width even though you can query it.  Technical limitations also prevent many physical queries from having matching modifiers, modifying a tile to become a tree, for example.&lt;br /&gt;
&lt;br /&gt;
There is still a lot that can be modified, however.  The light/dark, inside/outside/ above ground/subterranean values mentioned above can all be changed.  The level and type of liquid in a tile can be changed.  Digging designations can be altered.  And even certain physical states can be modified, such as turning a tile into a river source or a bottomless pit.&lt;br /&gt;
&lt;br /&gt;
===Operation Sets===&lt;br /&gt;
&lt;br /&gt;
The function portion of an operation set consists of a condition expression, and one or more operation statements.  A statement is merely an expression that has its return value ignored, if it has one.  When an operation set is executed, the condition is evaluated for each tile, and if the condition is true, then the operations are executed, one at a time.  If the condition is false, no operations are executed.&lt;br /&gt;
&lt;br /&gt;
====Basic Examples====&lt;br /&gt;
&lt;br /&gt;
=====Reveal=====&lt;br /&gt;
&lt;br /&gt;
The most straightforward example is an unconditional reveal, which performs precisely the same function as [[User:Rick/Tweak#Core_Modules|Rick's basic reveal module]].  It applies to every tile regardless of each tile's state, and modifies each tile to be shown.  In this program, it would therefore look like:&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 show();&lt;br /&gt;
&lt;br /&gt;
The semicolon at the end of the operation is optional.  If you were to have more than one operation, as I will show later, then you would need a semicolon between each statement.&lt;br /&gt;
&lt;br /&gt;
=====Hide Radius=====&lt;br /&gt;
&lt;br /&gt;
Once you use reveal, you may want to hide things like magma and UG rivers so you can dig into them &amp;quot;naturally&amp;quot; and trigger their effects.&lt;br /&gt;
Note the use of the &amp;quot;&amp;lt;&amp;quot; comparison operator.&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 xy_distance_to_cursor&amp;lt;40&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 hide&lt;br /&gt;
&lt;br /&gt;
=====Remove Aquifers=====&lt;br /&gt;
&lt;br /&gt;
And finally, do away with those inconvenient aquifers forever.&lt;br /&gt;
Note that in this example we are passing a variable to the set_aquifer function. Hover the mouse over a function in the &amp;quot;insert&amp;quot; menu to see what variables you can use with it.&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 is_aquifer&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 set_aquifer(false)&lt;br /&gt;
&lt;br /&gt;
=====Water Ball=====&lt;br /&gt;
&lt;br /&gt;
And now, just to demonstrate an important shortcoming of all DF cheating utilities:&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 distance_to_cursor&amp;lt;6&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 set_liquid_type_to_water;&lt;br /&gt;
 set_water_level 7;&lt;br /&gt;
&lt;br /&gt;
This will create a floating sphere of water 6 tiles in radius around your cursor. The important thing to note is that the water won't flow. In fact, any liquid created with a cheating utility will remain in suspended animation, probably forever.&lt;br /&gt;
The usual way to bring created liquids to life is to build some sort of construction adjacent to them, after which they will flow normally. Other methods may exist, add them if you find them.&lt;br /&gt;
&lt;br /&gt;
====Advanced Examples====&lt;br /&gt;
&lt;br /&gt;
=====Vein Miner=====&lt;br /&gt;
Mine out a vein of minerals all at once. &lt;br /&gt;
Designate the first tile to be mined then just keep running it until nothing else gets designated.&lt;br /&gt;
I put some limits on it to keep it from designating tiles that aren't near the cursor so you have to be in look mode. Some tiles other than ores are considered minerals so be careful.&lt;br /&gt;
&lt;br /&gt;
Conditions:&lt;br /&gt;
 (cursor_z = z) and (xy_distance_to_cursor &amp;lt; 10) and is_mineral and is_wall and&lt;br /&gt;
 (x &amp;gt; 0) and (x &amp;lt; map_width) and &lt;br /&gt;
 (y &amp;gt; 0) and (y &amp;lt; map_height) and (&lt;br /&gt;
 (is_designated_for_mining(x - 1, y - 1, z)) or&lt;br /&gt;
 (is_designated_for_mining(x - 1, y    , z)) or&lt;br /&gt;
 (is_designated_for_mining(x - 1, y + 1, z)) or&lt;br /&gt;
 (is_designated_for_mining(x    , y - 1, z)) or &lt;br /&gt;
 (is_designated_for_mining(x    , y + 1, z)) or&lt;br /&gt;
 (is_designated_for_mining(x + 1, y - 1, z)) or&lt;br /&gt;
 (is_designated_for_mining(x + 1, y    , z)) or&lt;br /&gt;
 (is_designated_for_mining(x + 1, y + 1, z))&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 designate_for_mining&lt;br /&gt;
&lt;br /&gt;
====Mass editing map tiles====&lt;br /&gt;
'''WARNING!''' Altering map tiles is not an exact science. Backup your save file just in case you run into nasty surprises.&lt;br /&gt;
&lt;br /&gt;
=====Get Tile Info=====&lt;br /&gt;
Provides all the information you need to turn one type of tile into another.&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 at_cursor&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 print_line(get_type);&lt;br /&gt;
 print_line(to_string(get_matgloss_id));&lt;br /&gt;
&lt;br /&gt;
Once you have the information, use it to create a custom operations set like the one below:&lt;br /&gt;
&lt;br /&gt;
=====Set Tile Info=====&lt;br /&gt;
Once you get the information from a tile (See previous example), you can apply it to another tile using &amp;quot;at_cursor&amp;quot;, or many tiles using something like &amp;quot;xy_distance_to_cursor&amp;quot;, or &amp;quot;is_designated_as_low_traffic&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This particular example creates red loamy sand walls.&lt;br /&gt;
&lt;br /&gt;
Note that the argument for set_type is a ''string'', and must be enclosed in quotations.&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 at_cursor&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 set_type(&amp;quot;SoilWall&amp;quot;);&lt;br /&gt;
 set_matgloss_id(3);&lt;br /&gt;
&lt;br /&gt;
Things to be aware of:&lt;br /&gt;
&lt;br /&gt;
-Walls created in this way will not naturally have a floor above them, so depending on the situation you might need to add floors manually using the same technique as you did for walls.&lt;br /&gt;
&lt;br /&gt;
-Anecdotal evidence indicates that dwarves can remain imprisoned indefinitely in a created wall until it is removed, or they die of thirst/hunger. The effects on other items are unknown, and possibly undesirable.&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:For_Each_Tile&amp;diff=44280</id>
		<title>Utility Talk:For Each Tile</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:For_Each_Tile&amp;diff=44280"/>
		<updated>2009-09-09T19:26:12Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== compatibility ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
is there any info on ways to get this utility to work on 39c or plans to make it 39c compatible?&lt;br /&gt;
--[[User:Madcatuk|Madcatuk]] 09:29, 16 August 2008 (EDT)&lt;br /&gt;
:I can look into it for next release.  Should consist of only really minor changes, and some searching for the memory addresses that no one used previously in other utilities. --[[User:Exponent|Exponent]] 20:15, 19 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Holy shit ==&lt;br /&gt;
&lt;br /&gt;
I hadn't seen this before, awesome module! &amp;amp;mdash;[[User:Rick|Rick]] 16:52, 27 August 2008 (EDT)&lt;br /&gt;
:Thanks for the compliment, and thanks even more for Tweak and the source code for Reveal, as I wouldn't have been inspired without those two elements. &amp;amp;mdash;[[User:Exponent|Exponent]] 16:54, 29 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== working in 40d... ==&lt;br /&gt;
&lt;br /&gt;
hey, this is pretty much the only tool i ever use for DF, but i cant get it working for 40d, and i dont understand what i am supposed to do with the code stuff on the main page to get it up and running. i get a box telling me that for each tile &amp;quot;threw and exception.&amp;quot; if you want i can send you all the other stuff it vomits out at me, as it has a little list.&lt;br /&gt;
&lt;br /&gt;
== Making tiles walls again? ==&lt;br /&gt;
&lt;br /&gt;
All right, been using FET for a couple days now, really liking it. Just one thing I'm wondering: Is it possible to change a given tile into a solid wall (preferably natural)?&lt;br /&gt;
&lt;br /&gt;
That is, I played around with make_open_space and make_chasm... and now I want to make those tiles solid again. [[User:ChocoHearts|ChocoHearts]] 00:50, 5 March 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
You would probably have to recreate the walls/floors with a custom operations set. I just added some examples on mass tile editing, read the examples &amp;quot;Get tile info&amp;quot; and &amp;quot;set tile info&amp;quot; and see if that helps. [[User:Orbcontrol|Orbcontrol]] 19:26, 9 September 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44130</id>
		<title>Utility:For Each Tile</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44130"/>
		<updated>2009-09-09T19:20:08Z</updated>

		<summary type="html">&lt;p&gt;Orbcontrol: added examples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:Exponent_For_Each_Tile_Screenshot_00.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that can conditionally alter tiles of the map.  By supplying a condition and a set of operations, the program is able to evaluate the condition for each tile, and if the condition is true, then the operations are executed, altering that particular tile is some fashion.  This flexibility potentially provides numerous uses.  This utility was originally designed to be a smarter version of Reveal, but grew to become much more.  Not only can this utility show or hide tiles, but it can change whether or not they are outside, inside, light, dark, subterranean, or above ground.  It can alter water and magma levels, mining designations, and in some cases substantially alter tile types, such as when creating a river source tile.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Required Components===&lt;br /&gt;
&lt;br /&gt;
*[http://dffd.wimbli.com/file.php?id=404 Exponent.DwarfFortress.Tools.ForEachTile.zip] (extract this into the tweak/plugins/ subfolder)&lt;br /&gt;
*[[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]]&lt;br /&gt;
*[http://www.microsoft.com/downloads/details.aspx?FamilyID=333325FD-AE52-4E35-B531-508D977D32A6 .NET 3.5 Runtime]&lt;br /&gt;
&lt;br /&gt;
===Memory XML File Values===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required and optional memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  Most of them are not necessary for limited operation of the program, but certain functions will be unavailable if the needed memory locations are not available.&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.40d====&lt;br /&gt;
&lt;br /&gt;
Version Hash Code:  2c686c26307dcccd7c36cc79737ebe4f&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01393260&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009FC368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009FC294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009FC298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009FC29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D457F4&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D73868&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D73844&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x01706D4C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x01706D50&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015C4D58&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015C4D70&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015C4D74&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015C4D78&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.40c====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01392268&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009FB368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009FB294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009FB298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009FB29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D447FC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D72870&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D7284C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x01705D44&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x01705D48&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015C3D60&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015C3D78&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015C3D7C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015C3D80&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====v0.28.181.40b====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01392268&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009FB368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009FB294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009FB298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009FB29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D447FC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D72870&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D7284C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x01705D44&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x01705D48&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015C3D60&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015C3D78&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015C3D7C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015C3D80&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====v0.28.181.40a====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01392268&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009FB368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009FB294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009FB298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009FB29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D447FC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D72870&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D7284C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x01704ECC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x01704ED0&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015C3D60&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015C3D78&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015C3D7C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015C3D80&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
====Dwarf Fortress v0.28.181.39f====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x01386260&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009EF368&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009EF294&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009EF298&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009EF29C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00D387FC&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D66870&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D6684C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_x&amp;quot; value=&amp;quot;0x016F8A7C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;window_grid_y&amp;quot; value=&amp;quot;0x016F8A80&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x015B7920&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x015B7938&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x015B793C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x015B7940&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Dwarf Fortress v0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;address name=&amp;quot;menu_state&amp;quot; value=&amp;quot;0x0132FDB0&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;view_state&amp;quot; value=&amp;quot;0x009E3358&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_x&amp;quot; value=&amp;quot;0x009E3284&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_y&amp;quot; value=&amp;quot;0x009E3288&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;mouse_z&amp;quot; value=&amp;quot;0x009E328C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_x&amp;quot; value=&amp;quot;0x00CE23C4&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_y&amp;quot; value=&amp;quot;0x00D103C0&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;viewport_z&amp;quot; value=&amp;quot;0x00D1039C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_data&amp;quot; value=&amp;quot;0x01561470&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_x_count&amp;quot; value=&amp;quot;0x01561488&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_y_count&amp;quot; value=&amp;quot;0x0156148C&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;address name=&amp;quot;map_z_count&amp;quot; value=&amp;quot;0x01561490&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_type_offset&amp;quot; value=&amp;quot;0x0062&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_designation_offset&amp;quot; value=&amp;quot;0x0264&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_occupancy_offset&amp;quot; value=&amp;quot;0x0664&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature1_offset&amp;quot; value=&amp;quot;0x1564&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_temperature2_offset&amp;quot; value=&amp;quot;0x1764&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Change Log==&lt;br /&gt;
&lt;br /&gt;
===Version 0.6 Beta (2008/08/18 21:32 CST)===&lt;br /&gt;
&lt;br /&gt;
* added bodily fluid functions (blood, pus, ichor, goo, slime) in the Occupancy categories, along with related constants in the Constants category&lt;br /&gt;
* renamed &amp;lt;tt&amp;gt;is_vomit&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;has_vomit&amp;lt;/tt&amp;gt;, and moved it and &amp;lt;tt&amp;gt;set_vomit&amp;lt;/tt&amp;gt; to the Occupancy categories&lt;br /&gt;
* renamed &amp;lt;tt&amp;gt;is_snow_covered&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;has_snow&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;set_snow_covered&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;set_snow&amp;lt;/tt&amp;gt;, and moved them to the Occupancy categories&lt;br /&gt;
* added support for the string type, including a &amp;lt;tt&amp;gt;to_string&amp;lt;/tt&amp;gt; function and the concatenation operator (+)&lt;br /&gt;
* added &amp;lt;tt&amp;gt;print&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;print_line&amp;lt;/tt&amp;gt; functions for writing to the output panel&lt;br /&gt;
* added the &amp;lt;tt&amp;gt;is_allocated&amp;lt;/tt&amp;gt; function&lt;br /&gt;
* added a new Experimental category, including functions for reading/writing type, matgloss id, and biome id&lt;br /&gt;
* provided a variation for most query functions to accept specific x, y, z coordinates, instaed of just defaulting to the current tile's x, y, z coordinates&lt;br /&gt;
* fixed various bugs with the functions in the Raw category, and added mask_and_set_ versions of each&lt;br /&gt;
* various small improvements to the interface&lt;br /&gt;
* updated viewport calculation code to properly handle changes in the latest DF version (0.28.181.40a)&lt;br /&gt;
&lt;br /&gt;
===Version 0.5 Beta (2008/08/15 18:18 CST)===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;set_liquid_type_to_water&amp;lt;/tt&amp;gt; was not working, now it is&lt;br /&gt;
&lt;br /&gt;
===Version 0.4 Beta (2008/08/15 16:29 CST)===&lt;br /&gt;
&lt;br /&gt;
* general interface improvements&lt;br /&gt;
* fixed undo bug, when the maximum undo/redo depth was infinite&lt;br /&gt;
* added &amp;lt;tt&amp;gt;z_distance_to_surface&amp;lt;/tt&amp;gt;&lt;br /&gt;
* renamed &amp;lt;tt&amp;gt;is_ramp&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;is_upward_ramp&amp;lt;/tt&amp;gt;&lt;br /&gt;
* added &amp;lt;tt&amp;gt;is_ramp&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;is_downward_ramp&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;is_above_upward_ramp&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;make_downward_ramp&amp;lt;/tt&amp;gt;&lt;br /&gt;
* renamed &amp;lt;tt&amp;gt;is_lava&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;is_magma_source&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;make_lava&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;make_magma_source&amp;lt;/tt&amp;gt;&lt;br /&gt;
* added traffic designation queries, which had erroneously been left out&lt;br /&gt;
* added a few additional example operation sets to the included file&lt;br /&gt;
&lt;br /&gt;
==Usage==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
&lt;br /&gt;
====Menus and Toolbar Buttons====&lt;br /&gt;
&lt;br /&gt;
=====File=====&lt;br /&gt;
&lt;br /&gt;
Items under the file menu are used to work with files that contain operation sets.  A file can contain any number of operation sets.  Generally, you will only need to keep one file, and a default is provided with some basic operation sets already defined.  The standard actions of saving, opening, or creating a new file exist, as well as the option to refresh from the current file.  This is for situations where the file that is currently open within the utility was edited by an external program, and you wish to bring these changes in without having to go through the Open File dialog.&lt;br /&gt;
&lt;br /&gt;
=====Edit=====&lt;br /&gt;
&lt;br /&gt;
The items in the edit menu allow you to work with the list of operation sets for the file that is currently open.  Creating a new operation set will add a blank item at the bottom of the list and select it, so that you can edit its details in the text boxes below.  Duplicating an item will make a copy of the selected item immediately below that item.  Deleting the selected item will remove that item from the list completely.&lt;br /&gt;
&lt;br /&gt;
Items can also be rearranged, so that you can place more frequently used operation sets near the top, and less frequently used ones near the bottom.  Moving the selected item up or down will simply cause it to swap locations with the item that is immediately above or below it, respectively.&lt;br /&gt;
&lt;br /&gt;
=====Insert=====&lt;br /&gt;
&lt;br /&gt;
=====Execute=====&lt;br /&gt;
&lt;br /&gt;
====List of Operation Sets====&lt;br /&gt;
&lt;br /&gt;
====Operation Set Text====&lt;br /&gt;
&lt;br /&gt;
===Expressions===&lt;br /&gt;
&lt;br /&gt;
Expressions use standard in-fix notation, complete with parentheses, operator precedence, and so forth. Individual items in an expression fall under one of five categories:  constants, operators, general functions, queries, and modifiers.  A description of each of these categories, along with some basic examples, are given below.&lt;br /&gt;
&lt;br /&gt;
====Constants====&lt;br /&gt;
&lt;br /&gt;
Constants are just specific values that are given an easy-to-remember name.  Some of them are boolean, which means that they are either true or false, and some are doubles, which means that they represent real numbers.&lt;br /&gt;
&lt;br /&gt;
=====Boolean Constants=====&lt;br /&gt;
&lt;br /&gt;
While the two boolean values are represented internally as 0 (false) or 1 (true), you will use the actual text &amp;quot;false&amp;quot; or &amp;quot;true&amp;quot; in order to use these values in the program.&lt;br /&gt;
&lt;br /&gt;
=====Double Constants=====&lt;br /&gt;
&lt;br /&gt;
Some common mathematical constants are available, as well as some constants specific either to the Dwarf Fortress universe or to some particular function in this program.  Standard mathematical constants are those such as [http://en.wikipedia.org/wiki/Pi pi] and [http://en.wikipedia.org/wiki/E_(mathematical_constant) e].  Constants specific to Dwarf Fortress are those such as water_freezing_temperature and water_boiling_temperature, which refer to Dwarf Fortress-specific temperature values.  Finally, constants such as euclidean_distance and manhattan_distance are used by certain functions to indicate how they should function.  These two in particular are used to tell certain functions how to calculate distances between pairs of tiles.&lt;br /&gt;
&lt;br /&gt;
====Operators====&lt;br /&gt;
&lt;br /&gt;
Basic mathematical, boolean, and comparison operators are available, as well as parentheses to control the order of evaluation.  Boolean operators do not use symbols, but rather use the text &amp;quot;and&amp;quot;, &amp;quot;or&amp;quot;, and &amp;quot;not&amp;quot;.  All arguments to a boolean operator (&amp;quot;and&amp;quot; and &amp;quot;or&amp;quot; expect two arguments, &amp;quot;not&amp;quot; expects one) must be boolean, and the result is also boolean.  Mathematical operators require doubles, and return doubles.  Comparison operators require doubles (except for equal (=) and not-equal (!=), which can take either booleans or doubles) and return booleans.&lt;br /&gt;
&lt;br /&gt;
====General Functions====&lt;br /&gt;
&lt;br /&gt;
Some general functions are available for performing various generic tasks.  Standard mathematical functions exist, such as the trigonometric sin(), cos(), and tan(), as well as the power/exponents functions sqrt(), pow() and log().  Random values are also available with random_bool() and random_double().  Other functions exist as well, which I will describe in the advanced section below.&lt;br /&gt;
&lt;br /&gt;
====Queries====&lt;br /&gt;
&lt;br /&gt;
Queries are functions that ask something about the current state of the game, and return some result as the answer.  There are a variety of subcategories that queries fall under.  For example, map queries ask something about the map:  How big it is, which tile is currently being tested/modified, where the viewport is located, or where the cursor is located.  Property queries ask something about basic properties of the current tile:  if it is light or dark, above ground or subterranean, muddy or not, and so on.  Other categories include physical, occupancy, designation, and area queries.&lt;br /&gt;
&lt;br /&gt;
====Modifiers====&lt;br /&gt;
&lt;br /&gt;
Modifiers are functions that alter the current tile in some way, and do not return any value (which is often indicated by saying that they return void).  All modifiers have corresponding queries, though not all queries have corresponding modifiers.  For example, you cannot modify the viewport width even though you can query it.  Technical limitations also prevent many physical queries from having matching modifiers, modifying a tile to become a tree, for example.&lt;br /&gt;
&lt;br /&gt;
There is still a lot that can be modified, however.  The light/dark, inside/outside/ above ground/subterranean values mentioned above can all be changed.  The level and type of liquid in a tile can be changed.  Digging designations can be altered.  And even certain physical states can be modified, such as turning a tile into a river source or a bottomless pit.&lt;br /&gt;
&lt;br /&gt;
===Operation Sets===&lt;br /&gt;
&lt;br /&gt;
The function portion of an operation set consists of a condition expression, and one or more operation statements.  A statement is merely an expression that has its return value ignored, if it has one.  When an operation set is executed, the condition is evaluated for each tile, and if the condition is true, then the operations are executed, one at a time.  If the condition is false, no operations are executed.&lt;br /&gt;
&lt;br /&gt;
====Basic Examples====&lt;br /&gt;
&lt;br /&gt;
=====Reveal=====&lt;br /&gt;
&lt;br /&gt;
The most straightforward example is an unconditional reveal, which performs precisely the same function as [[User:Rick/Tweak#Core_Modules|Rick's basic reveal module]].  It applies to every tile regardless of each tile's state, and modifies each tile to be shown.  In this program, it would therefore look like:&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 true&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 show();&lt;br /&gt;
&lt;br /&gt;
The semicolon at the end of the operation is optional.  If you were to have more than one operation, as I will show later, then you would need a semicolon between each statement.&lt;br /&gt;
&lt;br /&gt;
=====Hide Radius=====&lt;br /&gt;
&lt;br /&gt;
Once you use reveal, you may want to hide things like magma and UG rivers so you can dig into them &amp;quot;naturally&amp;quot; and trigger their effects.&lt;br /&gt;
Note the use of the &amp;quot;&amp;lt;&amp;quot; comparison operator.&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 xy_distance_to_cursor&amp;lt;40&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 hide&lt;br /&gt;
&lt;br /&gt;
=====Remove Aquifers=====&lt;br /&gt;
&lt;br /&gt;
And finally, do away with those inconvenient aquifers forever.&lt;br /&gt;
Note that in this example we are passing a variable to the set_aquifer function. Hover the mouse over a function in the &amp;quot;insert&amp;quot; menu to see what variables you can use with it.&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 is_aquifer&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 set_aquifer(false)&lt;br /&gt;
&lt;br /&gt;
=====Water Ball=====&lt;br /&gt;
&lt;br /&gt;
And now, just to demonstrate an important shortcoming of all DF cheating utilities:&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 distance_to_cursor&amp;lt;6&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 set_liquid_type_to_water;&lt;br /&gt;
 set_water_level 7;&lt;br /&gt;
&lt;br /&gt;
This will create a floating sphere of water 6 tiles in radius around your cursor. The important thing to note is that the water won't flow. In fact, any liquid created with a cheating utility will remain in suspended animation, probably forever.&lt;br /&gt;
The usual way to bring created liquids to life is to build some sort of construction adjacent to them, after which they will flow normally. Other methods may exist, add them if you find them.&lt;br /&gt;
&lt;br /&gt;
====Advanced Examples====&lt;br /&gt;
&lt;br /&gt;
=====Vein Miner=====&lt;br /&gt;
Mine out a vein of minerals all at once. &lt;br /&gt;
Designate the first tile to be mined then just keep running it until nothing else gets designated.&lt;br /&gt;
I put some limits on it to keep it from designating tiles that aren't near the cursor so you have to be in look mode. Some tiles other than ores are considered minerals so be careful.&lt;br /&gt;
&lt;br /&gt;
Conditions:&lt;br /&gt;
 (cursor_z = z) and (xy_distance_to_cursor &amp;lt; 10) and is_mineral and is_wall and&lt;br /&gt;
 (x &amp;gt; 0) and (x &amp;lt; map_width) and &lt;br /&gt;
 (y &amp;gt; 0) and (y &amp;lt; map_height) and (&lt;br /&gt;
 (is_designated_for_mining(x - 1, y - 1, z)) or&lt;br /&gt;
 (is_designated_for_mining(x - 1, y    , z)) or&lt;br /&gt;
 (is_designated_for_mining(x - 1, y + 1, z)) or&lt;br /&gt;
 (is_designated_for_mining(x    , y - 1, z)) or &lt;br /&gt;
 (is_designated_for_mining(x    , y + 1, z)) or&lt;br /&gt;
 (is_designated_for_mining(x + 1, y - 1, z)) or&lt;br /&gt;
 (is_designated_for_mining(x + 1, y    , z)) or&lt;br /&gt;
 (is_designated_for_mining(x + 1, y + 1, z))&lt;br /&gt;
 )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 designate_for_mining&lt;br /&gt;
&lt;br /&gt;
====Mass editing map tiles====&lt;br /&gt;
'''WARNING!''' Altering map tiles is not an exact science. Backup your save file just in case you run into nasty surprises.&lt;br /&gt;
&lt;br /&gt;
=====Get Tile Info=====&lt;br /&gt;
Provides all the information you need to turn one type of tile into another.&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 at_cursor&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 print_line(get_type);&lt;br /&gt;
 print_line(to_string(get_matgloss_id));&lt;br /&gt;
&lt;br /&gt;
Once you have the information, use it to create a custom operations set like the one below:&lt;br /&gt;
&lt;br /&gt;
=====Set Tile Info=====&lt;br /&gt;
Once you get the information from a tile (See previous example), you can apply it to another tile using &amp;quot;at_cursor&amp;quot;, or many tiles using something like &amp;quot;xy_distance_to_cursor&amp;quot;, or &amp;quot;is_designated_as_low_traffic&amp;quot;&lt;br /&gt;
Note that the argument for set_type is a ''string'', and must be enclosed in quotations.&lt;br /&gt;
&lt;br /&gt;
Condition:&lt;br /&gt;
 at_cursor&lt;br /&gt;
&lt;br /&gt;
Operations:&lt;br /&gt;
 set_type(&amp;quot;SoilWall&amp;quot;);&lt;br /&gt;
 set_matgloss_id(3);&lt;br /&gt;
&lt;br /&gt;
Things to be aware of:&lt;br /&gt;
&lt;br /&gt;
-Walls created in this way will not naturally have a floor above them, so depending on the situation you might need to add floors manually using the same technique as you did for walls.&lt;br /&gt;
&lt;br /&gt;
-Anecdotal evidence indicates that dwarves can remain imprisoned indefinitely in a created wall until it is removed, or they die of thirst/hunger. The effects on other items are unknown, and possibly undesirable.&lt;/div&gt;</summary>
		<author><name>Orbcontrol</name></author>
	</entry>
</feed>