<?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=Exponent</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=Exponent"/>
	<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php/Special:Contributions/Exponent"/>
	<updated>2026-05-09T13:13:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44128</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=44128"/>
		<updated>2008-09-07T13:08:27Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Memory XML File Values */  new version memory addresses/offsets&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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43816</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43816"/>
		<updated>2008-09-07T13:07:07Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Memory XML File Addition */ new version memory addresses/offsets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  look ({{k|k}}), squads ({{k|x}}), designations ({{k|d}}), stockpiles ({{k|p}}), and zones ({{k|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&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=357 Exponent.DwarfFortress.Tools.ViewportShifter.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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the xml files under the appropriate subfolder in tweak/versions.&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;hotkeys&amp;quot; value=&amp;quot;0x01392FA8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;
&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;hotkeys&amp;quot; value=&amp;quot;0x01391FB0&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;
&lt;br /&gt;
====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;hotkeys&amp;quot; value=&amp;quot;0x01385FA8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;
&lt;br /&gt;
====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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:For_Each_Tile&amp;diff=44277</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=44277"/>
		<updated>2008-08-29T20:54:21Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Holy shit */&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44127</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=44127"/>
		<updated>2008-08-21T16:09:20Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Memory XML File Values */ added new version memory addresses/offsets&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.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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44126</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=44126"/>
		<updated>2008-08-21T15:47:27Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Memory XML File Values */  new version memory addresses/offsets&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.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.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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=User:Exponent&amp;diff=43798</id>
		<title>User:Exponent</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=User:Exponent&amp;diff=43798"/>
		<updated>2008-08-20T14:28:08Z</updated>

		<summary type="html">&lt;p&gt;Exponent: remove the unnecessary toc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
==Utilities==&lt;br /&gt;
*[[User:Exponent/ViewportShifter|Viewport Shifter]] - a utility to shift the viewport in increments of one tile.&lt;br /&gt;
*[[User:Exponent/For_Each_Tile|For Each Tile]] - a utility to alter map tiles dependent upon a condition evaluated for each tile.&lt;br /&gt;
&lt;br /&gt;
==Mods==&lt;br /&gt;
*[[User:Exponent/Mineral_Mod|Mineral Mod]] - a mod that adds in qualities of ore, and generally changes most minerals, with little concern for realism, and more for gameplay balance.&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=User:Exponent/Mineral_Mod&amp;diff=44474</id>
		<title>User:Exponent/Mineral Mod</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=User:Exponent/Mineral_Mod&amp;diff=44474"/>
		<updated>2008-08-20T14:25:23Z</updated>

		<summary type="html">&lt;p&gt;Exponent: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mineral Mods]]&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
===Layers and Soils===&lt;br /&gt;
&lt;br /&gt;
===Minerals===&lt;br /&gt;
&lt;br /&gt;
===Reactions===&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&lt;br /&gt;
I might put these in a zip eventually.  For now I'm just throwing them up here in case someone gets curious.&lt;br /&gt;
&lt;br /&gt;
===matgloss_stone_layer.txt===&lt;br /&gt;
&lt;br /&gt;
 matgloss_stone_layer&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:MATGLOSS]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SANDSTONE]&lt;br /&gt;
 [NAME:sandstone]&lt;br /&gt;
 [COLOR:6:7:0][TILE:247]&lt;br /&gt;
 [SEDIMENTARY][AQUIFER][SEDIMENTARY_OCEAN_SHALLOW]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MUDSTONE]&lt;br /&gt;
 [NAME:mudstone]&lt;br /&gt;
 [COLOR:6:7:0][TILE:'~']&lt;br /&gt;
 [SEDIMENTARY][AQUIFER]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FLINT]&lt;br /&gt;
 [NAME:flint]&lt;br /&gt;
 [COLOR:6:7:0][TILE:'/']&lt;br /&gt;
 [SEDIMENTARY]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SHALE]&lt;br /&gt;
 [NAME:shale]&lt;br /&gt;
 [COLOR:6:7:0][TILE:'\']&lt;br /&gt;
 [SEDIMENTARY][AQUIFER][SEDIMENTARY_OCEAN_SHALLOW]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BASALT]&lt;br /&gt;
 [NAME:basalt]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'#']&lt;br /&gt;
 [IGNEOUS_EXTRUSIVE]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RHYOLITE]&lt;br /&gt;
 [NAME:rhyolite]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:231]&lt;br /&gt;
 [IGNEOUS_EXTRUSIVE]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ANDESITE]&lt;br /&gt;
 [NAME:andesite]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:233]&lt;br /&gt;
 [IGNEOUS_EXTRUSIVE]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FELSITE]&lt;br /&gt;
 [NAME:felsite]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:236]&lt;br /&gt;
 [IGNEOUS_EXTRUSIVE]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GRANITE]&lt;br /&gt;
 [NAME:granite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:240]&lt;br /&gt;
 [IGNEOUS_INTRUSIVE]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIORITE]&lt;br /&gt;
 [NAME:diorite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'=']&lt;br /&gt;
 [IGNEOUS_INTRUSIVE]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PERIDOTITE]&lt;br /&gt;
 [NAME:peridotite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'-']&lt;br /&gt;
 [IGNEOUS_INTRUSIVE]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SLATE]&lt;br /&gt;
 [NAME:slate]&lt;br /&gt;
 [COLOR:7:7:1][TILE:'/']&lt;br /&gt;
 [METAMORPHIC]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:QUARTZITE]&lt;br /&gt;
 [NAME:quartzite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:246]&lt;br /&gt;
 [METAMORPHIC]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SCHIST]&lt;br /&gt;
 [NAME:schist]&lt;br /&gt;
 [COLOR:7:7:1][TILE:'\']&lt;br /&gt;
 [METAMORPHIC]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PHYLLITE]&lt;br /&gt;
 [NAME:phyllite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:'%']&lt;br /&gt;
 [METAMORPHIC]&lt;br /&gt;
 &lt;br /&gt;
===matgloss_stone_soil.txt===&lt;br /&gt;
&lt;br /&gt;
 matgloss_stone_soil&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:MATGLOSS]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLAY]&lt;br /&gt;
 [NAME:clay][COLOR:4:6:0][TILE:178]&lt;br /&gt;
 [SOIL]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILTY_CLAY]&lt;br /&gt;
 [NAME:silty clay][COLOR:4:7:0][TILE:178]&lt;br /&gt;
 [SOIL]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SANDY_CLAY]&lt;br /&gt;
 [NAME:sandy clay][COLOR:4:6:0][TILE:177]&lt;br /&gt;
 [SOIL][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLAY_LOAM]&lt;br /&gt;
 [NAME:clay loam][COLOR:4:7:0][TILE:177]&lt;br /&gt;
 [SOIL]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SANDY_CLAY_LOAM]&lt;br /&gt;
 [NAME:sandy clay loam][COLOR:4:6:0][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILTY_CLAY_LOAM]&lt;br /&gt;
 [NAME:silty clay loam][COLOR:4:7:0][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LOAM]&lt;br /&gt;
 [NAME:loam][COLOR:6:7:0][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SANDY_LOAM]&lt;br /&gt;
 [NAME:sandy loam][COLOR:6:6:1][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILT_LOAM]&lt;br /&gt;
 [NAME:silt loam][COLOR:6:7:0][TILE:177]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LOAMY_SAND]&lt;br /&gt;
 [NAME:loamy sand][COLOR:6:6:1][TILE:177]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILT]&lt;br /&gt;
 [NAME:silt][COLOR:6:7:0][TILE:178]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_TAN]&lt;br /&gt;
 [NAME:sand][COLOR:6:4:1][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_YELLOW]&lt;br /&gt;
 [NAME:yellow sand][COLOR:6:6:1][TILE:178]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_WHITE]&lt;br /&gt;
 [NAME:white sand][COLOR:7:6:1][TILE:178]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_BLACK]&lt;br /&gt;
 [NAME:black sand][COLOR:0:6:1][TILE:178]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_RED]&lt;br /&gt;
 [NAME:red sand][COLOR:4:4:1][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PEAT]&lt;br /&gt;
 [NAME:peat][COLOR:0:6:1][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PELAGIC_CLAY]&lt;br /&gt;
 [NAME:pelagic clay][COLOR:4:6:0][TILE:176]&lt;br /&gt;
 [SOIL_OCEAN][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CALCAREOUS_OOZE]&lt;br /&gt;
 [NAME:calcareous ooze][COLOR:4:7:0][TILE:177]&lt;br /&gt;
 [SOIL_OCEAN][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILICEOUS_OOZE]&lt;br /&gt;
 [NAME:siliceous ooze][COLOR:4:7:0][TILE:177]&lt;br /&gt;
 [SOIL_OCEAN][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
&lt;br /&gt;
===matgloss_stone_mineral.txt===&lt;br /&gt;
&lt;br /&gt;
 matgloss_stone_mineral&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:MATGLOSS]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_0]&lt;br /&gt;
 [NAME:iron úoreú]&lt;br /&gt;
 [COLOR:4:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_1]&lt;br /&gt;
 [NAME:iron -ore-]&lt;br /&gt;
 [COLOR:4:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_2]&lt;br /&gt;
 [NAME:iron +ore+]&lt;br /&gt;
 [COLOR:4:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:100]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:75]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_3]&lt;br /&gt;
 [NAME:iron *ore*]&lt;br /&gt;
 [COLOR:4:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:25]&lt;br /&gt;
 [VALUE:8]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_4]&lt;br /&gt;
 [NAME:iron ðoreð]&lt;br /&gt;
 [COLOR:4:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:3]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:16]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_5]&lt;br /&gt;
 [NAME:iron �ore�]&lt;br /&gt;
 [COLOR:4:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:1]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:32]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_0]&lt;br /&gt;
 [NAME:copper úoreú]&lt;br /&gt;
 [COLOR:6:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_1]&lt;br /&gt;
 [NAME:copper -ore-]&lt;br /&gt;
 [COLOR:6:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_2]&lt;br /&gt;
 [NAME:copper +ore+]&lt;br /&gt;
 [COLOR:6:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:100]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [VALUE:3]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_3]&lt;br /&gt;
 [NAME:copper *ore*]&lt;br /&gt;
 [COLOR:6:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_4]&lt;br /&gt;
 [NAME:copper ðoreð]&lt;br /&gt;
 [COLOR:6:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:2]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:12]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_5]&lt;br /&gt;
 [NAME:copper �ore�]&lt;br /&gt;
 [COLOR:6:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:2]&lt;br /&gt;
 [VALUE:24]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LEAD_ORE_0]&lt;br /&gt;
 [NAME:lead úoreú]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:15]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LEAD_ORE_1]&lt;br /&gt;
 [NAME:lead -ore-]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:10]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LEAD_ORE_2]&lt;br /&gt;
 [NAME:lead +ore+]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:15]&lt;br /&gt;
 [VALUE:3]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LEAD_ORE_3]&lt;br /&gt;
 [NAME:lead *ore*]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:5]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ZINC_ORE_0]&lt;br /&gt;
 [NAME:zinc úoreú]&lt;br /&gt;
 [COLOR:3:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ZINC_ORE_1]&lt;br /&gt;
 [NAME:zinc -ore-]&lt;br /&gt;
 [COLOR:3:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ZINC_ORE_2]&lt;br /&gt;
 [NAME:zinc +ore+]&lt;br /&gt;
 [COLOR:3:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:3]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ZINC_ORE_3]&lt;br /&gt;
 [NAME:zinc *ore*]&lt;br /&gt;
 [COLOR:3:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NICKEL_ORE_2]&lt;br /&gt;
 [NAME:nickel +ore+]&lt;br /&gt;
 [COLOR:0:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NICKEL_ORE_3]&lt;br /&gt;
 [NAME:nickel *ore*]&lt;br /&gt;
 [COLOR:0:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:12]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NICKEL_ORE_4]&lt;br /&gt;
 [NAME:nickel ðoreð]&lt;br /&gt;
 [COLOR:0:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:75]&lt;br /&gt;
 [VALUE:24]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NICKEL_ORE_5]&lt;br /&gt;
 [NAME:nickel �ore�]&lt;br /&gt;
 [COLOR:0:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:50]&lt;br /&gt;
 [VALUE:48]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_0]&lt;br /&gt;
 [NAME:tin úoreú]&lt;br /&gt;
 [COLOR:2:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:30]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_1]&lt;br /&gt;
 [NAME:tin -ore-]&lt;br /&gt;
 [COLOR:2:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:40]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_2]&lt;br /&gt;
 [NAME:tin +ore+]&lt;br /&gt;
 [COLOR:2:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:30]&lt;br /&gt;
 [VALUE:3]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_3]&lt;br /&gt;
 [NAME:tin *ore*]&lt;br /&gt;
 [COLOR:2:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:20]&lt;br /&gt;
 [VALUE:5]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_4]&lt;br /&gt;
 [NAME:tin ðoreð]&lt;br /&gt;
 [COLOR:2:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:6]&lt;br /&gt;
 [VALUE:10]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_5]&lt;br /&gt;
 [NAME:tin �ore�]&lt;br /&gt;
 [COLOR:2:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:3]&lt;br /&gt;
 [VALUE:20]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_0]&lt;br /&gt;
 [NAME:silver úoreú]&lt;br /&gt;
 [COLOR:7:7:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:5]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_1]&lt;br /&gt;
 [NAME:silver -ore-]&lt;br /&gt;
 [COLOR:7:7:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [VALUE:8]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_2]&lt;br /&gt;
 [NAME:silver +ore+]&lt;br /&gt;
 [COLOR:7:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [VALUE:16]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_3]&lt;br /&gt;
 [NAME:silver *ore*]&lt;br /&gt;
 [COLOR:7:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [VALUE:32]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_4]&lt;br /&gt;
 [NAME:silver ðoreð]&lt;br /&gt;
 [COLOR:7:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:10]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:5]&lt;br /&gt;
 [VALUE:64]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_5]&lt;br /&gt;
 [NAME:silver �ore�]&lt;br /&gt;
 [COLOR:7:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:5]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:128]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_0]&lt;br /&gt;
 [NAME:gold úoreú]&lt;br /&gt;
 [COLOR:6:7:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:4]&lt;br /&gt;
 [VALUE:8]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_1]&lt;br /&gt;
 [NAME:gold -ore-]&lt;br /&gt;
 [COLOR:6:7:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:8]&lt;br /&gt;
 [VALUE:16]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_2]&lt;br /&gt;
 [NAME:gold +ore+]&lt;br /&gt;
 [COLOR:6:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:8]&lt;br /&gt;
 [VALUE:32]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_3]&lt;br /&gt;
 [NAME:gold *ore*]&lt;br /&gt;
 [COLOR:6:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [VALUE:64]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_4]&lt;br /&gt;
 [NAME:gold ðoreð]&lt;br /&gt;
 [COLOR:6:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:5]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:4]&lt;br /&gt;
 [VALUE:128]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_5]&lt;br /&gt;
 [NAME:gold �ore�]&lt;br /&gt;
 [COLOR:6:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:3]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:2]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLATINUM_ORE_2]&lt;br /&gt;
 [NAME:platinum +ore+]&lt;br /&gt;
 [COLOR:1:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:8]&lt;br /&gt;
 [VALUE:64]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLATINUM_ORE_3]&lt;br /&gt;
 [NAME:platinum *ore*]&lt;br /&gt;
 [COLOR:1:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:3]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:6]&lt;br /&gt;
 [VALUE:128]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLATINUM_ORE_4]&lt;br /&gt;
 [NAME:platinum ðoreð]&lt;br /&gt;
 [COLOR:1:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:5]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:10]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLATINUM_ORE_5]&lt;br /&gt;
 [NAME:platinum �ore�]&lt;br /&gt;
 [COLOR:1:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:8]&lt;br /&gt;
 [VALUE:512]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MITHRIL_ORE_2]&lt;br /&gt;
 [NAME:mithril +ore+]&lt;br /&gt;
 [COLOR:5:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:2]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:4]&lt;br /&gt;
 [VALUE:192]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MITHRIL_ORE_3]&lt;br /&gt;
 [NAME:mithril *ore*]&lt;br /&gt;
 [COLOR:5:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:1]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:384]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MITHRIL_ORE_4]&lt;br /&gt;
 [NAME:mithril ðoreð]&lt;br /&gt;
 [COLOR:5:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:8]&lt;br /&gt;
 [VALUE:768]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MITHRIL_ORE_5]&lt;br /&gt;
 [NAME:mithril �ore�]&lt;br /&gt;
 [COLOR:5:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:3]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:6]&lt;br /&gt;
 [VALUE:1536]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ADAMANTIUM_ORE_2]&lt;br /&gt;
 [NAME:adamantium +ore+]&lt;br /&gt;
 [COLOR:3:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [DEEP]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:7500]&lt;br /&gt;
 [MELTING_POINT:25000]&lt;br /&gt;
 [BOILING_POINT:50000]&lt;br /&gt;
 [SOLID_DENSITY:1800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ADAMANTIUM_ORE_3]&lt;br /&gt;
 [NAME:adamantium *ore*]&lt;br /&gt;
 [COLOR:3:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:1]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:7500]&lt;br /&gt;
 [MELTING_POINT:25000]&lt;br /&gt;
 [BOILING_POINT:50000]&lt;br /&gt;
 [SOLID_DENSITY:2000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ADAMANTIUM_ORE_4]&lt;br /&gt;
 [NAME:adamantium ðoreð]&lt;br /&gt;
 [COLOR:3:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:1]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:7500]&lt;br /&gt;
 [MELTING_POINT:25000]&lt;br /&gt;
 [BOILING_POINT:50000]&lt;br /&gt;
 [SOLID_DENSITY:2400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ADAMANTIUM_ORE_5]&lt;br /&gt;
 [NAME:adamantium �ore�]&lt;br /&gt;
 [COLOR:3:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:1]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:7500]&lt;br /&gt;
 [MELTING_POINT:25000]&lt;br /&gt;
 [BOILING_POINT:50000]&lt;br /&gt;
 [SOLID_DENSITY:3200]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_0]&lt;br /&gt;
 [NAME:úcoalú]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:15]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_1]&lt;br /&gt;
 [NAME:-coal-]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:10]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:2600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_2]&lt;br /&gt;
 [NAME:+coal+]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:50]&lt;br /&gt;
 [VALUE:8]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:1800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_3]&lt;br /&gt;
 [NAME:*coal*]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:16]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:1200]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_4]&lt;br /&gt;
 [NAME:ðcoalð]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:5]&lt;br /&gt;
 [VALUE:32]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_5]&lt;br /&gt;
 [NAME:�coal�]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:3]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:3]&lt;br /&gt;
 [VALUE:64]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHALK]&lt;br /&gt;
 [NAME:chalk]&lt;br /&gt;
 [COLOR:7:7:1][TILE:231]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LIMESTONE]&lt;br /&gt;
 [NAME:limestone]&lt;br /&gt;
 [COLOR:7:7:1][TILE:178]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:15]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CALCITE]&lt;br /&gt;
 [NAME:calcite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:155]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:60]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DOLOMITE]&lt;br /&gt;
 [NAME:dolomite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:233]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:60]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MARBLE]&lt;br /&gt;
 [NAME:marble]&lt;br /&gt;
 [COLOR:7:7:1][TILE:176]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER:15]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OBSIDIAN]&lt;br /&gt;
 [NAME:obsidian]&lt;br /&gt;
 [COLOR:0:7:0][TILE:178]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER:20]&lt;br /&gt;
 [LAVA][SHARP]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:VOIDSTONE]&lt;br /&gt;
 [NAME:voidstone]&lt;br /&gt;
 [COLOR:0:7:0][TILE:'v']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_ONE:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:12]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NIGHTROCK]&lt;br /&gt;
 [NAME:nightrock]&lt;br /&gt;
 [COLOR:1:7:0][TILE:239]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:100]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_ONE:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:12]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SERPENTINE]&lt;br /&gt;
 [NAME:serpentine]&lt;br /&gt;
 [COLOR:2:7:0][TILE:234]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CORRODITE]&lt;br /&gt;
 [NAME:corrodite]&lt;br /&gt;
 [COLOR:3:7:0][TILE:127]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:12]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLOODSTONE]&lt;br /&gt;
 [NAME:bloodstone]&lt;br /&gt;
 [COLOR:4:7:0][TILE:'~']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:KINGROCK]&lt;br /&gt;
 [NAME:kingrock]&lt;br /&gt;
 [COLOR:5:7:0][TILE:129]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [NAME:petrified wood]&lt;br /&gt;
 [COLOR:6:7:0][TILE:232]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_ONE:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FOSSILITE]&lt;br /&gt;
 [NAME:fossilite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:224]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LUNARITE]&lt;br /&gt;
 [NAME:lunarite]&lt;br /&gt;
 [COLOR:0:7:1][TILE:'%']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RIVERINE]&lt;br /&gt;
 [NAME:riverine]&lt;br /&gt;
 [COLOR:1:7:1][TILE:247]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:VEGETITE]&lt;br /&gt;
 [NAME:vegetite]&lt;br /&gt;
 [COLOR:2:7:1][TILE:159]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SKYSTONE]&lt;br /&gt;
 [NAME:skystone]&lt;br /&gt;
 [COLOR:3:7:1][TILE:'^']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:50]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEMONSTONE]&lt;br /&gt;
 [NAME:demonstone]&lt;br /&gt;
 [COLOR:4:7:1][TILE:157]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ROYALITE]&lt;br /&gt;
 [NAME:royalite]&lt;br /&gt;
 [COLOR:5:7:1][TILE:139]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SOLARITE]&lt;br /&gt;
 [NAME:solarite]&lt;br /&gt;
 [COLOR:6:7:1][TILE:246]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLOUDROCK]&lt;br /&gt;
 [NAME:cloudrock]&lt;br /&gt;
 [COLOR:7:7:1][TILE:236]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:50]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PRISMATINE]&lt;br /&gt;
 [NAME:prismatine]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'+']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:50]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SPECULARINE]&lt;br /&gt;
 [NAME:specularine]&lt;br /&gt;
 [COLOR:0:7:0][TILE:'=']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:50]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLACK_IRONITE]&lt;br /&gt;
 [NAME:black ironite]&lt;br /&gt;
 [COLOR:0:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_BLUE_IRONITE]&lt;br /&gt;
 [NAME:deep blue ironite]&lt;br /&gt;
 [COLOR:1:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_GREEN_IRONITE]&lt;br /&gt;
 [NAME:deep green ironite]&lt;br /&gt;
 [COLOR:2:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_TEAL_IRONITE]&lt;br /&gt;
 [NAME:deep teal ironite]&lt;br /&gt;
 [COLOR:3:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_RED_IRONITE]&lt;br /&gt;
 [NAME:deep red ironite]&lt;br /&gt;
 [COLOR:4:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_PURPLE_IRONITE]&lt;br /&gt;
 [NAME:deep purple ironite]&lt;br /&gt;
 [COLOR:5:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BROWN_IRONITE]&lt;br /&gt;
 [NAME:brown ironite]&lt;br /&gt;
 [COLOR:0:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GRAY_IRONITE]&lt;br /&gt;
 [NAME:gray ironite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_GRAY_IRONITE]&lt;br /&gt;
 [NAME:deep gray ironite]&lt;br /&gt;
 [COLOR:0:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLUE_IRONITE]&lt;br /&gt;
 [NAME:blue ironite]&lt;br /&gt;
 [COLOR:1:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GREEN_IRONITE]&lt;br /&gt;
 [NAME:green ironite]&lt;br /&gt;
 [COLOR:2:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TEAL_IRONITE]&lt;br /&gt;
 [NAME:teal ironite]&lt;br /&gt;
 [COLOR:3:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED_IRONITE]&lt;br /&gt;
 [NAME:red ironite]&lt;br /&gt;
 [COLOR:4:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PURPLE_IRONITE]&lt;br /&gt;
 [NAME:purple ironite]&lt;br /&gt;
 [COLOR:5:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW_IRONITE]&lt;br /&gt;
 [NAME:yellow ironite]&lt;br /&gt;
 [COLOR:6:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WHITE_IRONITE]&lt;br /&gt;
 [NAME:white ironite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
&lt;br /&gt;
===matgloss_stone_gem.txt===&lt;br /&gt;
 &lt;br /&gt;
 matgloss_stone_gem&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:MATGLOSS]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PRASE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:2:7:1][TILE:15][GEM:prase opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MOSS OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:2:7:0][TILE:15][GEM:moss opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHERRY OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:4:7:1][TILE:15][GEM:cherry opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WAX OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:0:7:1][BASIC_COLOR:7:0][TILE:15][GEM:wax opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WOOD OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:6:7:0][TILE:15][GEM:wood opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:AMBER OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:6:7:0][TILE:15][GEM:amber opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:6:7:1][TILE:15][GEM:gold opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RESIN OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:4:7:0][TILE:15][GEM:resin opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SHELL OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:3:7:0][TILE:15][GEM:shell opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BONE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:7:7:1][TILE:15][GEM:bone opal:STP]&lt;br /&gt;
 [BASIC_COLOR:7:0]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:JASPER OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:7:7:1][TILE:15][GEM:jasper opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PINEAPPLE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:6:7:1][TILE:15][GEM:pineapple opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ONYX OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:0:7:1][TILE:15][GEM:onyx opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MILK OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:7:7:1][TILE:15][GEM:milk opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PIPE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:7:7:1][BASIC_COLOR:7:0][TILE:15][GEM:pipe opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FIRE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:4:7:1][TILE:15][GEM:fire opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:JELLY OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:5:7:0][TILE:15][GEM:jelly opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_BLACK]&lt;br /&gt;
 [TILE:15][GEM:black opal:STP][COLOR:0:7:0][BASIC_COLOR:0:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_WHITE]&lt;br /&gt;
 [TILE:15][GEM:white opal:STP][COLOR:7:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_CRYSTAL]&lt;br /&gt;
 [TILE:15][GEM:crystal opal:STP][COLOR:7:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_CLARO]&lt;br /&gt;
 [TILE:15][GEM:claro opal:STP][COLOR:1:7:0][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_LEVIN]&lt;br /&gt;
 [TILE:15][GEM:levin opal:STP][COLOR:6:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_HARLEQUIN]&lt;br /&gt;
 [TILE:15][GEM:harlequin opal:STP][COLOR:5:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_PINFIRE]&lt;br /&gt;
 [TILE:15][GEM:pinfire opal:STP][COLOR:1:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_BANDFIRE]&lt;br /&gt;
 [TILE:15][GEM:bandfire opal:STP][COLOR:3:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SMOKY_QUARTZ]&lt;br /&gt;
 [VALUE:1][COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'*'][GEM:smoky quartz:smoky quartzes]&lt;br /&gt;
 [ENVIRONMENT:ALL_STONE:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MILK_QUARTZ]&lt;br /&gt;
 [VALUE:2][COLOR:7:7:1][TILE:'*'][GEM:milk quartz:milk quartzes]&lt;br /&gt;
 [ENVIRONMENT:ALL_STONE:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:QUARTZ_ROSE]&lt;br /&gt;
 [TILE:'*'][GEM:rose quartz:rose quartzes][COLOR:4:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:ALL_STONE:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLUE JADE]&lt;br /&gt;
 [VALUE:6][COLOR:1:7:1][TILE:15][GEM:blue jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LAVENDAR JADE]&lt;br /&gt;
 [VALUE:6][COLOR:5:7:0][TILE:15][GEM:lavender jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PINK JADE]&lt;br /&gt;
 [VALUE:6][COLOR:5:7:1][TILE:15][GEM:pink jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WHITE JADE]&lt;br /&gt;
 [VALUE:6][COLOR:7:7:1][TILE:15][GEM:white jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GREEN JADE]&lt;br /&gt;
 [VALUE:6][COLOR:2:7:1][TILE:15][GEM:green jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LACE AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:1:7:1][TILE:'*'][GEM:lace agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MOSS AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:2:7:0][TILE:'*'][GEM:moss agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BANDED AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:4:7:0][TILE:'*'][GEM:banded agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TUBE AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:6:7:0][TILE:'*'][GEM:tube agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FIRE AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:4:7:1][TILE:'*'][GEM:fire agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLUME AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:6:7:1][TILE:'*'][GEM:plume agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DENDRITIC AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:7:7:1][TILE:'*'][GEM:dendritic agate:STP]&lt;br /&gt;
 [BASIC_COLOR:7:0]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FORTIFICATION AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:0:7:1][TILE:'*'][GEM:fortification agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BROWN JASPER]&lt;br /&gt;
 [VALUE:8][COLOR:6:7:0][TILE:15][GEM:brown jasper:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PICTURE JASPER]&lt;br /&gt;
 [VALUE:8][COLOR:3:7:0][TILE:15][GEM:picture jasper:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW JASPER]&lt;br /&gt;
 [VALUE:8][COLOR:6:7:1][TILE:15][GEM:yellow jasper:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GRAY CHALCEDONY]&lt;br /&gt;
 [VALUE:10][COLOR:0:7:1][TILE:15][GEM:gray chalcedony:gray chalcedonies]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WHITE CHALCEDONY]&lt;br /&gt;
 [VALUE:10][COLOR:7:7:1][TILE:15][GEM:white chalcedony:white chalcedonies]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SARD]&lt;br /&gt;
 [VALUE:8][COLOR:4:7:1][TILE:15][GEM:sard:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SARDONYX]&lt;br /&gt;
 [VALUE:8][COLOR:4:7:0][TILE:15][GEM:sardonyx:sardonyxes]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ONYX]&lt;br /&gt;
 [VALUE:8][COLOR:0:7:1][TILE:15]&lt;br /&gt;
 [GEM:onyx:onyxes]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CARNELIAN]&lt;br /&gt;
 [VALUE:6][COLOR:4:7:0][TILE:15][GEM:carnelian:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIGEREYE]&lt;br /&gt;
 [VALUE:6][COLOR:6:7:1][TILE:15][GEM:tigereye:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLACK ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:0:7:0][BASIC_COLOR:0:1][TILE:15][GEM:black zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GREEN ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:2:7:0][TILE:15][GEM:green zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:4:7:0][TILE:15][GEM:red zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BROWN ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:6:7:0][TILE:15][GEM:brown zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:6:7:1][TILE:15][GEM:yellow zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLEAR ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:7:7:1][TILE:15][GEM:clear zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TURQUOISE]&lt;br /&gt;
 [TILE:15][GEM:turquoise:STP][COLOR:3:7:0][VALUE:2]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:AQUAMARINE]&lt;br /&gt;
 [TILE:15][GEM:aquamarine:STP][COLOR:3:7:1][VALUE:20]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PRASE]&lt;br /&gt;
 [VALUE:4][COLOR:3:7:0][TILE:'*'][GEM:prase:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:100]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHRYSOPRASE]&lt;br /&gt;
 [VALUE:4][COLOR:3:7:1][TILE:'*'][GEM:chrysoprase:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:100]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHRYSOCOLLA]&lt;br /&gt;
 [VALUE:4][COLOR:1:7:1][TILE:'*'][GEM:chrysocolla:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:100]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHRYSOBERYL]&lt;br /&gt;
 [TILE:'*'][GEM:chrysoberyl:STP][COLOR:2:7:1][VALUE:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:100]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TOPAZ]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:1][TILE:15][GEM:topaz:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SUNSTONE]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:1][TILE:15][GEM:sunstone:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MOONSTONE]&lt;br /&gt;
 [VALUE:20][COLOR:7:7:1][TILE:15][GEM:moonstone:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLUE GARNET]&lt;br /&gt;
 [VALUE:15][COLOR:1:7:0][TILE:15][GEM:blue garnet:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PINK GARNET]&lt;br /&gt;
 [VALUE:15][COLOR:5:7:1][TILE:15][GEM:pink garnet:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLEAR GARNET]&lt;br /&gt;
 [VALUE:15][COLOR:7:7:1][TILE:15][GEM:clear garnet:STP]&lt;br /&gt;
 [BASIC_COLOR:7:0]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:VIOLET SPESSARTINE]&lt;br /&gt;
 [VALUE:15][COLOR:5:7:1][TILE:15][GEM:violet spessartine:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW SPESSARTINE]&lt;br /&gt;
 [VALUE:15][COLOR:6:7:1][TILE:15][GEM:yellow spessartine:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SPINEL_PURPLE]&lt;br /&gt;
 [VALUE:15][COLOR:5:7:0][TILE:15][GEM:purple spinel:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:35]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SPINEL_RED]&lt;br /&gt;
 [TILE:15][GEM:red spinel:STP][COLOR:4:7:0][VALUE:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:35]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED BERYL]red beryl is very rare&lt;br /&gt;
 [VALUE:20][COLOR:4:7:1][TILE:15][GEM:red beryl:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:HONEY YELLOW BERYL]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:0][TILE:15][GEM:honey yellow beryl:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLDEN BERYL]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:1][TILE:15][GEM:golden beryl:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLEAR TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:7:7:1][TILE:15][GEM:clear tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:INDIGO TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:1:7:0][TILE:15][GEM:indigo tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GREEN TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:2:7:0][TILE:15][GEM:green tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:4:7:0][TILE:15][GEM:red tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PINK TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:5:7:1][TILE:15][GEM:pink tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLACK PYROPE]&lt;br /&gt;
 [VALUE:20][COLOR:0:7:0][BASIC_COLOR:0:1][TILE:15][GEM:black pyrope:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED PYROPE]&lt;br /&gt;
 [VALUE:20][COLOR:4:7:0][TILE:15][GEM:red pyrope:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED GROSSULAR]&lt;br /&gt;
 [VALUE:20][COLOR:4:7:0][TILE:15][GEM:red grossular:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CINNAMON GROSSULAR]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:0][TILE:15][GEM:cinnamon grossular:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW GROSSULAR]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:1][TILE:15][GEM:yellow grossular:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:AMETHYST]&lt;br /&gt;
 [TILE:15][GEM:amethyst:STP][COLOR:5:7:1][VALUE:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:EMERALD]&lt;br /&gt;
 [TILE:15][GEM:emerald:STP][COLOR:2:7:0][VALUE:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAPPHIRE]&lt;br /&gt;
 [TILE:15][GEM:sapphire:STP][COLOR:1:7:0][VALUE:30]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAPPHIRE_STAR]&lt;br /&gt;
 [TILE:15][GEM:star sapphire:STP][COLOR:1:7:1][VALUE:60]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:4]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RUBY]&lt;br /&gt;
 [TILE:15][GEM:ruby:rubies][COLOR:4:7:0][VALUE:30]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RUBY_STAR]&lt;br /&gt;
 [TILE:15][GEM:star ruby:star rubies][COLOR:4:7:1][VALUE:60]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:4]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_LIGHT_YELLOW]&lt;br /&gt;
 [TILE:15][GEM:light yellow diamond:STP][COLOR:7:7:1][VALUE:40]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_FAINT_YELLOW]&lt;br /&gt;
 [TILE:15][GEM:faint yellow diamond:STP][COLOR:6:7:0][VALUE:30]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_CLEAR]&lt;br /&gt;
 [TILE:15][GEM:clear diamond:STP][COLOR:7:7:1][VALUE:100]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:2]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_RED]&lt;br /&gt;
 [TILE:15][GEM:red diamond:STP][COLOR:4:7:0][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_GREEN]&lt;br /&gt;
 [TILE:15][GEM:green diamond:STP][COLOR:2:7:0][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_BLUE]&lt;br /&gt;
 [TILE:15][GEM:blue diamond:STP][COLOR:1:7:0][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_YELLOW]&lt;br /&gt;
 [TILE:15][GEM:yellow diamond:STP][COLOR:6:7:1][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_BLACK]&lt;br /&gt;
 [TILE:15][GEM:black diamond:STP][COLOR:0:7:0][BASIC_COLOR:0:1][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
===reaction_standard.txt===&lt;br /&gt;
&lt;br /&gt;
 reaction_standard&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:REACTION]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt iron úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_0]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt iron -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_1]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt iron +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_2]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt iron *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_3]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt iron ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_4]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt iron �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_5]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt copper úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt copper -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt copper +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt copper *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt copper ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt copper �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:LEAD_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt lead úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:LEAD_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt lead -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:LEAD_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt lead +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:LEAD_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt lead *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ZINC_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt zinc úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ZINC_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt zinc -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ZINC_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt zinc +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ZINC_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt zinc *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt nickel +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt nickel *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt nickel ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt nickel �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt tin úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt tin -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt tin +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt tin *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt tin ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt tin �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt silver úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt silver -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt silver +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt silver *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt silver ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt silver �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt gold úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt gold -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt gold +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt gold *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt gold ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt gold �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PLATINUM_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt platinum +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PLATINUM_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt platinum *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PLATINUM_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt platinum ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PLATINUM_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt platinum �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt mithril +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt mithril *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt mithril ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt mithril �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt adamantium +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt adamantium *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt adamantium ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt adamantium �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_0_TO_COKE]&lt;br /&gt;
 [NAME:make coke from úcoalú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_1_TO_COKE]&lt;br /&gt;
 [NAME:make coke from -coal-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_2_TO_COKE]&lt;br /&gt;
 [NAME:make coke from +coal+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_3_TO_COKE]&lt;br /&gt;
 [NAME:make coke from *coal*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_4_TO_COKE]&lt;br /&gt;
 [NAME:make coke from ðcoalð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_5_TO_COKE]&lt;br /&gt;
 [NAME:make coke from �coal�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:CAST_IRON_MAKING]&lt;br /&gt;
 [NAME:make cast iron bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:CAST_IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PIG_IRON_MAKING]&lt;br /&gt;
 [NAME:make pig iron bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:2:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PIG_IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:STEEL_MAKING]&lt;br /&gt;
 [NAME:make steel bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:PIG_IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:STEEL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DWARVEN_STEEL_MAKING]&lt;br /&gt;
 [NAME:make dwarven steel bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:PIG_IRON]&lt;br /&gt;
 [REAGENT:2:REACTION_CLASS:FLUX]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
 [REAGENT:1:ROUGH:NO_SUBTYPE:GLASS_GREEN:NO_MATGLOSS]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:DWARVEN_STEEL]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BRASS_MAKING]&lt;br /&gt;
 [NAME:make brass bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:2:BAR:NO_SUBTYPE:METAL:BRASS]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BRONZE_MAKING]&lt;br /&gt;
 [NAME:make bronze bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:BRONZE]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_BILLON_MAKING]&lt;br /&gt;
 [NAME:make silver billon bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:SILVER_BILLON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_BILLON_MAKING]&lt;br /&gt;
 [NAME:make gold billon bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:GOLD_BILLON]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_SILVER_MAKING]&lt;br /&gt;
 [NAME:make nickel silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:2:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:4:BAR:NO_SUBTYPE:METAL:NICKEL_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PEWTER_MAKING]&lt;br /&gt;
 [NAME:make pewter bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:PEWTER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SPARRING_LEAD_MAKING]&lt;br /&gt;
 [NAME:make sparring lead bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:2:BAR:NO_SUBTYPE:METAL:SPARRING_LEAD]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:STERLING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make sterling silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:3:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:4:BAR:NO_SUBTYPE:METAL:STERLING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ROSE_GOLD_MAKING]&lt;br /&gt;
 [NAME:make rose gold bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:3:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:4:BAR:NO_SUBTYPE:METAL:ROSE_GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:WHITE_GOLD_MAKING]&lt;br /&gt;
 [NAME:make white gold bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:2:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:3:BAR:NO_SUBTYPE:METAL:WHITE_GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ELECTRUM_MAKING]&lt;br /&gt;
 [NAME:make electrum bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:2:BAR:NO_SUBTYPE:METAL:ELECTRUM]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_BAR_MAKING]&lt;br /&gt;
 [NAME:make mithril bar from thread]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:THREAD:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_THREAD_MAKING]&lt;br /&gt;
 [NAME:make mithril thread from bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:THREAD:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_BAR_MAKING]&lt;br /&gt;
 [NAME:make adamantium bar from thread]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:THREAD:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_THREAD_MAKING]&lt;br /&gt;
 [NAME:make adamantium thread from bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:THREAD:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRIDESCENT_SILVER_MAKING]&lt;br /&gt;
 [NAME:make iridescent silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PRISMATINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLACK_SILVER_MAKING]&lt;br /&gt;
 [NAME:make black silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VOIDSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BLACK_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:OCEAN_SILVER_MAKING]&lt;br /&gt;
 [NAME:make ocean silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NIGHTROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:OCEAN_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:OLIVE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make olive silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SERPENTINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:OLIVE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:JADE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make jade silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CORRODITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:JADE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLOOD_SILVER_MAKING]&lt;br /&gt;
 [NAME:make blood silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLOODSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BLOOD_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:KING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make king silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:KINGROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:KING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BROWN_SILVER_MAKING]&lt;br /&gt;
 [NAME:make brown silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BROWN_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ASH_SILVER_MAKING]&lt;br /&gt;
 [NAME:make ash silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FOSSILITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:ASH_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SLATE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make slate silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LUNARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:SLATE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLUE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make blue silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RIVERINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BLUE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SPRING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make spring silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VEGETITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:SPRING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SKY_SILVER_MAKING]&lt;br /&gt;
 [NAME:make sky silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SKYSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:SKY_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:RED_SILVER_MAKING]&lt;br /&gt;
 [NAME:make red silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEMONSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:RED_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ROYAL_SILVER_MAKING]&lt;br /&gt;
 [NAME:make royal silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ROYALITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:ROYAL_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:YELLOW_SILVER_MAKING]&lt;br /&gt;
 [NAME:make yellow silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SOLARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:YELLOW_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:CLOUD_SILVER_MAKING]&lt;br /&gt;
 [NAME:make cloud silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CLOUDROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:CLOUD_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SPECULAR_SILVER_MAKING]&lt;br /&gt;
 [NAME:make specular silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SPECULARINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_OCEAN_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold ocean silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NIGHTROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_OCEAN_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_OLIVE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold olive silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SERPENTINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_OLIVE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_JADE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold jade silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CORRODITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_JADE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_BLOOD_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold blood silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLOODSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_BLOOD_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_KING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold king silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:KINGROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_KING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_BROWN_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold brown silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_BROWN_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_ASH_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold ash silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FOSSILITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_ASH_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_SLATE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold slate silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LUNARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_SLATE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_BLUE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold blue silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RIVERINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_BLUE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_SPRING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold spring silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VEGETITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_SPRING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_SKY_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold sky silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SKYSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_SKY_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_RED_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold red silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEMONSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_RED_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_ROYAL_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold royal silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ROYALITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_ROYAL_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_YELLOW_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold yellow silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SOLARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_YELLOW_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_CLOUD_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold cloud silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CLOUDROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_CLOUD_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLACK_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make black ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VOIDSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:BLACK_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_BLUE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep blue ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NIGHTROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_BLUE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_GREEN_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep green ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SERPENTINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_GREEN_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_TEAL_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep teal ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CORRODITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_TEAL_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_RED_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep red ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLOODSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_RED_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_PURPLE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep purple ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:KINGROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_PURPLE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BROWN_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make brown ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:BROWN_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GRAY_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make gray ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FOSSILITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:GRAY_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_GRAY_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep gray ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LUNARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_GRAY_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLUE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make blue ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RIVERINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:BLUE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GREEN_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make green ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VEGETITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:GREEN_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TEAL_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make teal ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SKYSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:TEAL_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:RED_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make red ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEMONSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:RED_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PURPLE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make purple ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ROYALITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:PURPLE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:YELLOW_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make yellow ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SOLARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:YELLOW_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:WHITE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make white ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CLOUDROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:WHITE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:CAST_IRON_ANVIL_MAKING]&lt;br /&gt;
 [NAME:make cast iron anvil]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:5:BAR:NO_SUBTYPE:METAL:CAST_IRON]&lt;br /&gt;
 [REAGENT:2:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:ANVIL:NO_SUBTYPE:METAL:CAST_IRON]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:FORCE_ALL_STONES_TO_BE_ECONOMIC]&lt;br /&gt;
 [NAME:]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SANDSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MUDSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FLINT]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SHALE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BASALT]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RHYOLITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ANDESITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FELSITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GRANITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DIORITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PERIDOTITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SLATE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:QUARTZITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SCHIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PHYLLITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CHALK]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LIMESTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CALCITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DOLOMITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MARBLE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:OBSIDIAN]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VOIDSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NIGHTROCK]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SERPENTINE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CORRODITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLOODSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:KINGROCK]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FOSSILITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LUNARITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RIVERINE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VEGETITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SKYSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEMONSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ROYALITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SOLARITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CLOUDROCK]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PRISMATINE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SPECULARINE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLACK_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_BLUE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_GREEN_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_TEAL_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_RED_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_PURPLE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BROWN_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GRAY_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_GRAY_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLUE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GREEN_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TEAL_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RED_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PURPLE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:YELLOW_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:WHITE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_5]&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=User:Exponent/Mineral_Mod&amp;diff=44473</id>
		<title>User:Exponent/Mineral Mod</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=User:Exponent/Mineral_Mod&amp;diff=44473"/>
		<updated>2008-08-20T14:25:09Z</updated>

		<summary type="html">&lt;p&gt;Exponent: New page: Category:Mineral Mods  ==Description==  ===Layers and Soils===  ===Minerals===  ===Reactions===  ==Files==  I might put these in a zip eventually.  For now I'm just throwing them up he...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Mineral Mods]]&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
===Layers and Soils===&lt;br /&gt;
&lt;br /&gt;
===Minerals===&lt;br /&gt;
&lt;br /&gt;
===Reactions===&lt;br /&gt;
&lt;br /&gt;
==Files==&lt;br /&gt;
&lt;br /&gt;
I might put these in a zip eventually.  For now I'm just throwing them up here in case someone gets curious.&lt;br /&gt;
&lt;br /&gt;
===matgloss_stone_layer.txt===&lt;br /&gt;
&lt;br /&gt;
 matgloss_stone_layer&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:MATGLOSS]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SANDSTONE]&lt;br /&gt;
 [NAME:sandstone]&lt;br /&gt;
 [COLOR:6:7:0][TILE:247]&lt;br /&gt;
 [SEDIMENTARY][AQUIFER][SEDIMENTARY_OCEAN_SHALLOW]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MUDSTONE]&lt;br /&gt;
 [NAME:mudstone]&lt;br /&gt;
 [COLOR:6:7:0][TILE:'~']&lt;br /&gt;
 [SEDIMENTARY][AQUIFER]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FLINT]&lt;br /&gt;
 [NAME:flint]&lt;br /&gt;
 [COLOR:6:7:0][TILE:'/']&lt;br /&gt;
 [SEDIMENTARY]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SHALE]&lt;br /&gt;
 [NAME:shale]&lt;br /&gt;
 [COLOR:6:7:0][TILE:'\']&lt;br /&gt;
 [SEDIMENTARY][AQUIFER][SEDIMENTARY_OCEAN_SHALLOW]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BASALT]&lt;br /&gt;
 [NAME:basalt]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'#']&lt;br /&gt;
 [IGNEOUS_EXTRUSIVE]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RHYOLITE]&lt;br /&gt;
 [NAME:rhyolite]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:231]&lt;br /&gt;
 [IGNEOUS_EXTRUSIVE]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ANDESITE]&lt;br /&gt;
 [NAME:andesite]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:233]&lt;br /&gt;
 [IGNEOUS_EXTRUSIVE]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FELSITE]&lt;br /&gt;
 [NAME:felsite]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:236]&lt;br /&gt;
 [IGNEOUS_EXTRUSIVE]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GRANITE]&lt;br /&gt;
 [NAME:granite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:240]&lt;br /&gt;
 [IGNEOUS_INTRUSIVE]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIORITE]&lt;br /&gt;
 [NAME:diorite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'=']&lt;br /&gt;
 [IGNEOUS_INTRUSIVE]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PERIDOTITE]&lt;br /&gt;
 [NAME:peridotite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'-']&lt;br /&gt;
 [IGNEOUS_INTRUSIVE]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SLATE]&lt;br /&gt;
 [NAME:slate]&lt;br /&gt;
 [COLOR:7:7:1][TILE:'/']&lt;br /&gt;
 [METAMORPHIC]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:QUARTZITE]&lt;br /&gt;
 [NAME:quartzite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:246]&lt;br /&gt;
 [METAMORPHIC]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SCHIST]&lt;br /&gt;
 [NAME:schist]&lt;br /&gt;
 [COLOR:7:7:1][TILE:'\']&lt;br /&gt;
 [METAMORPHIC]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PHYLLITE]&lt;br /&gt;
 [NAME:phyllite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:'%']&lt;br /&gt;
 [METAMORPHIC]&lt;br /&gt;
 &lt;br /&gt;
===matgloss_stone_soil.txt===&lt;br /&gt;
&lt;br /&gt;
 matgloss_stone_soil&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:MATGLOSS]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLAY]&lt;br /&gt;
 [NAME:clay][COLOR:4:6:0][TILE:178]&lt;br /&gt;
 [SOIL]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILTY_CLAY]&lt;br /&gt;
 [NAME:silty clay][COLOR:4:7:0][TILE:178]&lt;br /&gt;
 [SOIL]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SANDY_CLAY]&lt;br /&gt;
 [NAME:sandy clay][COLOR:4:6:0][TILE:177]&lt;br /&gt;
 [SOIL][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLAY_LOAM]&lt;br /&gt;
 [NAME:clay loam][COLOR:4:7:0][TILE:177]&lt;br /&gt;
 [SOIL]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SANDY_CLAY_LOAM]&lt;br /&gt;
 [NAME:sandy clay loam][COLOR:4:6:0][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILTY_CLAY_LOAM]&lt;br /&gt;
 [NAME:silty clay loam][COLOR:4:7:0][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LOAM]&lt;br /&gt;
 [NAME:loam][COLOR:6:7:0][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SANDY_LOAM]&lt;br /&gt;
 [NAME:sandy loam][COLOR:6:6:1][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILT_LOAM]&lt;br /&gt;
 [NAME:silt loam][COLOR:6:7:0][TILE:177]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LOAMY_SAND]&lt;br /&gt;
 [NAME:loamy sand][COLOR:6:6:1][TILE:177]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILT]&lt;br /&gt;
 [NAME:silt][COLOR:6:7:0][TILE:178]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_TAN]&lt;br /&gt;
 [NAME:sand][COLOR:6:4:1][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_YELLOW]&lt;br /&gt;
 [NAME:yellow sand][COLOR:6:6:1][TILE:178]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_WHITE]&lt;br /&gt;
 [NAME:white sand][COLOR:7:6:1][TILE:178]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_BLACK]&lt;br /&gt;
 [NAME:black sand][COLOR:0:6:1][TILE:178]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAND_RED]&lt;br /&gt;
 [NAME:red sand][COLOR:4:4:1][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER][SOIL_SAND]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PEAT]&lt;br /&gt;
 [NAME:peat][COLOR:0:6:1][TILE:176]&lt;br /&gt;
 [SOIL][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PELAGIC_CLAY]&lt;br /&gt;
 [NAME:pelagic clay][COLOR:4:6:0][TILE:176]&lt;br /&gt;
 [SOIL_OCEAN][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CALCAREOUS_OOZE]&lt;br /&gt;
 [NAME:calcareous ooze][COLOR:4:7:0][TILE:177]&lt;br /&gt;
 [SOIL_OCEAN][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILICEOUS_OOZE]&lt;br /&gt;
 [NAME:siliceous ooze][COLOR:4:7:0][TILE:177]&lt;br /&gt;
 [SOIL_OCEAN][AQUIFER]&lt;br /&gt;
 [SOLID_DENSITY:1600]&lt;br /&gt;
&lt;br /&gt;
===matgloss_stone_mineral.txt===&lt;br /&gt;
&lt;br /&gt;
 matgloss_stone_mineral&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:MATGLOSS]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_0]&lt;br /&gt;
 [NAME:iron úoreú]&lt;br /&gt;
 [COLOR:4:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_1]&lt;br /&gt;
 [NAME:iron -ore-]&lt;br /&gt;
 [COLOR:4:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_2]&lt;br /&gt;
 [NAME:iron +ore+]&lt;br /&gt;
 [COLOR:4:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:100]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:75]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_3]&lt;br /&gt;
 [NAME:iron *ore*]&lt;br /&gt;
 [COLOR:4:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:25]&lt;br /&gt;
 [VALUE:8]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_4]&lt;br /&gt;
 [NAME:iron ðoreð]&lt;br /&gt;
 [COLOR:4:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:3]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:16]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:IRON_ORE_5]&lt;br /&gt;
 [NAME:iron �ore�]&lt;br /&gt;
 [COLOR:4:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:1]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:32]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_0]&lt;br /&gt;
 [NAME:copper úoreú]&lt;br /&gt;
 [COLOR:6:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_1]&lt;br /&gt;
 [NAME:copper -ore-]&lt;br /&gt;
 [COLOR:6:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_2]&lt;br /&gt;
 [NAME:copper +ore+]&lt;br /&gt;
 [COLOR:6:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:100]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [VALUE:3]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_3]&lt;br /&gt;
 [NAME:copper *ore*]&lt;br /&gt;
 [COLOR:6:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_4]&lt;br /&gt;
 [NAME:copper ðoreð]&lt;br /&gt;
 [COLOR:6:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:2]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:12]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COPPER_ORE_5]&lt;br /&gt;
 [NAME:copper �ore�]&lt;br /&gt;
 [COLOR:6:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:2]&lt;br /&gt;
 [VALUE:24]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LEAD_ORE_0]&lt;br /&gt;
 [NAME:lead úoreú]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:15]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LEAD_ORE_1]&lt;br /&gt;
 [NAME:lead -ore-]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:10]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LEAD_ORE_2]&lt;br /&gt;
 [NAME:lead +ore+]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:15]&lt;br /&gt;
 [VALUE:3]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LEAD_ORE_3]&lt;br /&gt;
 [NAME:lead *ore*]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:5]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ZINC_ORE_0]&lt;br /&gt;
 [NAME:zinc úoreú]&lt;br /&gt;
 [COLOR:3:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ZINC_ORE_1]&lt;br /&gt;
 [NAME:zinc -ore-]&lt;br /&gt;
 [COLOR:3:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ZINC_ORE_2]&lt;br /&gt;
 [NAME:zinc +ore+]&lt;br /&gt;
 [COLOR:3:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:3]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ZINC_ORE_3]&lt;br /&gt;
 [NAME:zinc *ore*]&lt;br /&gt;
 [COLOR:3:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NICKEL_ORE_2]&lt;br /&gt;
 [NAME:nickel +ore+]&lt;br /&gt;
 [COLOR:0:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NICKEL_ORE_3]&lt;br /&gt;
 [NAME:nickel *ore*]&lt;br /&gt;
 [COLOR:0:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:12]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NICKEL_ORE_4]&lt;br /&gt;
 [NAME:nickel ðoreð]&lt;br /&gt;
 [COLOR:0:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:75]&lt;br /&gt;
 [VALUE:24]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NICKEL_ORE_5]&lt;br /&gt;
 [NAME:nickel �ore�]&lt;br /&gt;
 [COLOR:0:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:50]&lt;br /&gt;
 [VALUE:48]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_0]&lt;br /&gt;
 [NAME:tin úoreú]&lt;br /&gt;
 [COLOR:2:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:30]&lt;br /&gt;
 [VALUE:1]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_1]&lt;br /&gt;
 [NAME:tin -ore-]&lt;br /&gt;
 [COLOR:2:7:0][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:40]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_2]&lt;br /&gt;
 [NAME:tin +ore+]&lt;br /&gt;
 [COLOR:2:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:30]&lt;br /&gt;
 [VALUE:3]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_3]&lt;br /&gt;
 [NAME:tin *ore*]&lt;br /&gt;
 [COLOR:2:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:20]&lt;br /&gt;
 [VALUE:5]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_4]&lt;br /&gt;
 [NAME:tin ðoreð]&lt;br /&gt;
 [COLOR:2:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:6]&lt;br /&gt;
 [VALUE:10]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIN_ORE_5]&lt;br /&gt;
 [NAME:tin �ore�]&lt;br /&gt;
 [COLOR:2:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:3]&lt;br /&gt;
 [VALUE:20]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_0]&lt;br /&gt;
 [NAME:silver úoreú]&lt;br /&gt;
 [COLOR:7:7:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:5]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_1]&lt;br /&gt;
 [NAME:silver -ore-]&lt;br /&gt;
 [COLOR:7:7:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [VALUE:8]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_2]&lt;br /&gt;
 [NAME:silver +ore+]&lt;br /&gt;
 [COLOR:7:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [VALUE:16]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_3]&lt;br /&gt;
 [NAME:silver *ore*]&lt;br /&gt;
 [COLOR:7:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [VALUE:32]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_4]&lt;br /&gt;
 [NAME:silver ðoreð]&lt;br /&gt;
 [COLOR:7:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:10]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:5]&lt;br /&gt;
 [VALUE:64]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SILVER_ORE_5]&lt;br /&gt;
 [NAME:silver �ore�]&lt;br /&gt;
 [COLOR:7:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:5]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:128]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_0]&lt;br /&gt;
 [NAME:gold úoreú]&lt;br /&gt;
 [COLOR:6:7:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:4]&lt;br /&gt;
 [VALUE:8]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_1]&lt;br /&gt;
 [NAME:gold -ore-]&lt;br /&gt;
 [COLOR:6:7:1][TILE:249][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:8]&lt;br /&gt;
 [VALUE:16]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_2]&lt;br /&gt;
 [NAME:gold +ore+]&lt;br /&gt;
 [COLOR:6:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:8]&lt;br /&gt;
 [VALUE:32]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_3]&lt;br /&gt;
 [NAME:gold *ore*]&lt;br /&gt;
 [COLOR:6:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [VALUE:64]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_4]&lt;br /&gt;
 [NAME:gold ðoreð]&lt;br /&gt;
 [COLOR:6:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:5]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:4]&lt;br /&gt;
 [VALUE:128]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD_ORE_5]&lt;br /&gt;
 [NAME:gold �ore�]&lt;br /&gt;
 [COLOR:6:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:3]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:2]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLATINUM_ORE_2]&lt;br /&gt;
 [NAME:platinum +ore+]&lt;br /&gt;
 [COLOR:1:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:8]&lt;br /&gt;
 [VALUE:64]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLATINUM_ORE_3]&lt;br /&gt;
 [NAME:platinum *ore*]&lt;br /&gt;
 [COLOR:1:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:3]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:6]&lt;br /&gt;
 [VALUE:128]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLATINUM_ORE_4]&lt;br /&gt;
 [NAME:platinum ðoreð]&lt;br /&gt;
 [COLOR:1:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:5]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:10]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLATINUM_ORE_5]&lt;br /&gt;
 [NAME:platinum �ore�]&lt;br /&gt;
 [COLOR:1:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:8]&lt;br /&gt;
 [VALUE:512]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:9600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MITHRIL_ORE_2]&lt;br /&gt;
 [NAME:mithril +ore+]&lt;br /&gt;
 [COLOR:5:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:2]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:4]&lt;br /&gt;
 [VALUE:192]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MITHRIL_ORE_3]&lt;br /&gt;
 [NAME:mithril *ore*]&lt;br /&gt;
 [COLOR:5:7:0][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:1]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:3]&lt;br /&gt;
 [VALUE:384]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MITHRIL_ORE_4]&lt;br /&gt;
 [NAME:mithril ðoreð]&lt;br /&gt;
 [COLOR:5:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:8]&lt;br /&gt;
 [VALUE:768]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:4800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MITHRIL_ORE_5]&lt;br /&gt;
 [NAME:mithril �ore�]&lt;br /&gt;
 [COLOR:5:7:0][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:3]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:6]&lt;br /&gt;
 [VALUE:1536]&lt;br /&gt;
 [SPEC_HEAT:500]&lt;br /&gt;
 [SOLID_DENSITY:6400]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ADAMANTIUM_ORE_2]&lt;br /&gt;
 [NAME:adamantium +ore+]&lt;br /&gt;
 [COLOR:3:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [DEEP]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:7500]&lt;br /&gt;
 [MELTING_POINT:25000]&lt;br /&gt;
 [BOILING_POINT:50000]&lt;br /&gt;
 [SOLID_DENSITY:1800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ADAMANTIUM_ORE_3]&lt;br /&gt;
 [NAME:adamantium *ore*]&lt;br /&gt;
 [COLOR:3:7:1][TILE:248][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:1]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:7500]&lt;br /&gt;
 [MELTING_POINT:25000]&lt;br /&gt;
 [BOILING_POINT:50000]&lt;br /&gt;
 [SOLID_DENSITY:2000]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ADAMANTIUM_ORE_4]&lt;br /&gt;
 [NAME:adamantium ðoreð]&lt;br /&gt;
 [COLOR:3:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:1]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:7500]&lt;br /&gt;
 [MELTING_POINT:25000]&lt;br /&gt;
 [BOILING_POINT:50000]&lt;br /&gt;
 [SOLID_DENSITY:2400]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ADAMANTIUM_ORE_5]&lt;br /&gt;
 [NAME:adamantium �ore�]&lt;br /&gt;
 [COLOR:3:7:1][TILE:009][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:1]&lt;br /&gt;
 [VALUE:256]&lt;br /&gt;
 [SPEC_HEAT:7500]&lt;br /&gt;
 [MELTING_POINT:25000]&lt;br /&gt;
 [BOILING_POINT:50000]&lt;br /&gt;
 [SOLID_DENSITY:3200]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_0]&lt;br /&gt;
 [NAME:úcoalú]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:15]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:3600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_1]&lt;br /&gt;
 [NAME:-coal-]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:10]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:2600]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_2]&lt;br /&gt;
 [NAME:+coal+]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:50]&lt;br /&gt;
 [VALUE:8]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:1800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_3]&lt;br /&gt;
 [NAME:*coal*]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 [VALUE:16]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:1200]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_4]&lt;br /&gt;
 [NAME:ðcoalð]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:5]&lt;br /&gt;
 [VALUE:32]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:800]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:COAL_5]&lt;br /&gt;
 [NAME:�coal�]&lt;br /&gt;
 [COLOR:0:7:0][BASIC_COLOR:0:1][TILE:'*'][ITEM_SYMBOL:'*']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:3]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:3]&lt;br /&gt;
 [VALUE:64]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [SOLID_DENSITY:600]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHALK]&lt;br /&gt;
 [NAME:chalk]&lt;br /&gt;
 [COLOR:7:7:1][TILE:231]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LIMESTONE]&lt;br /&gt;
 [NAME:limestone]&lt;br /&gt;
 [COLOR:7:7:1][TILE:178]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:15]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CALCITE]&lt;br /&gt;
 [NAME:calcite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:155]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:60]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DOLOMITE]&lt;br /&gt;
 [NAME:dolomite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:233]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:60]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MARBLE]&lt;br /&gt;
 [NAME:marble]&lt;br /&gt;
 [COLOR:7:7:1][TILE:176]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER:15]&lt;br /&gt;
 [REACTION_CLASS:FLUX]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OBSIDIAN]&lt;br /&gt;
 [NAME:obsidian]&lt;br /&gt;
 [COLOR:0:7:0][TILE:178]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER:20]&lt;br /&gt;
 [LAVA][SHARP]&lt;br /&gt;
 [REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [VALUE:4]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:VOIDSTONE]&lt;br /&gt;
 [NAME:voidstone]&lt;br /&gt;
 [COLOR:0:7:0][TILE:'v']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_ONE:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:12]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:NIGHTROCK]&lt;br /&gt;
 [NAME:nightrock]&lt;br /&gt;
 [COLOR:1:7:0][TILE:239]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:100]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_ONE:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:12]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SERPENTINE]&lt;br /&gt;
 [NAME:serpentine]&lt;br /&gt;
 [COLOR:2:7:0][TILE:234]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CORRODITE]&lt;br /&gt;
 [NAME:corrodite]&lt;br /&gt;
 [COLOR:3:7:0][TILE:127]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:12]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLOODSTONE]&lt;br /&gt;
 [NAME:bloodstone]&lt;br /&gt;
 [COLOR:4:7:0][TILE:'~']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:KINGROCK]&lt;br /&gt;
 [NAME:kingrock]&lt;br /&gt;
 [COLOR:5:7:0][TILE:129]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [NAME:petrified wood]&lt;br /&gt;
 [COLOR:6:7:0][TILE:232]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_ONE:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_ONE:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FOSSILITE]&lt;br /&gt;
 [NAME:fossilite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:224]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER:5]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LUNARITE]&lt;br /&gt;
 [NAME:lunarite]&lt;br /&gt;
 [COLOR:0:7:1][TILE:'%']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RIVERINE]&lt;br /&gt;
 [NAME:riverine]&lt;br /&gt;
 [COLOR:1:7:1][TILE:247]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:VEGETITE]&lt;br /&gt;
 [NAME:vegetite]&lt;br /&gt;
 [COLOR:2:7:1][TILE:159]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SKYSTONE]&lt;br /&gt;
 [NAME:skystone]&lt;br /&gt;
 [COLOR:3:7:1][TILE:'^']&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:10]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:50]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEMONSTONE]&lt;br /&gt;
 [NAME:demonstone]&lt;br /&gt;
 [COLOR:4:7:1][TILE:157]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:50]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ROYALITE]&lt;br /&gt;
 [NAME:royalite]&lt;br /&gt;
 [COLOR:5:7:1][TILE:139]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SOLARITE]&lt;br /&gt;
 [NAME:solarite]&lt;br /&gt;
 [COLOR:6:7:1][TILE:246]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLOUDROCK]&lt;br /&gt;
 [NAME:cloudrock]&lt;br /&gt;
 [COLOR:7:7:1][TILE:236]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:50]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PRISMATINE]&lt;br /&gt;
 [NAME:prismatine]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'+']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:50]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SPECULARINE]&lt;br /&gt;
 [NAME:specularine]&lt;br /&gt;
 [COLOR:0:7:0][TILE:'=']&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:VEIN:12]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:VEIN:25]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:VEIN:50]&lt;br /&gt;
 [VALUE:2]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLACK_IRONITE]&lt;br /&gt;
 [NAME:black ironite]&lt;br /&gt;
 [COLOR:0:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_BLUE_IRONITE]&lt;br /&gt;
 [NAME:deep blue ironite]&lt;br /&gt;
 [COLOR:1:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_GREEN_IRONITE]&lt;br /&gt;
 [NAME:deep green ironite]&lt;br /&gt;
 [COLOR:2:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_TEAL_IRONITE]&lt;br /&gt;
 [NAME:deep teal ironite]&lt;br /&gt;
 [COLOR:3:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_RED_IRONITE]&lt;br /&gt;
 [NAME:deep red ironite]&lt;br /&gt;
 [COLOR:4:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_PURPLE_IRONITE]&lt;br /&gt;
 [NAME:deep purple ironite]&lt;br /&gt;
 [COLOR:5:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BROWN_IRONITE]&lt;br /&gt;
 [NAME:brown ironite]&lt;br /&gt;
 [COLOR:0:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GRAY_IRONITE]&lt;br /&gt;
 [NAME:gray ironite]&lt;br /&gt;
 [COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DEEP_GRAY_IRONITE]&lt;br /&gt;
 [NAME:deep gray ironite]&lt;br /&gt;
 [COLOR:0:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLUE_IRONITE]&lt;br /&gt;
 [NAME:blue ironite]&lt;br /&gt;
 [COLOR:1:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GREEN_IRONITE]&lt;br /&gt;
 [NAME:green ironite]&lt;br /&gt;
 [COLOR:2:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TEAL_IRONITE]&lt;br /&gt;
 [NAME:teal ironite]&lt;br /&gt;
 [COLOR:3:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED_IRONITE]&lt;br /&gt;
 [NAME:red ironite]&lt;br /&gt;
 [COLOR:4:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PURPLE_IRONITE]&lt;br /&gt;
 [NAME:purple ironite]&lt;br /&gt;
 [COLOR:5:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW_IRONITE]&lt;br /&gt;
 [NAME:yellow ironite]&lt;br /&gt;
 [COLOR:6:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WHITE_IRONITE]&lt;br /&gt;
 [NAME:white ironite]&lt;br /&gt;
 [COLOR:7:7:1][TILE:'+'][ITEM_SYMBOL:'+']&lt;br /&gt;
 [MELTING_POINT:13600]&lt;br /&gt;
 [BOILING_POINT:15000]&lt;br /&gt;
 [VALUE:6]&lt;br /&gt;
&lt;br /&gt;
===matgloss_stone_gem.txt===&lt;br /&gt;
 &lt;br /&gt;
 matgloss_stone_gem&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:MATGLOSS]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PRASE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:2:7:1][TILE:15][GEM:prase opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MOSS OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:2:7:0][TILE:15][GEM:moss opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHERRY OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:4:7:1][TILE:15][GEM:cherry opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WAX OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:0:7:1][BASIC_COLOR:7:0][TILE:15][GEM:wax opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WOOD OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:6:7:0][TILE:15][GEM:wood opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:AMBER OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:6:7:0][TILE:15][GEM:amber opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLD OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:6:7:1][TILE:15][GEM:gold opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RESIN OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:4:7:0][TILE:15][GEM:resin opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SHELL OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:3:7:0][TILE:15][GEM:shell opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BONE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:7:7:1][TILE:15][GEM:bone opal:STP]&lt;br /&gt;
 [BASIC_COLOR:7:0]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:JASPER OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:7:7:1][TILE:15][GEM:jasper opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PINEAPPLE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:6:7:1][TILE:15][GEM:pineapple opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ONYX OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:0:7:1][TILE:15][GEM:onyx opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MILK OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:7:7:1][TILE:15][GEM:milk opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PIPE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:7:7:1][BASIC_COLOR:7:0][TILE:15][GEM:pipe opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FIRE OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:4:7:1][TILE:15][GEM:fire opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:JELLY OPAL]&lt;br /&gt;
 [VALUE:3][COLOR:5:7:0][TILE:15][GEM:jelly opal:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_BLACK]&lt;br /&gt;
 [TILE:15][GEM:black opal:STP][COLOR:0:7:0][BASIC_COLOR:0:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_WHITE]&lt;br /&gt;
 [TILE:15][GEM:white opal:STP][COLOR:7:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_CRYSTAL]&lt;br /&gt;
 [TILE:15][GEM:crystal opal:STP][COLOR:7:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_CLARO]&lt;br /&gt;
 [TILE:15][GEM:claro opal:STP][COLOR:1:7:0][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_LEVIN]&lt;br /&gt;
 [TILE:15][GEM:levin opal:STP][COLOR:6:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_HARLEQUIN]&lt;br /&gt;
 [TILE:15][GEM:harlequin opal:STP][COLOR:5:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_PINFIRE]&lt;br /&gt;
 [TILE:15][GEM:pinfire opal:STP][COLOR:1:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:OPAL_BANDFIRE]&lt;br /&gt;
 [TILE:15][GEM:bandfire opal:STP][COLOR:3:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_INTRUSIVE:CLUSTER_SMALL:50]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SMOKY_QUARTZ]&lt;br /&gt;
 [VALUE:1][COLOR:0:7:1][BASIC_COLOR:7:0][TILE:'*'][GEM:smoky quartz:smoky quartzes]&lt;br /&gt;
 [ENVIRONMENT:ALL_STONE:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MILK_QUARTZ]&lt;br /&gt;
 [VALUE:2][COLOR:7:7:1][TILE:'*'][GEM:milk quartz:milk quartzes]&lt;br /&gt;
 [ENVIRONMENT:ALL_STONE:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:QUARTZ_ROSE]&lt;br /&gt;
 [TILE:'*'][GEM:rose quartz:rose quartzes][COLOR:4:7:1][VALUE:3]&lt;br /&gt;
 [ENVIRONMENT:ALL_STONE:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLUE JADE]&lt;br /&gt;
 [VALUE:6][COLOR:1:7:1][TILE:15][GEM:blue jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LAVENDAR JADE]&lt;br /&gt;
 [VALUE:6][COLOR:5:7:0][TILE:15][GEM:lavender jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PINK JADE]&lt;br /&gt;
 [VALUE:6][COLOR:5:7:1][TILE:15][GEM:pink jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WHITE JADE]&lt;br /&gt;
 [VALUE:6][COLOR:7:7:1][TILE:15][GEM:white jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GREEN JADE]&lt;br /&gt;
 [VALUE:6][COLOR:2:7:1][TILE:15][GEM:green jade:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:75]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:LACE AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:1:7:1][TILE:'*'][GEM:lace agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MOSS AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:2:7:0][TILE:'*'][GEM:moss agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BANDED AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:4:7:0][TILE:'*'][GEM:banded agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TUBE AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:6:7:0][TILE:'*'][GEM:tube agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FIRE AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:4:7:1][TILE:'*'][GEM:fire agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PLUME AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:6:7:1][TILE:'*'][GEM:plume agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DENDRITIC AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:7:7:1][TILE:'*'][GEM:dendritic agate:STP]&lt;br /&gt;
 [BASIC_COLOR:7:0]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:FORTIFICATION AGATE]&lt;br /&gt;
 [VALUE:4][COLOR:0:7:1][TILE:'*'][GEM:fortification agate:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BROWN JASPER]&lt;br /&gt;
 [VALUE:8][COLOR:6:7:0][TILE:15][GEM:brown jasper:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PICTURE JASPER]&lt;br /&gt;
 [VALUE:8][COLOR:3:7:0][TILE:15][GEM:picture jasper:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW JASPER]&lt;br /&gt;
 [VALUE:8][COLOR:6:7:1][TILE:15][GEM:yellow jasper:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GRAY CHALCEDONY]&lt;br /&gt;
 [VALUE:10][COLOR:0:7:1][TILE:15][GEM:gray chalcedony:gray chalcedonies]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:WHITE CHALCEDONY]&lt;br /&gt;
 [VALUE:10][COLOR:7:7:1][TILE:15][GEM:white chalcedony:white chalcedonies]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SARD]&lt;br /&gt;
 [VALUE:8][COLOR:4:7:1][TILE:15][GEM:sard:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SARDONYX]&lt;br /&gt;
 [VALUE:8][COLOR:4:7:0][TILE:15][GEM:sardonyx:sardonyxes]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:ONYX]&lt;br /&gt;
 [VALUE:8][COLOR:0:7:1][TILE:15]&lt;br /&gt;
 [GEM:onyx:onyxes]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CARNELIAN]&lt;br /&gt;
 [VALUE:6][COLOR:4:7:0][TILE:15][GEM:carnelian:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:10]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TIGEREYE]&lt;br /&gt;
 [VALUE:6][COLOR:6:7:1][TILE:15][GEM:tigereye:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:10]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLACK ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:0:7:0][BASIC_COLOR:0:1][TILE:15][GEM:black zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GREEN ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:2:7:0][TILE:15][GEM:green zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:4:7:0][TILE:15][GEM:red zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BROWN ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:6:7:0][TILE:15][GEM:brown zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:6:7:1][TILE:15][GEM:yellow zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLEAR ZIRCON]&lt;br /&gt;
 [VALUE:5][COLOR:7:7:1][TILE:15][GEM:clear zircon:STP]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:40]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TURQUOISE]&lt;br /&gt;
 [TILE:15][GEM:turquoise:STP][COLOR:3:7:0][VALUE:2]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:AQUAMARINE]&lt;br /&gt;
 [TILE:15][GEM:aquamarine:STP][COLOR:3:7:1][VALUE:20]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PRASE]&lt;br /&gt;
 [VALUE:4][COLOR:3:7:0][TILE:'*'][GEM:prase:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:100]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHRYSOPRASE]&lt;br /&gt;
 [VALUE:4][COLOR:3:7:1][TILE:'*'][GEM:chrysoprase:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:100]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHRYSOCOLLA]&lt;br /&gt;
 [VALUE:4][COLOR:1:7:1][TILE:'*'][GEM:chrysocolla:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:100]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CHRYSOBERYL]&lt;br /&gt;
 [TILE:'*'][GEM:chrysoberyl:STP][COLOR:2:7:1][VALUE:4]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:100]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:TOPAZ]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:1][TILE:15][GEM:topaz:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SUNSTONE]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:1][TILE:15][GEM:sunstone:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:MOONSTONE]&lt;br /&gt;
 [VALUE:20][COLOR:7:7:1][TILE:15][GEM:moonstone:STP]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLUE GARNET]&lt;br /&gt;
 [VALUE:15][COLOR:1:7:0][TILE:15][GEM:blue garnet:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PINK GARNET]&lt;br /&gt;
 [VALUE:15][COLOR:5:7:1][TILE:15][GEM:pink garnet:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLEAR GARNET]&lt;br /&gt;
 [VALUE:15][COLOR:7:7:1][TILE:15][GEM:clear garnet:STP]&lt;br /&gt;
 [BASIC_COLOR:7:0]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:VIOLET SPESSARTINE]&lt;br /&gt;
 [VALUE:15][COLOR:5:7:1][TILE:15][GEM:violet spessartine:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW SPESSARTINE]&lt;br /&gt;
 [VALUE:15][COLOR:6:7:1][TILE:15][GEM:yellow spessartine:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:25]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SPINEL_PURPLE]&lt;br /&gt;
 [VALUE:15][COLOR:5:7:0][TILE:15][GEM:purple spinel:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:35]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SPINEL_RED]&lt;br /&gt;
 [TILE:15][GEM:red spinel:STP][COLOR:4:7:0][VALUE:20]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:35]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED BERYL]red beryl is very rare&lt;br /&gt;
 [VALUE:20][COLOR:4:7:1][TILE:15][GEM:red beryl:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:HONEY YELLOW BERYL]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:0][TILE:15][GEM:honey yellow beryl:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GOLDEN BERYL]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:1][TILE:15][GEM:golden beryl:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CLEAR TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:7:7:1][TILE:15][GEM:clear tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:INDIGO TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:1:7:0][TILE:15][GEM:indigo tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:GREEN TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:2:7:0][TILE:15][GEM:green tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:4:7:0][TILE:15][GEM:red tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:PINK TOURMALINE]&lt;br /&gt;
 [VALUE:10][COLOR:5:7:1][TILE:15][GEM:pink tourmaline:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:BLACK PYROPE]&lt;br /&gt;
 [VALUE:20][COLOR:0:7:0][BASIC_COLOR:0:1][TILE:15][GEM:black pyrope:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED PYROPE]&lt;br /&gt;
 [VALUE:20][COLOR:4:7:0][TILE:15][GEM:red pyrope:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RED GROSSULAR]&lt;br /&gt;
 [VALUE:20][COLOR:4:7:0][TILE:15][GEM:red grossular:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:CINNAMON GROSSULAR]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:0][TILE:15][GEM:cinnamon grossular:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:YELLOW GROSSULAR]&lt;br /&gt;
 [VALUE:20][COLOR:6:7:1][TILE:15][GEM:yellow grossular:STP]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:AMETHYST]&lt;br /&gt;
 [TILE:15][GEM:amethyst:STP][COLOR:5:7:1][VALUE:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:EMERALD]&lt;br /&gt;
 [TILE:15][GEM:emerald:STP][COLOR:2:7:0][VALUE:30]&lt;br /&gt;
 [ENVIRONMENT:IGNEOUS_EXTRUSIVE:CLUSTER_SMALL:15]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:30]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAPPHIRE]&lt;br /&gt;
 [TILE:15][GEM:sapphire:STP][COLOR:1:7:0][VALUE:30]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:SAPPHIRE_STAR]&lt;br /&gt;
 [TILE:15][GEM:star sapphire:STP][COLOR:1:7:1][VALUE:60]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:4]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RUBY]&lt;br /&gt;
 [TILE:15][GEM:ruby:rubies][COLOR:4:7:0][VALUE:30]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_SMALL:20]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:RUBY_STAR]&lt;br /&gt;
 [TILE:15][GEM:star ruby:star rubies][COLOR:4:7:1][VALUE:60]&lt;br /&gt;
 [ENVIRONMENT:SEDIMENTARY:CLUSTER_ONE:4]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_LIGHT_YELLOW]&lt;br /&gt;
 [TILE:15][GEM:light yellow diamond:STP][COLOR:7:7:1][VALUE:40]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:15]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_FAINT_YELLOW]&lt;br /&gt;
 [TILE:15][GEM:faint yellow diamond:STP][COLOR:6:7:0][VALUE:30]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_SMALL:20]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_CLEAR]&lt;br /&gt;
 [TILE:15][GEM:clear diamond:STP][COLOR:7:7:1][VALUE:100]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:2]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_RED]&lt;br /&gt;
 [TILE:15][GEM:red diamond:STP][COLOR:4:7:0][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_GREEN]&lt;br /&gt;
 [TILE:15][GEM:green diamond:STP][COLOR:2:7:0][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_BLUE]&lt;br /&gt;
 [TILE:15][GEM:blue diamond:STP][COLOR:1:7:0][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_YELLOW]&lt;br /&gt;
 [TILE:15][GEM:yellow diamond:STP][COLOR:6:7:1][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
 [MATGLOSS_STONE:DIAMOND_BLACK]&lt;br /&gt;
 [TILE:15][GEM:black diamond:STP][COLOR:0:7:0][BASIC_COLOR:0:1][VALUE:60]&lt;br /&gt;
 [SPEC_HEAT:409]&lt;br /&gt;
 [IGNITE_POINT:11440]&lt;br /&gt;
 [MELTING_POINT:NONE]&lt;br /&gt;
 [BOILING_POINT:16708]&lt;br /&gt;
 [ENVIRONMENT:METAMORPHIC:CLUSTER_ONE:4]&lt;br /&gt;
 [SOLID_DENSITY:3520]&lt;br /&gt;
 &lt;br /&gt;
===reaction_standard.txt===&lt;br /&gt;
&lt;br /&gt;
 reaction_standard&lt;br /&gt;
 &lt;br /&gt;
 [OBJECT:REACTION]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt iron úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_0]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt iron -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_1]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt iron +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_2]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt iron *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_3]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt iron ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_4]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRON_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt iron �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_5]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt copper úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt copper -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt copper +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt copper *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt copper ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COPPER_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt copper �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:LEAD_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt lead úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:LEAD_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt lead -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:LEAD_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt lead +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:LEAD_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt lead *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ZINC_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt zinc úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ZINC_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt zinc -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ZINC_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt zinc +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ZINC_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt zinc *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt nickel +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt nickel *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt nickel ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt nickel �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt tin úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt tin -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt tin +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt tin *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt tin ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TIN_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt tin �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt silver úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt silver -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt silver +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt silver *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt silver ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt silver �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_0_SMELTING]&lt;br /&gt;
 [NAME:smelt gold úoreú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_1_SMELTING]&lt;br /&gt;
 [NAME:smelt gold -ore-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt gold +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt gold *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt gold ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt gold �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PLATINUM_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt platinum +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PLATINUM_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt platinum *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PLATINUM_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt platinum ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PLATINUM_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt platinum �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:PLATINUM]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt mithril +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt mithril *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt mithril ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt mithril �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_ORE_2_SMELTING]&lt;br /&gt;
 [NAME:smelt adamantium +ore+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_ORE_3_SMELTING]&lt;br /&gt;
 [NAME:smelt adamantium *ore*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_ORE_4_SMELTING]&lt;br /&gt;
 [NAME:smelt adamantium ðoreð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_ORE_5_SMELTING]&lt;br /&gt;
 [NAME:smelt adamantium �ore�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_0_TO_COKE]&lt;br /&gt;
 [NAME:make coke from úcoalú]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_0]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:25:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_1_TO_COKE]&lt;br /&gt;
 [NAME:make coke from -coal-]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_1]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:50:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_2_TO_COKE]&lt;br /&gt;
 [NAME:make coke from +coal+]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_2]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:67:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:33:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_3_TO_COKE]&lt;br /&gt;
 [NAME:make coke from *coal*]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_3]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_4_TO_COKE]&lt;br /&gt;
 [NAME:make coke from ðcoalð]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_4]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:COAL_5_TO_COKE]&lt;br /&gt;
 [NAME:make coke from �coal�]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_5]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:80:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:60:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:40:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 [PRODUCT:20:1:BAR:NO_SUBTYPE:COAL:COKE]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:CAST_IRON_MAKING]&lt;br /&gt;
 [NAME:make cast iron bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:CAST_IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PIG_IRON_MAKING]&lt;br /&gt;
 [NAME:make pig iron bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:2:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:PIG_IRON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:STEEL_MAKING]&lt;br /&gt;
 [NAME:make steel bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:PIG_IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:FLUX]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:STEEL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DWARVEN_STEEL_MAKING]&lt;br /&gt;
 [NAME:make dwarven steel bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:PIG_IRON]&lt;br /&gt;
 [REAGENT:2:REACTION_CLASS:FLUX]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:COAL:NO_MATGLOSS]&lt;br /&gt;
 [REAGENT:1:ROUGH:NO_SUBTYPE:GLASS_GREEN:NO_MATGLOSS]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:DWARVEN_STEEL]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BRASS_MAKING]&lt;br /&gt;
 [NAME:make brass bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:2:BAR:NO_SUBTYPE:METAL:BRASS]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BRONZE_MAKING]&lt;br /&gt;
 [NAME:make bronze bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:BRONZE]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SILVER_BILLON_MAKING]&lt;br /&gt;
 [NAME:make silver billon bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:SILVER_BILLON]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GOLD_BILLON_MAKING]&lt;br /&gt;
 [NAME:make gold billon bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:GOLD_BILLON]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:NICKEL_SILVER_MAKING]&lt;br /&gt;
 [NAME:make nickel silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:2:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:ZINC]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:4:BAR:NO_SUBTYPE:METAL:NICKEL_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PEWTER_MAKING]&lt;br /&gt;
 [NAME:make pewter bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:PEWTER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SPARRING_LEAD_MAKING]&lt;br /&gt;
 [NAME:make sparring lead bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:LEAD]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:2:BAR:NO_SUBTYPE:METAL:SPARRING_LEAD]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:STERLING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make sterling silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:3:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:4:BAR:NO_SUBTYPE:METAL:STERLING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ROSE_GOLD_MAKING]&lt;br /&gt;
 [NAME:make rose gold bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:3:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:COPPER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:4:BAR:NO_SUBTYPE:METAL:ROSE_GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:WHITE_GOLD_MAKING]&lt;br /&gt;
 [NAME:make white gold bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:2:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:NICKEL]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:3:BAR:NO_SUBTYPE:METAL:WHITE_GOLD]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ELECTRUM_MAKING]&lt;br /&gt;
 [NAME:make electrum bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:GOLD]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:2:BAR:NO_SUBTYPE:METAL:ELECTRUM]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_BAR_MAKING]&lt;br /&gt;
 [NAME:make mithril bar from thread]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:THREAD:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:MITHRIL_THREAD_MAKING]&lt;br /&gt;
 [NAME:make mithril thread from bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:THREAD:NO_SUBTYPE:METAL:MITHRIL]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_BAR_MAKING]&lt;br /&gt;
 [NAME:make adamantium bar from thread]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:THREAD:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ADAMANTIUM_THREAD_MAKING]&lt;br /&gt;
 [NAME:make adamantium thread from bar]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:THREAD:NO_SUBTYPE:METAL:ADAMANTIUM]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:IRIDESCENT_SILVER_MAKING]&lt;br /&gt;
 [NAME:make iridescent silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PRISMATINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLACK_SILVER_MAKING]&lt;br /&gt;
 [NAME:make black silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VOIDSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BLACK_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:OCEAN_SILVER_MAKING]&lt;br /&gt;
 [NAME:make ocean silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NIGHTROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:OCEAN_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:OLIVE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make olive silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SERPENTINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:OLIVE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:JADE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make jade silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CORRODITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:JADE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLOOD_SILVER_MAKING]&lt;br /&gt;
 [NAME:make blood silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLOODSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BLOOD_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:KING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make king silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:KINGROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:KING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BROWN_SILVER_MAKING]&lt;br /&gt;
 [NAME:make brown silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BROWN_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ASH_SILVER_MAKING]&lt;br /&gt;
 [NAME:make ash silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FOSSILITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:ASH_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SLATE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make slate silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LUNARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:SLATE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLUE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make blue silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RIVERINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BLUE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SPRING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make spring silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VEGETITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:SPRING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SKY_SILVER_MAKING]&lt;br /&gt;
 [NAME:make sky silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SKYSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:SKY_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:RED_SILVER_MAKING]&lt;br /&gt;
 [NAME:make red silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEMONSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:RED_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:ROYAL_SILVER_MAKING]&lt;br /&gt;
 [NAME:make royal silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ROYALITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:ROYAL_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:YELLOW_SILVER_MAKING]&lt;br /&gt;
 [NAME:make yellow silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SOLARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:YELLOW_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:CLOUD_SILVER_MAKING]&lt;br /&gt;
 [NAME:make cloud silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:IRIDESCENT_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CLOUDROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:CLOUD_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:SPECULAR_SILVER_MAKING]&lt;br /&gt;
 [NAME:make specular silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:4:BAR:NO_SUBTYPE:METAL:SILVER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:TIN]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SPECULARINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:5:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_OCEAN_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold ocean silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NIGHTROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_OCEAN_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_OLIVE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold olive silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SERPENTINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_OLIVE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_JADE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold jade silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CORRODITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_JADE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_BLOOD_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold blood silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLOODSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_BLOOD_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_KING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold king silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:KINGROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_KING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_BROWN_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold brown silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_BROWN_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_ASH_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold ash silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FOSSILITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_ASH_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_SLATE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold slate silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LUNARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_SLATE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_BLUE_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold blue silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RIVERINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_BLUE_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_SPRING_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold spring silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VEGETITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_SPRING_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_SKY_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold sky silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SKYSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_SKY_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_RED_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold red silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEMONSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_RED_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_ROYAL_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold royal silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ROYALITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_ROYAL_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_YELLOW_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold yellow silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SOLARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_YELLOW_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BOLD_CLOUD_SILVER_MAKING]&lt;br /&gt;
 [NAME:make bold cloud silver bars]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:10:BAR:NO_SUBTYPE:METAL:SPECULAR_SILVER]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CLOUDROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:10:BAR:NO_SUBTYPE:METAL:BOLD_CLOUD_SILVER]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLACK_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make black ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VOIDSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:BLACK_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_BLUE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep blue ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NIGHTROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_BLUE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_GREEN_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep green ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SERPENTINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_GREEN_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_TEAL_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep teal ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CORRODITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_TEAL_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_RED_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep red ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLOODSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_RED_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_PURPLE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep purple ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:KINGROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_PURPLE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BROWN_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make brown ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:BROWN_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GRAY_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make gray ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FOSSILITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:GRAY_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:DEEP_GRAY_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make deep gray ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LUNARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:DEEP_GRAY_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:BLUE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make blue ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RIVERINE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:BLUE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:GREEN_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make green ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VEGETITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:GREEN_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:TEAL_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make teal ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SKYSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:TEAL_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:RED_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make red ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEMONSTONE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:RED_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:PURPLE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make purple ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ROYALITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:PURPLE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:YELLOW_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make yellow ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SOLARITE]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:YELLOW_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 [REACTION:WHITE_IRONRITE_MAKING]&lt;br /&gt;
 [NAME:make white ironite stone]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:1:BAR:NO_SUBTYPE:METAL:IRON]&lt;br /&gt;
 [REAGENT:1:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CLOUDROCK]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:STONE:NO_SUBTYPE:STONE:WHITE_IRONITE]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:CAST_IRON_ANVIL_MAKING]&lt;br /&gt;
 [NAME:make cast iron anvil]&lt;br /&gt;
 [SMELTER]&lt;br /&gt;
 [REAGENT:5:BAR:NO_SUBTYPE:METAL:CAST_IRON]&lt;br /&gt;
 [REAGENT:2:REACTION_CLASS:HEAT_RESIST]&lt;br /&gt;
 [FUEL]&lt;br /&gt;
 [PRODUCT:100:1:ANVIL:NO_SUBTYPE:METAL:CAST_IRON]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 [REACTION:FORCE_ALL_STONES_TO_BE_ECONOMIC]&lt;br /&gt;
 [NAME:]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SANDSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MUDSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FLINT]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SHALE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BASALT]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RHYOLITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ANDESITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FELSITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GRANITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DIORITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PERIDOTITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SLATE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:QUARTZITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SCHIST]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PHYLLITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COAL_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CHALK]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LIMESTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CALCITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DOLOMITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MARBLE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:OBSIDIAN]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VOIDSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NIGHTROCK]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SERPENTINE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CORRODITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLOODSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:KINGROCK]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PETRIFIED_WOOD]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:FOSSILITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LUNARITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RIVERINE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:VEGETITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SKYSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEMONSTONE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ROYALITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SOLARITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:CLOUDROCK]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PRISMATINE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SPECULARINE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLACK_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_BLUE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_GREEN_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_TEAL_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_RED_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_PURPLE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BROWN_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GRAY_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:DEEP_GRAY_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:BLUE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GREEN_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TEAL_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:RED_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PURPLE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:YELLOW_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:WHITE_IRONITE]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:IRON_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:COPPER_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:LEAD_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ZINC_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:NICKEL_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:TIN_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:SILVER_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_0]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_1]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:GOLD_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:PLATINUM_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:MITHRIL_ORE_5]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_2]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_3]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_4]&lt;br /&gt;
 [REAGENT:1:STONE:NO_SUBTYPE:STONE:ADAMANTIUM_ORE_5]&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=User:Exponent&amp;diff=43797</id>
		<title>User:Exponent</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=User:Exponent&amp;diff=43797"/>
		<updated>2008-08-20T14:14:33Z</updated>

		<summary type="html">&lt;p&gt;Exponent: added a new section (mods) and a link to my mineral mod&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
==Utilities==&lt;br /&gt;
*[[User:Exponent/ViewportShifter|Viewport Shifter]] - a utility to shift the viewport in increments of one tile.&lt;br /&gt;
*[[User:Exponent/For_Each_Tile|For Each Tile]] - a utility to alter map tiles dependent upon a condition evaluated for each tile.&lt;br /&gt;
&lt;br /&gt;
==Mods==&lt;br /&gt;
*[[User:Exponent/Mineral_Mod|Mineral Mod]] - a mod that adds in qualities of ore, and generally changes most minerals, with little concern for realism, and more for gameplay balance.&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:For_Each_Tile&amp;diff=44275</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=44275"/>
		<updated>2008-08-20T00:15:14Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* compatibility */&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44125</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=44125"/>
		<updated>2008-08-19T03:44:58Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Change Log */ added the change log for version 0.6 Beta&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.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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44124</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=44124"/>
		<updated>2008-08-18T22:15:16Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Memory XML File Addition */ new version memory addresses/offsets&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.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.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;
&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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43815</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43815"/>
		<updated>2008-08-18T22:13:50Z</updated>

		<summary type="html">&lt;p&gt;Exponent: new version memory addresses/offsets&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  look ({{k|k}}), squads ({{k|x}}), designations ({{k|d}}), stockpiles ({{k|p}}), and zones ({{k|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&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=357 Exponent.DwarfFortress.Tools.ViewportShifter.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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the xml files under the appropriate subfolder in tweak/versions.&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;hotkeys&amp;quot; value=&amp;quot;0x01391FB0&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;
&lt;br /&gt;
====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;hotkeys&amp;quot; value=&amp;quot;0x01385FA8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;
&lt;br /&gt;
====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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44123</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=44123"/>
		<updated>2008-08-15T23:29:37Z</updated>

		<summary type="html">&lt;p&gt;Exponent: fixed width text formatting&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 Addition===&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;
====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.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;
&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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44122</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=44122"/>
		<updated>2008-08-15T23:25:20Z</updated>

		<summary type="html">&lt;p&gt;Exponent: rearranged change log order&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 Addition===&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;
====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.5 Beta (2008/08/15 18:18 CST)===&lt;br /&gt;
&lt;br /&gt;
* set_liquid_type_to_water 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 z_distance_to_surface&lt;br /&gt;
* renamed is_ramp to is_upward_ramp&lt;br /&gt;
* added is_ramp, is_downward_ramp, is_above_upward_ramp and make_downward_ramp&lt;br /&gt;
* renamed is_lava to is_magma_source, and make_lava to make_magma_source&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;
&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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44121</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=44121"/>
		<updated>2008-08-15T23:25:01Z</updated>

		<summary type="html">&lt;p&gt;Exponent: added change log for v0.5&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 Addition===&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;
====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.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 z_distance_to_surface&lt;br /&gt;
* renamed is_ramp to is_upward_ramp&lt;br /&gt;
* added is_ramp, is_downward_ramp, is_above_upward_ramp and make_downward_ramp&lt;br /&gt;
* renamed is_lava to is_magma_source, and make_lava to make_magma_source&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;
===Version 0.5 Beta (2008/08/15 18:18 CST)===&lt;br /&gt;
&lt;br /&gt;
* set_liquid_type_to_water was not working, now it is&lt;br /&gt;
&lt;br /&gt;
&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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44120</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=44120"/>
		<updated>2008-08-15T22:00:51Z</updated>

		<summary type="html">&lt;p&gt;Exponent: added change log, improved section names&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 Addition===&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;
====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.4 Beta (2008/08/15 16:29)===&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 z_distance_to_surface&lt;br /&gt;
* renamed is_ramp to is_upward_ramp&lt;br /&gt;
* added is_ramp, is_downward_ramp, is_above_upward_ramp and make_downward_ramp&lt;br /&gt;
* renamed is_lava to is_magma_source, and make_lava to make_magma_source&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;
&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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44119</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=44119"/>
		<updated>2008-08-11T16:01:11Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Edit */&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 Addition===&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.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;
====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;
==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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44118</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=44118"/>
		<updated>2008-08-11T15:51:56Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* File */&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 Addition===&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.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;
====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;
==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;
=====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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44117</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=44117"/>
		<updated>2008-08-11T14:34:16Z</updated>

		<summary type="html">&lt;p&gt;Exponent: added some usage information&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 Addition===&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.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;
====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;
==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;
=====Edit=====&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;
====Advanced Examples====&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44116</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=44116"/>
		<updated>2008-08-10T17:09:39Z</updated>

		<summary type="html">&lt;p&gt;Exponent: removed unnecessary offsets&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 Addition===&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.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;
====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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43814</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43814"/>
		<updated>2008-08-09T19:19:26Z</updated>

		<summary type="html">&lt;p&gt;Exponent: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  look ({{k|k}}), squads ({{k|x}}), designations ({{k|d}}), stockpiles ({{k|p}}), and zones ({{k|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&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=357 Exponent.DwarfFortress.Tools.ViewportShifter.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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the xml files under the appropriate subfolder in tweak/versions.&lt;br /&gt;
&lt;br /&gt;
====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;hotkeys&amp;quot; value=&amp;quot;0x01385FA8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;
&lt;br /&gt;
====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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44115</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=44115"/>
		<updated>2008-08-09T18:52:28Z</updated>

		<summary type="html">&lt;p&gt;Exponent: updated for new version&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 Addition===&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.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_0a60_offset&amp;quot; value=&amp;quot;0x0A64&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_pathfinding_offset&amp;quot; value=&amp;quot;0x0B64&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_1160_offset&amp;quot; value=&amp;quot;0x1164&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_1360_offset&amp;quot; value=&amp;quot;0x1364&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;
 &amp;lt;offset name=&amp;quot;map_data_1960_offset&amp;quot; value=&amp;quot;0x1964&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;map_data_1b60_offset&amp;quot; value=&amp;quot;0x1B64&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility_Talk:Tweak&amp;diff=39598</id>
		<title>Utility Talk:Tweak</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility_Talk:Tweak&amp;diff=39598"/>
		<updated>2008-08-09T16:19:35Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* New Versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Suggested Addition(s) ==&lt;br /&gt;
&lt;br /&gt;
How hard would it be to adapt [http://www.dwarffortresswiki.net/index.php/Utilities#Regional_Prospector Regional Prospector] [http://www.dwarffortresswiki.net/index.php/User_talk:0x517A5D#Seekret_Projekt 1] [http://www.dwarffortresswiki.net/index.php/User:0x517A5D#Seekret_Projekt 2] to this application?&amp;lt;br&amp;gt;&lt;br /&gt;
From what I've seen of your newest tool, it looks like it should become the standard for future 'tweaks' :p&amp;lt;br&amp;gt;&lt;br /&gt;
Thanks tons for your contributions to the cause! --[[User:N9103|Edward]] 19:41, 24 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
Oh, and one other idea...&lt;br /&gt;
Perhaps a small readme/guide for each of the tools?&amp;lt;br&amp;gt;&lt;br /&gt;
Something like those on the Utilities page would be fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: It could probably be easily ported but I'm not sure I want to take someone elses work so quickly for Tweak. I am working on that kind of a list (see the Tile Edit link on the core modules list). &amp;amp;mdash;[[User:Rick|Rick]] 19:49, 24 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::List? RP doesn't make lists that I know of. And I know TileEdit can create magma/lava (which one is it btw? lava I'm guessing, since I don't think it can create a replenishing pipe in it's current form.) but unless I really get desperate, I'm not going to make a huge pool of lava to tap for various oddities. (i.e. traps/constructions) TileEdit's great for occasionally making a single tile of the stuff when it'd otherwise be a pain to get the liquid to the desired point, or for replenishing an already small source. Unless you're planning on making TileEdit capable of modifying regional tiles, (or alternatively, working like a designation for many tiles at once...) I don't see how it could relate to what RP does. --[[User:N9103|Edward]] 17:31, 29 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::As far as I can tell, the list in question is a list of readmes/guides like those on the Utilities page.&lt;br /&gt;
:::Magma = lava in an underground square. Lava = magma in an aboveground square. They are identical in all but name. --[[User:Savok|Savok]] 19:52, 29 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::Is there an as yet unidentified flag that causes replenishment? --[[User:N9103|Edward]] 00:15, 31 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::By 'list' I meant looking up what mineral types, etc, are in the current map. The module is called 'Survey', for obvious reasons. &amp;amp;mdash;[[User:Rick|Rick]] 00:39, 30 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::Hmm.. well, unless you plan on doing that at an embark level, (as opposed to the in-fort level it sounds like,) it still won't be duplicating any effects that RP currently does. --[[User:N9103|Edward]] 00:15, 31 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::: I don't intend to duplicate the features of it. &amp;amp;mdash;[[User:Rick|Rick]] 01:04, 31 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Help for the Noob(s) ==&lt;br /&gt;
&lt;br /&gt;
Just downloaded the tweaker after some confusion, for the sake of healing the sole broker of my fort so he can get up and trade smartly enough to save my fort (to be filled with lava, but that's beside the point). Once I started it on up, all the modules but the address lookup were red, and the lookup only turns up &amp;lt;address name=&amp;quot;starting_dwarf_count&amp;quot; value=&amp;quot;0x00f77927&amp;quot;'.&lt;br /&gt;
&lt;br /&gt;
I'm not entirely sure where to go from here... Any guide forthcoming?&lt;br /&gt;
&lt;br /&gt;
: Red modules mean they are incompatible, I'm going to assume you are running on .38b, the latest is .38c, which Tweak has full support for. I did not bother to provide full support for .38b. &amp;amp;mdash;[[User:Rick|Rick]] 05:34, 29 March 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Error report ==&lt;br /&gt;
&lt;br /&gt;
For some reason, the latest version (1.2.0.1) crashes whenever I try to run it. This is with or without DF running. Version 1.1.0.0 on the other hand worked fine for me, and still does. This is the debugging info returned for the crash in 1.2.0.1:&lt;br /&gt;
 An unhandled exception of type 'System.IO.FileNotFoundException' occurred in Gibbed.DwarfFortress.Tweak.exe&lt;br /&gt;
 &lt;br /&gt;
 Additional information: Could not load file or assembly&lt;br /&gt;
 'System.Core, Version=3.5.0.0, Culture=neutral,  PublicKeyToken=b77a5c561934e089'&lt;br /&gt;
 or one of its dependencies. The system cannot find the file specified.&lt;br /&gt;
This is with it directly extracted from the zip with proper folder structure, no changes made. I've also tried moving it out to a root folder on the drive in case the long path was confusing it with no success. --[[User:Janus|Janus]] 01:04, 1 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Sounds like you don't have .NET 3.5 installed. &amp;amp;mdash;[[User:Rick|Rick]] 01:53, 1 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: Did version 1.1.0.0 not require it? That version has been working fine, and I could have sworn I had to install the .NET 3.5 Framework to get it working.&lt;br /&gt;
:: However, whatever the case, I've just (re?)installed the 3.5 framework and that does indeed seem to have taken care of it. Thanks. --[[User:Janus|Janus]] 02:38, 1 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::: I wasn't using any features of 3.5 yet -- which changed with 1.2.0.0. &amp;amp;mdash;[[User:Rick|Rick]] 03:40, 1 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
Found an error in the adjust profile module, happens when I click the &amp;quot;reset profile&amp;quot; button when &amp;quot;reset/read/write all&amp;quot; is checked.&lt;br /&gt;
  System.ArgumentException: 'child' is not a child control of this parent.&lt;br /&gt;
   at System.Windows.Forms.Control.ControlCollection.GetChildIndex(Control child, Boolean throwException)&lt;br /&gt;
   at System.Windows.Forms.Control.ControlCollection.GetChildIndex(Control child)&lt;br /&gt;
   at Rinn.DwarfFortress.Tools.AdjustProfile.Configuration.textBox_TextChanged(Object sender, EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.Control.OnTextChanged(EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.TextBoxBase.OnTextChanged(EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.Control.set_Text(String value)&lt;br /&gt;
   at System.Windows.Forms.TextBoxBase.set_Text(String value)&lt;br /&gt;
   at System.Windows.Forms.TextBox.set_Text(String value)&lt;br /&gt;
   at Rinn.DwarfFortress.Tools.AdjustProfile.Configuration.buttonReset_Click(Object sender, EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.Control.OnClick(EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.Button.OnClick(EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)&lt;br /&gt;
   at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;br /&gt;
   at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.Button.WndProc(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br /&gt;
[[User:Cheapweed|Cheapweed]] 18:01, 12 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Please report that [[User_talk:Rinn/AdjustProfile|on Rinn's AdjustProfile talk page]] &amp;amp;mdash;[[User:Rick|Rick]] 22:33, 12 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== NET 3.5 Compatability ==&lt;br /&gt;
Just a quick FYI: Those of us on 2000 cannot (as far as I've been able to determine) install .NET 3.5, which makes it impossible to use the latest version of Tweak. Keeping the 1.1 version online maintains availability of this invaluable tool to those of us who refuse to be infected with the XP virus. &amp;amp;mdash;[[User:Rochndil|Rochndil]] 14:49, 3 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
: While I do use .NET 3.5 features, I will see if I can move to .NET 2.0 (or make a 2.0 compatible version). &amp;amp;mdash;[[User:Rick|Rick]] 22:58, 3 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: ++! I'd dearly love a 2.0 version; various vexing vagaries prohibit me from installing 3.5. Has there been any news since April? [[User:Spirilus|Spirilus]] 16:46, 5 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Or leave it. Seeing as its an 8 year old Operating system that you can't buy any more. More to the point if you are running DF your computer is more than adequate for running Windows XP. --[[User:Gorfob|Gorfob]] 19:00, 14 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Blue modules ==&lt;br /&gt;
I just installed Tweak for the first time and I seem to have a problem. The buttons beside all the modules are blue, not green like in the picture, and the modules don't appear to do anything. I am running DF version 0.27.176.38c and Tweak version 1.2.0.0. I tied to update to version 1.2.0.1 but it still shows as the old version.&lt;br /&gt;
&lt;br /&gt;
: If your Tile Edit is 1.1, not 1.0, you have 1.2.0.1. As for blue modules, you need to 'Select Process' before you can use anything. There is an option to automatically select a process on startup. Once you do this, modules will either turn red or green as like before. &amp;amp;mdash;[[User:Rick|Rick]] 22:58, 3 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Windows Installer 3.1 ==&lt;br /&gt;
&lt;br /&gt;
It says I need Windows Installer 3.1. Help? --[[User:Savok|Savok]] 19:12, 3 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Tweak does, or the .NET 3.5 install does? &amp;amp;mdash;[[User:Rick|Rick]] 22:58, 3 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Sorry. .NET 3.5 install does. --[[User:Savok|Savok]] 11:41, 4 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::What operating system are you using? [http://www.microsoft.com/downloads/details.aspx?FamilyID=889482fc-5f56-4a38-b838-de776fd4138c&amp;amp;displaylang=en Windows Installer 3.1 Redistributable] &amp;amp;mdash;[[User:Rick|Rick]] 12:16, 4 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::Windows XP Home Edition Version 2002 Service Pack 2.&lt;br /&gt;
::::Out of curiosity, what does that 3.1 installer do? --[[User:Savok|Savok]] 15:55, 4 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::It's for MSI installers I would assume. Though I'm not sure how you don't have the Windows Installer 3.1 on XP. &amp;amp;mdash;[[User:Rick|Rick]] 22:49, 4 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Freezing Tile Edit ==&lt;br /&gt;
&lt;br /&gt;
For some reason, whenever I edit a tile using the Tile Edit programme, the next dwarf to step on the tile freezes to death (as will the many dwarves who come to loot the corpse). In the tile edit window, in the temperature section, it shows 0 in the first box (always) and another number of around 12000 in the second. The values by themselves give no indication as to the temperature, and even when I leave them alone, simply changing the tile will result in it becoming a freezing tile of death.&lt;br /&gt;
I have no idea if anyone else is experiencing this with tile edit, or whether I'm doing something horribly wrong.&lt;br /&gt;
{{unsigned|Maw3193}}&lt;br /&gt;
&lt;br /&gt;
:I get this whenever I try to add water to a square. The water freezes into a block of absolute-zero ice, and freezes to death anybody who steps on it. It doesn't happen when I add magma, or change magma depth. The title bar says version 1.2.0.0, but TileEdit is 1.1 so I guess it's actually 1.2.0.1 (see above) [[User:Anydwarf|Anydwarf]] 12:56, 17 April 2008 (EDT)&lt;br /&gt;
::Tile Edit is broken like this. You need to manually set a temperature for EVERY tile you edit. Rick, fix it! &amp;gt;8( --[[User:GreyMario|GreyMario]] 15:44, 3 May 2008 (EDT)&lt;br /&gt;
::Also, as an addendum, the top temperature is the NEW temperature for the tile, the bottom temperature is the CURRENT temperature. --[[User:GreyMario|GreyMario]] 15:45, 3 May 2008 (EDT)&lt;br /&gt;
::It's not just absolute-zero. According to the Dwarf Fortress temperature scale, it's over nine thousand degrees below absolute-zero :) &amp;lt;small&amp;gt;&amp;amp;ndash; [[template:unsigned|unsigned]] comment by [[User:Maw3193|Maw3193]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::Before editing any of the tile, press Reset first, it should fill the first temperature in for you. --[[User:SP2|SP2]] 19:20, 7 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::Still doesn't work for me, I've tried all of this. I've set the temperature about five different times.. still the freezing tile of DOOM. --[[User:Jaxstrife|Jaxstrife]] 20:51, 7 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::I've identified the bug and it will be fixed in the next release. &amp;amp;mdash;[[User:Rick|Rick]] 08:16, 9 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Developer page ==&lt;br /&gt;
&lt;br /&gt;
I'm interested in making a module for Tweak, will there be more info soon about contributing to it?&lt;br /&gt;
(if there is a page I couldn't find that talks about it, feel free to let me know :)&lt;br /&gt;
--[[User:Corc|Corc]]&lt;br /&gt;
&lt;br /&gt;
: There hasn't really been any demand for it, but now that there is I'll fill out some info for you. &amp;amp;mdash;[[User:Rick|Rick]] 01:33, 27 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: [[User:Rick/Tweak/Development|I've added some preliminary information to the development page]]. &amp;amp;mdash;[[User:Rick|Rick]] 17:41, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
How easy would it be to get started with writing a module? I assume Tweak handles the memory editing, but does it hand the module a bunch of bytes, or a fully parsed structure? I'd be interested in at least trying to write up a module.. Maybe you could just post the source for Heal or one of the other simple modules. [[User:Anydwarf|Anydwarf]] 18:57, 29 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
I would just like to add my vote for a .NET 2.0 version since 3+ causes severe problems on my system trying to connect to M$ all the time :P&lt;br /&gt;
&lt;br /&gt;
:I downloaded 3.5 and even got the express versions of Visual Studio to play with.  I believe there is an option to &amp;quot;check&amp;quot; when you install that will stop it from contacting MS--I was asked a few times.&lt;br /&gt;
:--[[User:Corc|Corc]] 23:57, 28 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Tweak's memory access doesn't deal with structures, but does allow for easy reading of common data types (and raw memory, if that's your deal). Reading structures may come in the future, though. &amp;amp;mdash;[[User:Rick|Rick]] 17:41, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Adjust Start: Less Than Seven Dwarves Crashes Game Upon Embarking ==&lt;br /&gt;
&lt;br /&gt;
Crash replicated on two different computers both running windows XP both using .38c version of DF.  Different parameter set worlds and different local areas still results in crash, as does both embarking carefully and not carefully.  When it crashes I get an error message from windows saying that &amp;quot;dwarffort.exe has encountered a problem and needs to close.&amp;quot;  I have tested this for 1, 4, and 6 dwarves with the game crashing, and found that with 10 dwarves it did not crash.&lt;br /&gt;
&lt;br /&gt;
== Reveal ==&lt;br /&gt;
&lt;br /&gt;
(Debated about putting this here or on your sample code discussion.)  To test out making a new module (very easy btw, awesome) I modified reveal to just reveal interesting stuff like ore and gems.  Instead of releasing a whole new (very similar and 99% your code) module maybe you could add a quick if statement/popup that people could check when they run it?  Basically what I did was inside the nested for loops I added in getting the &amp;quot;type&amp;quot; data and if the type was for an event, &amp;lt;code&amp;gt;B8 01&amp;lt;/code&amp;gt;, then I'd let it do your unhide bit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
memory.Read(block + designation, ref data);&lt;br /&gt;
memory.Read(block + typeoffset, ref types); // added types, half the size of data, (256 * 2)&lt;br /&gt;
for (int i = 0; i &amp;lt; 16 * 16; i++)&lt;br /&gt;
{&lt;br /&gt;
   byte[] temp = BitConverter.GetBytes(BitConverter.ToInt16(types, i * 2)); // actual type&lt;br /&gt;
   if (temp[0] == 184) // I found that 0xB8 is all that is needed to check&lt;br /&gt;
   {&lt;br /&gt;
      byte[] newdata = BitConverter.GetBytes(BitConverter.ToUInt32(data, i * 4) &amp;amp; ~0x200);&lt;br /&gt;
      data[(i * 4) + 0] = newdata[0];&lt;br /&gt;
      data[(i * 4) + 1] = newdata[1];&lt;br /&gt;
      data[(i * 4) + 2] = newdata[2];&lt;br /&gt;
      data[(i * 4) + 3] = newdata[3];   &lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This unhides only Gems, Ore, &amp;quot;Special&amp;quot; Stone like Orthocast, adamantine and any other out of the ordinary biome stone.&lt;br /&gt;
&lt;br /&gt;
I thought about making a crazy convoluted module that would scan the map for types of events and let the user enable the ones they wanted unhidden and then unhide them.  But, after going into the event list and finding event IDs (I've got a complete list now) I found it to be too crazy... actually as I typed that I figured out how I could do it with about a forth of what I had coded earlier.&lt;br /&gt;
--[[User:Corc|Corc]] 04:04, 11 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== .NET install freeze? ==&lt;br /&gt;
&lt;br /&gt;
Does .NET ever finish installing? As I write this it's been sitting with a full progress bar for 35 minutes, and took an inordinate amount of time to even get there. (And the bootstrap downloader was completely unusable, kept losing progress.)&amp;lt;br&amp;gt;&lt;br /&gt;
As far as I can tell, it's not even spinning the HDD... though it went through long periods of that before, too.&amp;lt;br&amp;gt;&lt;br /&gt;
Addendum: Rebooting on its own didn't help, but rebooting and aggressively killing running processes down to the bare-bones did... finally.&amp;lt;small&amp;gt;&amp;amp;ndash; [[template:unsigned|unsigned]] comment by [[User:Shurhaian|Shurhaian]]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:That's some highly unusual behavior, and I would recommend a through virus and adware scan using atleast two versions of each.&amp;lt;br&amp;gt;&lt;br /&gt;
:For Viruses, [http://housecall.trendmicro.com/ Trend Micro] has a good online scanner, and [http://free.grisoft.com/ AVG] is a good offline scanner.&amp;lt;br&amp;gt;&lt;br /&gt;
:For Adware, [http://www.safer-networking.org/en/spybotsd/index.html Spybot S&amp;amp;D] is just about as good as it gets, and [http://www.microsoft.com/athome/security/spyware/software/default.mspx Microsoft] has a semi-decent one as well.&amp;lt;br&amp;gt;&lt;br /&gt;
:All of these are free. Hope this helps! If not, *could be* some core OS files have been damaged somehow, and *may* require a re-install. --[[User:N9103|Edward]] 21:40, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Another on the 3.5 bug list ==&lt;br /&gt;
&lt;br /&gt;
Allright; I have .net Framework 3.5 installed and its giving me the same error a guy midway up had;&lt;br /&gt;
the.......... IO.notfound thing&lt;br /&gt;
&lt;br /&gt;
Okay scratch that i unzipped tweak again and its running fine.&lt;br /&gt;
it seems tweak doesnt like XP.&lt;br /&gt;
&lt;br /&gt;
Your program has good tastes sir.&lt;br /&gt;
&lt;br /&gt;
== Problem not otherwise found on here. ==&lt;br /&gt;
When trying to select a process, I get this error. Net framework 3.5 is installed. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
************** Exception Text **************&lt;br /&gt;
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---&amp;gt; System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.&lt;br /&gt;
   at System.Security.Cryptography.MD5CryptoServiceProvider..ctor()&lt;br /&gt;
   --- End of inner exception stack trace ---&lt;br /&gt;
   at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct&amp;amp; signature, IntPtr declaringType)&lt;br /&gt;
   at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType)&lt;br /&gt;
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)&lt;br /&gt;
   at System.Security.Cryptography.CryptoConfig.CreateFromName(String name, Object[] args)&lt;br /&gt;
   at System.Security.Cryptography.MD5.Create(String algName)&lt;br /&gt;
   at System.Security.Cryptography.MD5.Create()&lt;br /&gt;
   at Gibbed.DwarfFortress.Tweak.GameVersionLoader.GetProcessHash(Process process)&lt;br /&gt;
   at Gibbed.DwarfFortress.Tweak.ModulePicker.onSelectProcess(Object sender, EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)&lt;br /&gt;
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)&lt;br /&gt;
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)&lt;br /&gt;
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)&lt;br /&gt;
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)&lt;br /&gt;
   at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;br /&gt;
   at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.ScrollableControl.WndProc(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.ToolStrip.WndProc(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp;amp; m)&lt;br /&gt;
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:What version of windows are you running? &amp;amp;mdash;[[User:Rick|Rick]] 20:47, 13 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== .NET 3.5 errors: Tweak not Vista compatiale? ==&lt;br /&gt;
&lt;br /&gt;
I have installed .NET 3.5 and tried to run Tweak on my computer. However, It instantly crashes. Is there anything else I should have installed? I am running windows Vista.&lt;br /&gt;
&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
:Can you please paste the exact error, I cannot help with problems without knowing specifics. &amp;amp;mdash;[[User:Rick|Rick]] 20:46, 13 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
I Have the exact same problem, the error is the default vista error. i think this only happens with the newest version of tweak, as i used to beable to run it (though the tile editor never ran for me) &amp;amp;mdash;[[User:Corhen|Corhen]] 8:55, 15 July 2008&lt;br /&gt;
&lt;br /&gt;
==Start Error==&lt;br /&gt;
Opening Tweak, the program crashes. There's no error message per se, it just doesn't open and give the default windows error message, and asks me if I want to send a report. Help?&lt;br /&gt;
&lt;br /&gt;
:you need to install separately .NET 1.1 as well as .NET 2.0, .NET 3.5 does not install these previous versions....&lt;br /&gt;
&lt;br /&gt;
Even with all versions of .NET that exist already installed, Tweak crashed on startup. I am using an up-to-date version of WinXP SP3. I hope that it causes no problems that I unfortunately have a German language version of XP. Proof of installed .NET versions: http://members.arstechnica.com/x/dio82/software.png&lt;br /&gt;
&lt;br /&gt;
Error message:&lt;br /&gt;
&lt;br /&gt;
EventType : clr20r3     P1 : gibbed.dwarffortress.tweak.exe     P2 : 1.2.0.0&lt;br /&gt;
P3 : 47f19dc1     P4 : mscorlib     P5 : 2.0.0.0     P6 : 471ebc5b     P7 : 3404&lt;br /&gt;
P8 : 119     P9 : system.io.directorynotfound   &lt;br /&gt;
&lt;br /&gt;
Many thanks to potential fixes -[[User:Dio82|Dio82]] 08:36, 4 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
I'd just like to note that I also have all three .NET versions downloaded and installed, and I still get the general Windows Vista error message (Tweak has stopped working, windows is searching for a solution... A program caused the program to stop working, windows will close the program). I've tried starting up Tweak before loading DF, during the DF title screen, and while playing a current fortress. I didn't, however, get the detailed error message described above. --[[User:Untelligent|Untelligent]] 21:57, 4 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:The above error message is part of the report that XP/Vista wants to send to Microsoft. Just click on details of the report when Vista prompts you about sending that report. --[[User:Dio82|Dio82]] 06:05, 5 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:It didn't prompt me for sending a report. --[[User:Untelligent|Untelligent]] 16:17, 6 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:This error is basically saying you did not extract Tweak correctly, the Tweak zip file contains several directories that Tweak needs to function correctly. &amp;amp;mdash;[[User:Rick|Rick]] 20:46, 13 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Reveal and Profile Edit Issue==&lt;br /&gt;
&lt;br /&gt;
I've downloaded your program and managed to get a few features working, such as the one that allows you to change your starting dwarf number and points. The two modules I wanted to use most, however, Reveal and Profile Edit, don't seem to want to work at all, and as far as I can tell, I'm not getting a program error so much as... I don't know, a failure to recognize something. I'm not a programmer, you'll notice.&lt;br /&gt;
&lt;br /&gt;
When attempting to use Reveal at the regional map, I get [http://i21.photobucket.com/albums/b296/Bitscape2000/RevealProblem.jpg this].&lt;br /&gt;
&lt;br /&gt;
When attempting to use the Profile Editor at the &amp;quot;preparing carefully&amp;quot; screen, as it says, I get [http://i21.photobucket.com/albums/b296/Bitscape2000/ProfileProblem.jpg this], and if I click the OK button it says [http://i21.photobucket.com/albums/b296/Bitscape2000/ProfileProblem2.jpg this].&lt;br /&gt;
&lt;br /&gt;
Apologies for the largish screenshots. Any idea what might help? --[[User:Anfini|Anfini]] 15:57, 11 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
: The Reveal tool is only used while already embarked.  Find a place to start your fortress, embark, and then run Reveal. And, keep in mind if you want to reveal all of the map you have to designate the bottom layer for digging completely then undesignated it BEFORE you run reveal--this will make DF load up the map for Reveal to find. As for the other errors, I'm not sure what is going on. Sorry.  --[[User:Corc|Corc]] 18:36, 11 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Thanks for the help with Reveal, that worked perfectly. I suppose I misunderstood the module. The Profile dealie is the one I ''really'' want to use, though! If anyone has insight on how to work it, I would be grateful. Thanks! --[[User:Anfini|Anfini]] 19:24, 11 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Tile Edit Tile ID List ==&lt;br /&gt;
&lt;br /&gt;
Further explorations with Tweak leave me convinced we're missing another memory location that holds each block's type. Sandy clay Wall in one area doesn't match up with the data I gathered for my table of IDs, and there isn't enough data to be customized in Tile Edit to account for all the possibilities of ores and gems. Unfortunately I'm not knowledgable enough, nor am I patient enough, to find this memory location. &amp;amp;rarr;[[User:Valarnin|Valarnin]] 19:37, 16 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
: Tile composition and gem type are special cases that are not held in tile data, and they have not been completely understood. &amp;amp;mdash;[[User:Rick|Rick]] 19:58, 16 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: Actually Gems and ore are understood.  They are considered Events (from the memory hack page terms) and are flagged by a bitmap.  The code sample I posted above, to add in finding only deposits of ore to Reveal, uses another 16x16 array to specify quickly that an event is taking place in that tile--then checks the bitmaps for what kind of ore (gem/ore/whatever) goes there.  The events use the global tile ids which it gets from the raw files (and is in the order read in from those raw files).  Using events you can add any type of deposit to the tile area (add sand to obsidian).  When I was looking into the TileIDs I came to the conclusion that the IDs are in a pattern and the type of rock/soil is dependent on the biome set for that tile.  IDs X -&amp;gt; Y for example will always be smooth walls, just of main biome material.  What designates the Biome is probably another one of the 16x16 blocks of data--I just got on a side track and never figured out which one for sure.  To test/confirm this, try finding a value that changes a stone type to a soil type then give that same soil TileID to a different kind of stone on another layer--it should turn into a soil type as well, but most likely not the same kind as before.  Doing that on the first 2 layers of the map will make it easier since it usually has both rock and soil from the same biome.   I started documenting this on my user page.  --[[User:Corc|Corc]] 20:34, 16 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::: I'm not sure why you wrote that blurb instead of linking to my page on it. I know the gem stuff is known, I should have been more clear, I meant the composition/type regional layer muckery. &amp;amp;mdash;[[User:Rick|Rick]] 20:51, 16 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::Sorry 'bout that. Which page are you talking about? There are so many, that when I was looking for info I really didn't know where to look for valid info.  I wrote the blurb because he was talking about gems and ore specifically, and I guess I misunderstood your response. --[[User:Corc|Corc]] 21:34, 16 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::: [[User:Rick/Memory_research#Mineral_Event]] &amp;amp;mdash;[[User:Rick|Rick]] 22:01, 16 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::: OK, great, I wasn't sure if there was a newer one made. Now Valarnin has a link and a short explanation to go with it.  So now he may be inspired to continue having fun digging in the memory :) --[[User:Corc|Corc]] 00:38, 17 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::::: I'm not sure I understand exactly what's going on there. Is the vector a pointer to the mineral event's location? It would be so much easier if this was mapped out in Tile Edit. Speaking of Tile Edit, is the source available? I may be able to modify it to show the extra info. &amp;amp;rarr;[[User:Valarnin|Valarnin]] 13:37, 17 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::::: Okay, I built Corc's modification to Reveal and learned a bit from that, but I have no example of a GUI and I'm a C++ programmer, not a C# programmer. I need an example of a GUI. &amp;amp;rarr;[[User:Valarnin|Valarnin]] 14:11, 17 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::::: I was trying to do something similar myself. Just in case you didn't see it, here is a link to Rick's Dev discussion ([[User_Talk:Rick/Tweak/Development]]) which might be a better place to talk about all this.  What I did was just go through the c# gui sample and copy and paste stuff in while reading about what does what. --[[User:Corc|Corc]] 14:26, 17 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== New Versions ==&lt;br /&gt;
Any Idea when we will have an update for the most recent versions? What is needed? What do us Noobs do to get it to work?--[[User:ERoberts|ERoberts]] 13:58, 17 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
: I'm currently busy &amp;quot;in real life&amp;quot; with work so I can't tend to Tweak for the latest version of DF just yet. Aside from minor bugs with Tweak modules (such as the freezing bug with Tile Edit) there is no need for an update other than providing Tweak with data for the version you want to use it with. You can probably find the information needed for Tweak's XML files for the new version on Jifodus's user page. &amp;amp;mdash;[[User:Rick|Rick]] 05:20, 18 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:: Sorry its been a while since I've done this, do I still just put that info in a memory.ini file?&lt;br /&gt;
&lt;br /&gt;
::: I've got something to do today, but if no one has done it yet, I'll try to get something available later tonight for people. --[[User:Corc|Corc]] 11:42, 18 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::: You get the hash for the newest version, open up versions.xml, and add a new line such as this:&lt;br /&gt;
 	&amp;lt;version name=&amp;quot;0.27.176.39c&amp;quot; hash=&amp;quot;8f8cf06b1cd5ea102881a7cced767d4f&amp;quot; /&amp;gt;&lt;br /&gt;
:::: Then, you copy the newest version's folder you have in the versions folder and rename it to the newest version. Finally, you change the data in each xml file to match Jifodus's user page. I've uploaded the newest versions and the versions.xml file for 39b and 39c here:&lt;br /&gt;
 	http://dffd.wimbli.com/file.php?id=309&lt;br /&gt;
:::: However, I couldn't get anything to do with creatures to work. I couldn't seem to find a value to put in for race_vector from Jifodus's page. Corc, if you happen to know, tell me and I'll update the file.&lt;br /&gt;
&lt;br /&gt;
::::: Sorry to drop the ball. I don't think I could do much more than what was done already without spending a lot of time I don't have. Very grateful to whoever set that up (post your sig next time :P) --[[User:Corc|Corc]] 00:32, 20 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:::::: T'was me. I was a bit tired when I posted that. You could have checked the uploader on DFFD too. &amp;amp;rarr;[[User:Valarnin|Valarnin]] 02:47, 20 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::::: Any chance of getting compatibility with 39e? --[[User:Deekin|Deekin]] 15:44, 1 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Looks like Deekin beat me to the punch.  Ditto on the 39e request. :)  --Mozleron 12:46, 1 August 2008 (PDT)&lt;br /&gt;
:: Fix for 39e is here (hash included)EDIT: Only address lookup works: http://www.geocities.com/jifodus/tables/dwarvis/v0.28.181.39e.core.xml --[[User:Aluminus|Aluminus]] 11:12, 4 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
If someone who knows how has the time, could you please add a section explaining how to get the hash for the new version? That way we can update this to work with new versions faster. [[User:Dangerous Beans|Dangerous Beans]] 01:54, 3 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:If you're running one instance of the new version of DF, and in Tweak you choose File-&amp;gt;Select Process, it will ask you if you're sure you want to connect to the process (and it will give you the PID).  If you say yes, it will calculate the hash, look it up in versions.xml, find no match, and then show you a message box that includes the hash.  Copy that down, and then you can edit versions.xml.  --[[User:Exponent|Exponent]] 12:19, 9 August 2008 (EDT)&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44114</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=44114"/>
		<updated>2008-08-08T22:48:18Z</updated>

		<summary type="html">&lt;p&gt;Exponent: &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 Addition===&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.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44113</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=44113"/>
		<updated>2008-08-08T22:39:21Z</updated>

		<summary type="html">&lt;p&gt;Exponent: sp&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.dll] (put this in 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 Addition===&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.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:Exponent_For_Each_Tile_Screenshot_00.png&amp;diff=44132</id>
		<title>File:Exponent For Each Tile Screenshot 00.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:Exponent_For_Each_Tile_Screenshot_00.png&amp;diff=44132"/>
		<updated>2008-08-08T22:36:22Z</updated>

		<summary type="html">&lt;p&gt;Exponent: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:For_Each_Tile&amp;diff=44112</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=44112"/>
		<updated>2008-08-08T22:35:48Z</updated>

		<summary type="html">&lt;p&gt;Exponent: New page: Category:Tweak ModulesCategory:Utilities  right  This is a module for Gibbed's Dwarf Fortress Tweak utility t...&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 alters 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.dll] (put this in 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 Addition===&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.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=User:Exponent&amp;diff=43796</id>
		<title>User:Exponent</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=User:Exponent&amp;diff=43796"/>
		<updated>2008-08-08T22:06:05Z</updated>

		<summary type="html">&lt;p&gt;Exponent: added a link to For Each Tile, and added short descriptions after links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Utilities=&lt;br /&gt;
*[[User:Exponent/ViewportShifter|Viewport Shifter]] - a utility to shift the viewport in increments of one tile.&lt;br /&gt;
*[[User:Exponent/For_Each_Tile|For Each Tile]] - a utility to alter map tiles dependent upon a condition evaluated for each tile.&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43813</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43813"/>
		<updated>2008-07-28T06:24:14Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Memory XML File Addition */ spelling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  look ({{k|k}}), squads ({{k|x}}), designations ({{k|d}}), stockpiles ({{k|p}}), and zones ({{k|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&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=357 Exponent.DwarfFortress.Tools.ViewportShifter.dll] (put this in 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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the files indicated.  Some of them already will be there, but many are likely to be new.&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43812</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43812"/>
		<updated>2008-07-27T21:58:10Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Coordinates */ added a new menu where the cursor location works&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  look ({{k|k}}), squads ({{k|x}}), designations ({{k|d}}), stockpiles ({{k|p}}), and zones ({{k|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&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=357 Exponent.DwarfFortress.Tools.ViewportShifter.dll] (put this in 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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the files indicated.  Some of them already will be their, but many are likely to be new.&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43811</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43811"/>
		<updated>2008-07-27T21:57:00Z</updated>

		<summary type="html">&lt;p&gt;Exponent: fixed keyboard key template usage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{k|x}}), designations ({{k|d}}), stockpiles ({{k|p}}), and zones ({{k|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&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=357 Exponent.DwarfFortress.Tools.ViewportShifter.dll] (put this in 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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the files indicated.  Some of them already will be their, but many are likely to be new.&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43810</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43810"/>
		<updated>2008-07-27T20:14:07Z</updated>

		<summary type="html">&lt;p&gt;Exponent: updated categories list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak Modules]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&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=357 Exponent.DwarfFortress.Tools.ViewportShifter.dll] (put this in 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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the files indicated.  Some of them already will be their, but many are likely to be new.&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43809</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43809"/>
		<updated>2008-07-27T19:42:13Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Required Components */ added the download link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&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=357 Exponent.DwarfFortress.Tools.ViewportShifter.dll] (put this in 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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the files indicated.  Some of them already will be their, but many are likely to be new.&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43808</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43808"/>
		<updated>2008-07-27T19:30:46Z</updated>

		<summary type="html">&lt;p&gt;Exponent: added 'v' to version section name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Required Components===&lt;br /&gt;
&lt;br /&gt;
*[http://.com Exponent.DwarfFortress.Tools.ViewportShifter.dll] (''working link coming soon'') (put this in 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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the files indicated.  Some of them already will be their, but many are likely to be new.&lt;br /&gt;
&lt;br /&gt;
====v0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43807</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43807"/>
		<updated>2008-07-27T19:26:49Z</updated>

		<summary type="html">&lt;p&gt;Exponent: improved installation section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
==Basic Navigation==&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
==Hotkeys==&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
==Coordinates==&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Required Components===&lt;br /&gt;
&lt;br /&gt;
*[http://.com Exponent.DwarfFortress.Tools.ViewportShifter.dll] (''working link coming soon'') (put this in 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 Addition===&lt;br /&gt;
&lt;br /&gt;
Below is a list of all the required memory addresses and offsets for each version of Dwarf Fortress on which this utility has been tested.  You will need to make sure that they all exist within the files indicated.  Some of them already will be their, but many are likely to be new.&lt;br /&gt;
&lt;br /&gt;
====0.28.181.39e====&lt;br /&gt;
&lt;br /&gt;
=====core.general.xml=====&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====core.map.xml=====&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43806</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43806"/>
		<updated>2008-07-27T19:08:28Z</updated>

		<summary type="html">&lt;p&gt;Exponent: repositioned image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
=Basic Navigation=&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
=Hotkeys=&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
=Coordinates=&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
&lt;br /&gt;
In addition to [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility, you will need to download [http://.com Exponent.DwarfFortress.Tools.Viewport.dll] (''working link coming soon'') and place it in the /plugins subfolder of Tweak.  Additionally, some new memory locations need to be added to the XML files in the appropriate subfolder in the /versions subfolder of Tweak.  These are listed below for all versions that I have tested this utility with.&lt;br /&gt;
&lt;br /&gt;
==0.28.181.39e==&lt;br /&gt;
&lt;br /&gt;
===core.general.xml===&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===core.map.xml===&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43805</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43805"/>
		<updated>2008-07-27T19:07:34Z</updated>

		<summary type="html">&lt;p&gt;Exponent: fixed image name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
[[Image:ViewportShifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
=Basic Navigation=&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
=Hotkeys=&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
=Coordinates=&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
&lt;br /&gt;
In addition to [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility, you will need to download [http://.com Exponent.DwarfFortress.Tools.Viewport.dll] (''working link coming soon'') and place it in the /plugins subfolder of Tweak.  Additionally, some new memory locations need to be added to the XML files in the appropriate subfolder in the /versions subfolder of Tweak.  These are listed below for all versions that I have tested this utility with.&lt;br /&gt;
&lt;br /&gt;
==0.28.181.39e==&lt;br /&gt;
&lt;br /&gt;
===core.general.xml===&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===core.map.xml===&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=File:ViewportShifter.png&amp;diff=43818</id>
		<title>File:ViewportShifter.png</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=File:ViewportShifter.png&amp;diff=43818"/>
		<updated>2008-07-27T19:01:21Z</updated>

		<summary type="html">&lt;p&gt;Exponent: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43804</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43804"/>
		<updated>2008-07-27T18:59:54Z</updated>

		<summary type="html">&lt;p&gt;Exponent: attempting to add an image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
[[Image:Exponent's Dwarf Fortress Viewport Shifter.png|right]]&lt;br /&gt;
&lt;br /&gt;
=Basic Navigation=&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
=Hotkeys=&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
=Coordinates=&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
&lt;br /&gt;
In addition to [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility, you will need to download [http://.com Exponent.DwarfFortress.Tools.Viewport.dll] (''working link coming soon'') and place it in the /plugins subfolder of Tweak.  Additionally, some new memory locations need to be added to the XML files in the appropriate subfolder in the /versions subfolder of Tweak.  These are listed below for all versions that I have tested this utility with.&lt;br /&gt;
&lt;br /&gt;
==0.28.181.39e==&lt;br /&gt;
&lt;br /&gt;
===core.general.xml===&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===core.map.xml===&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43803</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43803"/>
		<updated>2008-07-27T18:53:57Z</updated>

		<summary type="html">&lt;p&gt;Exponent: finished the Installation section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
=Basic Navigation=&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
=Hotkeys=&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
=Coordinates=&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
&lt;br /&gt;
In addition to [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility, you will need to download [http://.com Exponent.DwarfFortress.Tools.Viewport.dll] (''working link coming soon'') and place it in the /plugins subfolder of Tweak.  Additionally, some new memory locations need to be added to the XML files in the appropriate subfolder in the /versions subfolder of Tweak.  These are listed below for all versions that I have tested this utility with.&lt;br /&gt;
&lt;br /&gt;
==0.28.181.39e==&lt;br /&gt;
&lt;br /&gt;
===core.general.xml===&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;hotkeys&amp;quot; value=&amp;quot;0x0132FAF8&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_enabled&amp;quot; value=&amp;quot;0x0000&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_x&amp;quot; value=&amp;quot;0x0004&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_y&amp;quot; value=&amp;quot;0x0008&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkeys_offset_z&amp;quot; value=&amp;quot;0x000C&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;offset name=&amp;quot;hotkey_offset&amp;quot; value=&amp;quot;0x002C&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===core.map.xml===&lt;br /&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;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43802</id>
		<title>Utility:ViewportShifter</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=Utility:ViewportShifter&amp;diff=43802"/>
		<updated>2008-07-27T18:36:58Z</updated>

		<summary type="html">&lt;p&gt;Exponent: New page: Category:TweakCategory:Utilities  This is a module for Gibbed's Dwarf Fortress Tweak utility that allows flexible movement of the game's viewport.  It's primary...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tweak]][[Category:Utilities]]&lt;br /&gt;
&lt;br /&gt;
This is a module for [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility that allows flexible movement of the game's viewport.  It's primary purpose is to overcoming the limitation of the standard ten tile movement amount, allowing one to shift the viewport a single tile at a time.  This will allow perfect centering of the view on any feature of the fortress.  For convenience, the hotkeys are also available for interaction.  Aside from being able to move the viewport to a hotkey's stored location and being able to set a hotkey's location to the current view, one can also reset a hotkey to it's default unassigned state.  Finally, viewport rectangle and cursor location coordinates are also provided at the bottom of the window.&lt;br /&gt;
&lt;br /&gt;
=Basic Navigation=&lt;br /&gt;
&lt;br /&gt;
The grid of arrows on the left side of the window are for basic horizontal navigation.  Buttons with a single arrow will move the view one tile at a time, while buttons with two arrows will move in increments of ten.  The button in the center of these arrows is used to move the cursor to the center of the viewport, if the cursor is visible at the time.  The two buttons in the center of the window are used move up or down a single z level at a time.&lt;br /&gt;
&lt;br /&gt;
=Hotkeys=&lt;br /&gt;
&lt;br /&gt;
On the right side of the window are two columns of hotkeys.  They are labeled by the key(s) used to activate them.  Next to each label are three buttons.  The first, an arrow, is used to move the view to the location associated with the hotkey, just as if you had pressed the hotkey while in-game.  The second button, a floppy disc, saves the current view for that hotkey.  The third button, a crossed out circle, resets the hotkey's location to its default unassigned state.&lt;br /&gt;
&lt;br /&gt;
=Coordinates=&lt;br /&gt;
&lt;br /&gt;
At the bottom of the window, the viewport's rectangle coordinates and the cursor's location coordinates are displayed.  The viewport rectangle is described by its top-left corner and its bottom right corner.  Both these points represent the corner cells ''within'' the rectangle.  These two points are followed by the viewport's size.  The cursor location will only be shown when the cursor itself is visible.  Additionally, due to some technical difficulties, even if the cursor is visible, the location will not always be displayed.  The cursor location is guaranteed to be displayed while in the following menus:  squads ({{x|x}}), all designations ({{d|d}}), stockpiles ({{p|p}}), and zones ({{i|i}}).&lt;br /&gt;
&lt;br /&gt;
Tweak is a utility for Dwarf Fortress created by [[User:Rick|Rick]] which can load modules that provide different functionality to the user for tweaking, or editing Dwarf Fortress memory. It will attempt to automatically identify the version of the running Dwarf Fortress process and automatically load data related to that version.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
&lt;br /&gt;
In addition to [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak]] utility, you will need to download [http://.com Exponent.DwarfFortress.Tools.Viewport.dll] (''working link coming soon'') and place it in the /plugins subfolder of Tweak.&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=User:Exponent&amp;diff=43795</id>
		<title>User:Exponent</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=User:Exponent&amp;diff=43795"/>
		<updated>2008-07-27T17:32:03Z</updated>

		<summary type="html">&lt;p&gt;Exponent: New page: __TOC__ =Utilities= *Exponent's Dwarf Fortress Viewport Shifter.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
=Utilities=&lt;br /&gt;
*[[User:Exponent/ViewportShifter|Exponent's Dwarf Fortress Viewport Shifter]].&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:How_do_I_construct_a_wall_from_a_particular_direction&amp;diff=33404</id>
		<title>40d:How do I construct a wall from a particular direction</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:How_do_I_construct_a_wall_from_a_particular_direction&amp;diff=33404"/>
		<updated>2008-04-01T14:35:00Z</updated>

		<summary type="html">&lt;p&gt;Exponent: Added a different method that works in 38c&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It often happens that you need to construct a wall, but your dwarf insists on standing on the wrong side of it during construction, trapping himself.  To prevent this, do the following:&lt;br /&gt;
 &lt;br /&gt;
== For v0.27.176.38c ==&lt;br /&gt;
&lt;br /&gt;
# Pause the game (spacebar)&lt;br /&gt;
# Open the Build menu (b)&lt;br /&gt;
# Select the Walls/Floors/Stairs submenu (C)&lt;br /&gt;
# Select wall (w)&lt;br /&gt;
# Build the wall in the location where you do ''not'' want the dwarf to stand&lt;br /&gt;
# Open the Set Building Tasks/Prefs menu (q)&lt;br /&gt;
# Move over this wall that you have specified to be built&lt;br /&gt;
# Suspend it (s)&lt;br /&gt;
# Build your other object (wall, floodgate, etc.) like normal&lt;br /&gt;
# Resume the game (spacebar)&lt;br /&gt;
# Wait for this other object to be fully constructed&lt;br /&gt;
# Open the Set Building Tasks/Prefs menu (q)&lt;br /&gt;
# Move over the suspended wall&lt;br /&gt;
# Cancel its construction (x)&lt;br /&gt;
&lt;br /&gt;
This does not work in all situations; sometimes you cannot specify that you want a wall built in a certain location due to what is already built there.  Specifying other structures instead of a wall may work, if any of them are permitted.{{verify}}&lt;br /&gt;
&lt;br /&gt;
== For earlier versions{{verify}} ==&lt;br /&gt;
&lt;br /&gt;
# open the Designate menu (d)&lt;br /&gt;
# select Set Traffic Areas (o) &lt;br /&gt;
# press (r) to select &amp;quot;Restricted Traffic Area&amp;quot;&lt;br /&gt;
# designate the squares you '''don't''' want the dwarf to stand on.  &lt;br /&gt;
&lt;br /&gt;
Now, he won't stand there while building the wall.  You can optionally remove the designation after the wall is built.&lt;br /&gt;
&lt;br /&gt;
{{Buildings FAQ}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Screw_pump&amp;diff=4327</id>
		<title>40d:Screw pump</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Screw_pump&amp;diff=4327"/>
		<updated>2008-03-13T02:28:35Z</updated>

		<summary type="html">&lt;p&gt;Exponent: typo:  &amp;quot;its is&amp;quot; -&amp;gt; &amp;quot;it is&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Machine_component|name=Screw pump|key=s|job=[[Pump operator]]&lt;br /&gt;
|construction=&lt;br /&gt;
* [[Enormous corkscrew]]&lt;br /&gt;
* [[Pipe]]&lt;br /&gt;
* [[Block]]&lt;br /&gt;
|construction_job=&lt;br /&gt;
* [[Architecture]]&lt;br /&gt;
* 1 of&lt;br /&gt;
** [[Carpentry]]&lt;br /&gt;
** [[Masonry]]&lt;br /&gt;
|power_need=10&lt;br /&gt;
}}&lt;br /&gt;
A '''screw pump''' can lift [[water]] from below onto the same [[Z-level]] as the pump. It is two tiles by one tile in size, and it can be either manually operated by a [[dwarf]] with the [[pump operator]] job or by using [[gear assembly|gear assemblies]] connected to [[water wheel]]s and/or [[windmill]]s. The direction you want the water to travel must be chosen at the time of construction.&lt;br /&gt;
&lt;br /&gt;
== Construction ==&lt;br /&gt;
&lt;br /&gt;
Building a screw pump requires an [[enormous corkscrew]], a stone, wood, or glass block, and a [[pipe]] section. The light green X must be next to the water source and the dark green X is where the water exits the  pump. Having specified the direction of travel, you must ensure that the source side of the pump is placed adjacent to and above (in the [[z-axis]]) a liquid. The screw pump will draw the liquid up from below, and distribute it out of the other side of the pump. Screw pumps are [[construction]]s that can be removed to recover the building materials.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* The source of the pump must be directionally adjacent to &amp;quot;Open Space&amp;quot; that is directly above a filled pool of liquid.&lt;br /&gt;
* In order to build pumps in a &amp;quot;hanging&amp;quot; state, as in the stacked screw pump example, the dark tile of the screw pump must be able to connect to a nearby machine; either already existing or designated to be built.&lt;br /&gt;
* The rear pump tile does not block creature movement.  The front of the pump does block creature movement.&lt;br /&gt;
* The front pump tile blocks water flow.  The rear of the pump does not block water flow.&lt;br /&gt;
* Dwarves must be able to access and stand on the rear tile of the pump in order to be able to operate the pump manually.&lt;br /&gt;
* Active mechanisms connected to the pump will automatically start the pump; to prevent this either restrict water flow using floodgates, or put in a [[gear assembly]] linked to a [[lever]] to disconnect [[power|motion]].&lt;br /&gt;
* Pumps can also be used in conjunction with a [[water wheel]] or a [[windmill]] to become self-powered.&lt;br /&gt;
* Pumps can not push water up additional Z-levels.  That is, if you direct the output of a screw pump into a 1-square space surrounded by walls, the water will not &amp;quot;overflow&amp;quot; the walls.&lt;br /&gt;
&lt;br /&gt;
== Example layouts ==&lt;br /&gt;
[[Image:pumpsnc4.png|frame|right|Diagram 2. Another example of a pump]]&lt;br /&gt;
=== Example layout ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumb&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumbinner&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;internal&amp;quot; style=&amp;quot;font-family: monospace; white-space: pre; line-height: 126.5%; text-align: left; border: 1px solid #CCC; background: white; padding: 5px;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 TOP VIEW          SIDE VIEW&lt;br /&gt;
▒▒▒▒▒▒▒▒▒&lt;br /&gt;
▒▒▒▒▒,,,,                 ▒▒▒▒▒▒▒▒▒&lt;br /&gt;
≈≈≈≈▒,▒▒▒      &amp;lt;--pumping ≈≈≈≈%%&lt;br /&gt;
≈≈≈≈%%···                 ▒▒▒▒▒▒≈≈≈ reservoir (below)--&amp;gt;&lt;br /&gt;
≈≈≈≈▒▒···&lt;br /&gt;
▒▒▒▒▒▒···&lt;br /&gt;
  &amp;lt;--pumping (same level)&lt;br /&gt;
       reservoir (below)--&amp;gt;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;thumbcaption&amp;quot;&amp;gt;Diagram 1. Top and Side view of pump&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Another example ===&lt;br /&gt;
''See Diagram 2.'' This example is from a &lt;br /&gt;
[http://www.bay12games.com/cgi-local/ultimatebb.cgi?ubb=get_topic&amp;amp;f=2&amp;amp;t=001225&amp;amp;p=2 Bay12 forum thread.]&lt;br /&gt;
&lt;br /&gt;
#Side view of the basic pump unit. Water is moved from the lower floor to the upper; notice how the front of the pump does not need a floor.&lt;br /&gt;
#Side view of stacked screw pumps. Power is transmitted vertically through the missing floor tiles under the fronts of the pumps - no need for gearboxes in this design. The screw pump front prevents the water from flowing diagonally downwards.&lt;br /&gt;
#Top view of the basic pump unit.&lt;br /&gt;
#Top view with walls in place to prevent the receiving area from spilling out. If this is all it needed, these units could be stacked on top of each other, but it's missing one thing - dwarf access. There's no stairs/ramps, and no good place to put them either that wouldn't interfere with the adjacent levels' water containment.&lt;br /&gt;
#Solution for a freestanding tower - fire escape! Sure, you could consolidate the up and downstairs into a single up/down stair tile, but I like the zigzag and symmetrical arrangement this one presents. Just build these on top of each other, flipping horizontally each time, and bam. Minimal yet aesthetic multi-level water pumping.&lt;br /&gt;
&amp;lt;div float=&amp;quot;right&amp;quot;&amp;gt;''Example courtesy of Reynard of the forums''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Yet another example - Automated system===&lt;br /&gt;
I use this system in conjunction with a river to power the water wheels.&lt;br /&gt;
&lt;br /&gt;
I wanted to be able to pump water up several levels without wasting dwarves on &amp;quot;Pumping&amp;quot;. So by using a system of water wheels and gears, and a bit of trial and error until I fixed my leaking problems, I came up with the following solution, where the &amp;quot;1st&amp;quot; and &amp;quot;2nd&amp;quot; levels simply alternate until I reach the desired height.&lt;br /&gt;
&lt;br /&gt;
 Digging Plan:&lt;br /&gt;
 &lt;br /&gt;
 &amp;quot;1st&amp;quot; Level   &amp;quot;2nd level&amp;quot;    Key&lt;br /&gt;
 #########     ########      # Undug wall&lt;br /&gt;
 #########     #     ##      X Up/down staircase&lt;br /&gt;
 #########     # ### ##      _ Channel&lt;br /&gt;
 #X#     #     #X#   _#      &lt;br /&gt;
 # # #####     ### # ##&lt;br /&gt;
 #    _###     ### #_##&lt;br /&gt;
 ###_#####     ### ####&lt;br /&gt;
 #########     ########&lt;br /&gt;
&lt;br /&gt;
 Building Plan&lt;br /&gt;
  &lt;br /&gt;
 &amp;quot;1st&amp;quot; Level   &amp;quot;2nd level&amp;quot;    Key&lt;br /&gt;
 #########     ########      &amp;lt;b&amp;gt;%&amp;lt;/b&amp;gt; Screw pump&lt;br /&gt;
 #########     #     ##      &amp;lt;b&amp;gt;*&amp;lt;/b&amp;gt; Gear&lt;br /&gt;
 #########     # ### ##      &lt;br /&gt;
 #X#     #     #X# &amp;lt;b&amp;gt;%%&amp;lt;/b&amp;gt;_#      &lt;br /&gt;
 # #&amp;lt;b&amp;gt;%&amp;lt;/b&amp;gt;#####     ### #&amp;lt;b&amp;gt;*&amp;lt;/b&amp;gt;##&lt;br /&gt;
 #  &amp;lt;b&amp;gt;%*&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;###     ### #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;##&lt;br /&gt;
 ###_#####     ### ####&lt;br /&gt;
 #########     ########&lt;br /&gt;
&lt;br /&gt;
The red gear transmits power vertically, while the other ones give power to the pumps. Switching from up to left (or down to right, the orientation of the &amp;lt;b&amp;gt;L&amp;lt;/b&amp;gt; doesn't matter) stops water leaking back down the vertical shaft. A single water wheel provides enough power for about 4 storeys. You will, of course, want to insert floodgates with levers at various locations.&lt;br /&gt;
&lt;br /&gt;
 Hooking up to 2 water wheels    Key&lt;br /&gt;
 ############                    &amp;lt;b&amp;gt;=&amp;lt;/b&amp;gt; Wooden axle (E/W)&lt;br /&gt;
 #X#     ####                    &amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt; Wooden axle (N/S)&lt;br /&gt;
 # # ########                    &amp;lt;b&amp;gt;H&amp;lt;/b&amp;gt; Water wheel (orange for one, green for the 2nd)&lt;br /&gt;
 #  &amp;lt;b&amp;gt;%*&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;*==*&amp;lt;/b&amp;gt;##                    . Channel where water is flowing    &lt;br /&gt;
 ###&amp;lt;b&amp;gt;%&amp;lt;/b&amp;gt;##&amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt;##&amp;lt;b&amp;gt;|&amp;lt;/b&amp;gt;##    &lt;br /&gt;
 ###..&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;HHH&amp;lt;font color=&amp;quot;orange&amp;quot;&amp;gt;HHH&amp;lt;/font&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;.&lt;br /&gt;
 ############&lt;br /&gt;
&lt;br /&gt;
A problem occurs when as the channel fills - as soon as it's deep enough for the wheels to spin the machine activates, sucking water out of the channel and making it too shallow for the wheels to spin, leading to a distinct 'stop-start' behaviour. It just takes time to even out - I suggest filling the channel before starting on the rest of the tower.&lt;br /&gt;
&lt;br /&gt;
====Alternative Configuration====&lt;br /&gt;
&lt;br /&gt;
A slightly more space efficient version of the above design can be achieved; though, it will increase the complexity of repairs should any component require it.  Note that either level may be used as the base and tessellated appropriately.&lt;br /&gt;
&lt;br /&gt;
 Digging (Phase I):&lt;br /&gt;
 &lt;br /&gt;
 Level 1    Level 2      Key&lt;br /&gt;
 ######     ######      # Undug wall&lt;br /&gt;
 #    #     #   _#      . May be wall, cleared, or stairs.&lt;br /&gt;
 # ####     # # ##      _ Channel&lt;br /&gt;
 #   ..     # # ..&lt;br /&gt;
 #_#...     # #...&lt;br /&gt;
 ###...     ###...&lt;br /&gt;
&lt;br /&gt;
 Construction (Phase II):&lt;br /&gt;
 &lt;br /&gt;
 Level 1    Level 2      Key&lt;br /&gt;
 ######     ######      &amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#007700&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt; Output side of pump&lt;br /&gt;
 #    #     # &amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#007700&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#00ff00&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;_#      &amp;lt;font color=&amp;quot;#00ff00&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt; Input side of pump&lt;br /&gt;
 #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#007700&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;####     # #&amp;lt;b&amp;gt;*&amp;lt;/b&amp;gt;##      &amp;lt;b&amp;gt;*&amp;lt;/b&amp;gt; Direct drive gears&lt;br /&gt;
 #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#00ff00&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;b&amp;gt;*&amp;lt;/b&amp;gt; ..     # # ..&lt;br /&gt;
 #_#...     # #...&lt;br /&gt;
 ###...     ###...&lt;br /&gt;
&lt;br /&gt;
 Digging/Construction (Phase III):&lt;br /&gt;
 &lt;br /&gt;
  This step must be performed after the pump and direct gears have been placed.&lt;br /&gt;
  &lt;br /&gt;
 Level 1    Level 2      Key&lt;br /&gt;
 ######     ######      &amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;_&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt; Channel for transfer gear.&lt;br /&gt;
 #    #     # &amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#007700&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#00ff00&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;_#&lt;br /&gt;
 #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#007700&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;####     # #&amp;lt;b&amp;gt;*&amp;lt;/b&amp;gt;##&lt;br /&gt;
 #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#00ff00&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;b&amp;gt;*&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;_&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;..     # #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;_&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;..&lt;br /&gt;
 #_#...     # #...&lt;br /&gt;
 ###...     ###...&lt;br /&gt;
&lt;br /&gt;
Finally place the power transfer gear:&lt;br /&gt;
&lt;br /&gt;
 Construction (Phase II):&lt;br /&gt;
  &lt;br /&gt;
 Level 1    Level 2      Key&lt;br /&gt;
 ######     ######      &amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#000077&amp;quot;&amp;gt;˜&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt; Water on z-1&lt;br /&gt;
 #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#0000ff&amp;quot;&amp;gt;≈≈≈≈&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;#     #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#0000ff&amp;quot;&amp;gt;≈&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#007700&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#00ff00&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#000077&amp;quot;&amp;gt;˜&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;#      &amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#0000ff&amp;quot;&amp;gt;≈&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt; Water on current z&lt;br /&gt;
 #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#007700&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;####     #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#0000ff&amp;quot;&amp;gt;≈&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;#&amp;lt;b&amp;gt;*&amp;lt;/b&amp;gt;##      &amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt; Power Transfer Gear&lt;br /&gt;
 #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#00ff00&amp;quot;&amp;gt;%&amp;lt;/font&amp;gt;*&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;..     #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#0000ff&amp;quot;&amp;gt;≈&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;#&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;*&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;..&lt;br /&gt;
 #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#000077&amp;quot;&amp;gt;˜&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;#...     #&amp;lt;b&amp;gt;&amp;lt;font color=&amp;quot;#0000ff&amp;quot;&amp;gt;≈&amp;lt;/font&amp;gt;&amp;lt;/b&amp;gt;#...&lt;br /&gt;
 ###...     ###...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===And yet another example - Automated system===&lt;br /&gt;
Similar to the one above, but requiring more gear assemblies and more suited for construction, rather than digging.  I used this design to pump water up into my 19 level high water tower.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Level 1 Construction Plan&lt;br /&gt;
&lt;br /&gt;
 +++###+&lt;br /&gt;
X+_+++#X&lt;br /&gt;
 +++###+&lt;br /&gt;
&lt;br /&gt;
Level 2 Construction Plan&lt;br /&gt;
&lt;br /&gt;
    +&lt;br /&gt;
+###+++&lt;br /&gt;
X#+++_+X&lt;br /&gt;
+###+++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Level 1 Building Plan&lt;br /&gt;
   * &amp;lt;------This gear transmits power vertically.&lt;br /&gt;
 ++*###+&lt;br /&gt;
X+_%%+#X&lt;br /&gt;
 +++###+&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Level 2 Building Plan&lt;br /&gt;
   ---------This gear transmits power vertically.&lt;br /&gt;
   | &lt;br /&gt;
   v&lt;br /&gt;
   **&lt;br /&gt;
+###*++&lt;br /&gt;
X#+%%_+X&lt;br /&gt;
+###+++&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Key: &lt;br /&gt;
#  constructed wall&lt;br /&gt;
+  constructed floor or top of wall&lt;br /&gt;
_  open space&lt;br /&gt;
%%  screw pump&lt;br /&gt;
*  gear assemblies&lt;br /&gt;
X  stairs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Keep in mind that the walls you build below will create &amp;quot;floors&amp;quot; on the floor above, so for each Level 1 (above the ground level) you should only have to build 5 floor tiles, and on each Level 2 you need to build 6 floor tiles (one extra for the extra gear assembly).  Just keep alternating these designs stacked as desired.&lt;br /&gt;
&lt;br /&gt;
=== Running a pump with a windmill ===&lt;br /&gt;
&lt;br /&gt;
First, build a [[windmill]] anywhere aboveground (note that it won't do anything yet).&lt;br /&gt;
&lt;br /&gt;
Then, build the pump. The end you selected to 'pump from' will suck water up from the level below, then pump it out of the other end. Build with this in mind. If you want to pump from a river, the 'pump from' end should be on the river.&lt;br /&gt;
&lt;br /&gt;
Both the pipe and corkscrew can be built by a [[carpenter]], (the corkscrew is listed as something like 'enormous wooden cor' if you are using the single-width screen, but hitting {{k|Tab}} to expand the screen should reveal the full text).&lt;br /&gt;
&lt;br /&gt;
Connecting [[Windmill|windmills]] to pumps:&lt;br /&gt;
&lt;br /&gt;
Note that it's much easier if the centre of the [[windmill]] lines up with the pump.&lt;br /&gt;
&lt;br /&gt;
# Dig one level below the [[windmill]] and put a [[gear assembly]] directly beneath the [[axle]] (at centre of windmill). The windmill will start turning.&lt;br /&gt;
# You're probably going to want to bring your power up to the surface. To do this, dig away from the first gear until the surface is clear above. Place another gear here.&lt;br /&gt;
# Connect the gears together using a horizontal axle.&lt;br /&gt;
# Get a [[miner]] to [[channel]] on top of the second gear.&lt;br /&gt;
# Build a third gear in this channel. You should now have a turning gear on the surface.&lt;br /&gt;
# If you thought ahead, you should only need one axle to connect the surface gear to the pump. A pump can be powered from any side.&lt;br /&gt;
&lt;br /&gt;
I recommend that you connect a lever to one of your gears beforehand. The pump will start pumping as soon as it has power.&lt;br /&gt;
&lt;br /&gt;
You can change stuff around as the situation dictates, but that should get you started.&lt;br /&gt;
&lt;br /&gt;
[[Image:Above.png|frame|none|above]]&lt;br /&gt;
[[Image:Below.png|frame|none|below]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;The pictures aren't lined up - the far right gear in the second picture is the one below the surface gear.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Alternate Uses ==&lt;br /&gt;
&lt;br /&gt;
Pumps can also be built with no actual pumping in mind but as dwarven exercise machines.  This is an excellent method to train haulers for better strength and agility or for future soldiers.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
*[[User:Markavian/DFMA|DFMA]] Ingame Videos featuring screw pumps: ([http://mkv25.net/dfma/movie-pump Movies with Pump in the title])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Water FAQ}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Constructions]]&lt;br /&gt;
[[Category:Machine components]]&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Quickstart_guide&amp;diff=11342</id>
		<title>40d:Quickstart guide</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Quickstart_guide&amp;diff=11342"/>
		<updated>2008-03-02T13:35:22Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Food and drink */ grammar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dwarf Fortress Starter Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
This quick and cheerful guide aims to help those of you brave enough to tackle this game over the first few hurdles that it presents.&lt;br /&gt;
&lt;br /&gt;
Before we start, I must stress that this game can get very complicated very fast, and you may get overwhelmed at multiple points. Don't give up, you'll get the hang of it eventually. Focus on getting food and shelter first, and you'll have plenty of time to take the rest of the game slowly.&lt;br /&gt;
&lt;br /&gt;
=== Aim of the game ===&lt;br /&gt;
&lt;br /&gt;
The basic premise of the game is to build, with the help of your starting seven dwarves and any children or immigrants, a successful, prosperous fortress. By keeping up with the needs of your dwarves, they will gladly do anything you ask and soon your fortress will be magnificent (if it all goes well).&lt;br /&gt;
&lt;br /&gt;
=== Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Your dwarves need food, drink and a bed generally, so these will be your first objectives. However, when you start, your dwarves are just sitting on the surface of your newly generated world, so we have to get them under the earth, where they belong. The new version of Dwarf Fortress implements a whole new way of digging, the Z-Axis. Using this, you can not only dig sideways, but downwards and upwards as well. Press {{K|d}} to open the [[designation panel]], and you'll be greeted by a lot of possible designations. Firstly, choose &amp;quot;Downwards Stairway&amp;quot;. Using your mouse, click somewhere on the screen to place it. Then, press {{K|Shift + .}} ({{K|&amp;gt;}}) Your view will then change, showing blackness, with periodic grey %,. signs.  You just went down a z-level. Think of it as going one level down. You should see that underneath the downwards stairway you placed just a second ago, there will be a grey block. Go back into the {{K|d}} menu, and select &amp;quot;Upwards Stairway&amp;quot;. Click in the grey block to place it, and the two stairways will link up. Press {{K|Shift + ,}} ({{K|&amp;lt;}}) (To go up a z-level) and then {{K|Space}} and your miner dwarf will run over and dig the stairways. Once the stairs are built, you can continue to build. Using {{K|d}} again, designate an area no larger than 7x7 squares away next to the stairs on your first -z level for mining. Make sure that the mining designation is connected to an open room or space, or else the dwarves will not be able to mine. The area you designated for mining should turn yellow, and when you hit {{K|Space}} again, your mining dwarf/s will hurry to mine out the selected area. This is the basic skill in Dwarf Fortress, being able to dig.&lt;br /&gt;
&lt;br /&gt;
{{Notice Box|In Progress|While this page has some good general information, a much more detailed introduction can be found at the [[Your first fortress]] page.}}&lt;br /&gt;
&lt;br /&gt;
=== Storage ===&lt;br /&gt;
&lt;br /&gt;
All of your dwarves' possessions are on the wagons on the surface, including food, seeds, equipment and anything else you brought. Storing food inside is a good idea, so hit {{K|p}} to open the stockpile menu, then hit {{K|f}} for food. Move the keyboard over to the start corner of a big room, hit enter, then move to the other corner, hitting enter again will place the pile, and your dwarves should begin hauling food to it immediately.&lt;br /&gt;
&lt;br /&gt;
You should also make a {{K|p}}-&amp;gt;{{K|w}} wood and refuse pile outside.&lt;br /&gt;
&lt;br /&gt;
Stone is dug out of the earth itself, while wood is collected from trees (usually outside). To designate trees to be cut, open the {{K|d}} menu, and select {{K|t}} for trees, then drag a box around the trees you want felled.&lt;br /&gt;
&lt;br /&gt;
=== Construction ===&lt;br /&gt;
&lt;br /&gt;
Next up: Constructing buildings and objects. You can place many buildings (almost all 3x3) that carry out various tasks from making food to carving stone, smelting ore to generating power.&lt;br /&gt;
&lt;br /&gt;
Hit {{K|b}}uild menu, and then {{K|w}}orkshop. You'll be seeing the build menu often as you build and expand your fortress. Build a mason's and a carpenter's workshop, so that you can craft stone and wood that you collect. Your dwarves should begin construction reasonably quickly.&lt;br /&gt;
&lt;br /&gt;
You may need to reassign dwarves to other jobs in order to get them to do something (build, work at certain workshop, move something etc). Hit {{K|v}} to view dwarves, and scroll until you find one. The {{K|g}}eneral panel will show name, skills and current actions. Change to {{K|p}}references and {{K|l}}abour. This is where you change what tasks the dwarf will carry out. Use the {{K|+}} and {{K|-}} keys to scroll down to masonry and enable it with the enter button, to allow this dwarf to use the masons workshop.&lt;br /&gt;
&lt;br /&gt;
Building items: hit {{K|q}} to search buildings and move your cursor to the masons workshop. {{K|a}} will add a new task, and hit {{K|d}} for door. Space to un-pause, and the mason should grab a rock and set about building you a door. When he is done, you can place this via the {{K|b}}uild menu ({{K|d}}oor). Note that there are some buildings that {{K|q}} doesn't work with. Use {{K|t}} for these instead.&lt;br /&gt;
&lt;br /&gt;
Beds are constructed in the same way ({{K|b}} on the build menu), but can only be made from wood in the carpenters workshop.&lt;br /&gt;
&lt;br /&gt;
=== Food and drink ===&lt;br /&gt;
&lt;br /&gt;
Food is sometimes difficult to get right. There are many ways to provide food for your dwarves, be it butchering animals from hunting or slaughtering your own, farming, fishing, trading etc, but the most reliable way is to farm. The new version of the game added the ability to farm certain plants/crops outside your fortress, aswell as inside. There are many guides on farming, so I won't go into it here, but sufficed to say, you build farm plots with {{K|b}}uild {{K|p}}lot on either soil (clay, loam, sand, etc) or rock that has been muddied by water, and once it is built by your farmers, select {{K|q}} and choose the seed type. Plump helmet is the best choice just now. As seeding is seasonal, you might want to choose ahead of time. {{K|a}}, {{K|b}}, {{K|c}} and {{K|d}} choose spring, summer, autumn and winter. Just choose the seed type for each season.&lt;br /&gt;
&lt;br /&gt;
Drink is created from the [still] with crops grown in the fields and from wild plants you can tell your dwarves to gather. Drinking booze is much better than drinking water, as it increases dwarven efficiency. Water is required for any injured dwarves, and is attained in a number of different ways. If your map has a river or brook on it, dwarves will automatically go to it to drink. If this is not the case, hope that there is a lake or pond on the surface of your map, or else it will be a while before you get access to water. I hope you brought lots of drink with you.&lt;br /&gt;
&lt;br /&gt;
Well, that is the basics of Dwarf Fortress. What you want to do now is set up a steady supply of food, keep digging downwards and along, and make sure you are prepared for winter. Expect a trade [[caravan]] to come to your fortress just before winter, so make sure you build a trade depot. Oh, and you could get a group of 5-12 dwarves arriving before winter as well, so make sure you have enough food to feed everyone.&lt;br /&gt;
&lt;br /&gt;
Good luck.&lt;br /&gt;
&lt;br /&gt;
Other points of interest&lt;br /&gt;
&lt;br /&gt;
* {{K|z}} will give you an overview of your fortress, and will allow you to select animals for slaughter (just hit enter when the word &amp;quot;Animals&amp;quot; at the top is highlighted).&lt;br /&gt;
&lt;br /&gt;
* {{K|u}} gives you information on individual dwarves and their current tasks.&lt;br /&gt;
&lt;br /&gt;
* You can use the mouse to designate areas (mine, trees, etc), and right-clicking gives a new scroll option.&lt;br /&gt;
&lt;br /&gt;
* To exit the game, you must save first, and it will automatically move you to the start screen again.&lt;br /&gt;
&lt;br /&gt;
* If you want to look at something, use {{K|q}}, {{K|t}}, {{K|k}}, or {{K|v}}. {{K|q}} and {{K|t}} looks at buildings and other constructions, and depending on the structure, will let you change the build queue, look at the contents of the building, destroy the building, or let you toggle settings on doors and such.&lt;br /&gt;
&lt;br /&gt;
* {{K|k}} will show individual items in a tile, and {{K|v}} shows individual dwarves and other creatures. In any combat you will find it easier to keep track on what's going on by pressing {{K|v}} to select creatures and {{K|w}} to look at their wounds.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Bars&amp;diff=18892</id>
		<title>40d:Bars</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Bars&amp;diff=18892"/>
		<updated>2008-03-01T19:04:04Z</updated>

		<summary type="html">&lt;p&gt;Exponent: typo: missing word&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''''For metal bars see [[Metal]].'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bars are essentially poles that block the movement of all but liquids and light. Meaning that while you can see through bars and let water or magma flow through them, no item or creature can pass. Bars can be both vertical and horizontal, that is they can be used instead of walls or floors.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Bars can be built from the Site a [[Building]] menu ( {{k|b}} ). The hotkey for vertical bars is {{k|B}} and for floor bars it's {{k|Alt}} + {{k|b}}. Floor bars can only built where there is no floor. To remove the floor of a tile, you dig a [[channel]]. Bars can only be built from metal (strangely ashes and coal count as metal was well) and take only one bar to be build. Currently Bars are identical in function to grates but distinctions will be made later[http://www.bay12games.com/cgi-local/ultimatebb.cgi?ubb=get_topic&amp;amp;f=7&amp;amp;t=001394] {{version|0.27.169.33g}}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Grate]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Furniture]]&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
	<entry>
		<id>https://dwarffortresswiki.org/index.php?title=40d:Bars&amp;diff=18891</id>
		<title>40d:Bars</title>
		<link rel="alternate" type="text/html" href="https://dwarffortresswiki.org/index.php?title=40d:Bars&amp;diff=18891"/>
		<updated>2008-03-01T19:01:59Z</updated>

		<summary type="html">&lt;p&gt;Exponent: /* Usage */ typo: missing space&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''''For metal bars see [[Metal]].'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bars are essentially poles that block the movement of all but liquids and light. Meaning that while you can see through bars and let water or magma flow through them, no item or creature can pass. Bars can be both vertical and horizontal, that is they can be instead of walls or floors.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Bars can be built from the Site a [[Building]] menu ( {{k|b}} ). The hotkey for vertical bars is {{k|B}} and for floor bars it's {{k|Alt}} + {{k|b}}. Floor bars can only built where there is no floor. To remove the floor of a tile, you dig a [[channel]]. Bars can only be built from metal (strangely ashes and coal count as metal was well) and take only one bar to be build. Currently Bars are identical in function to grates but distinctions will be made later[http://www.bay12games.com/cgi-local/ultimatebb.cgi?ubb=get_topic&amp;amp;f=7&amp;amp;t=001394] {{version|0.27.169.33g}}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Grate]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Furniture]]&lt;/div&gt;</summary>
		<author><name>Exponent</name></author>
	</entry>
</feed>