v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

User:Quietust

From Dwarf Fortress Wiki
Revision as of 21:23, 23 April 2010 by Quietust (talk | contribs) (neat trick - extract all of the forgotten beasts, titans, and demons from an uncompressed world.dat)
Jump to navigation Jump to search

About

He's just this guy, you know?

Fortresses

  • Urdimzatam, Towerclouted - First successful fortress; no real megaprojects to speak of.
  • Tathtakunib, Wasprag - First megaproject as monument (23 Z-level clear glass pyramid filled with magma), tower-cap farm, giant cave spider silk farm, automatic obsidian factory implementation (see below).
  • Naniratîs, Rhymestakes - First megaproject as actual fortress (47x47x16 cast obsidian tower), complete with self-destruct button.

Wiki

  • Mostly casual editor, updating article content as well as fixing formatting
  • Owner of the bot QuietBot - if you need to run a series of repetitive but predictable tasks, post a message here.

Automatic Obsidian Factory Plans

This obsidian factory design works quite nicely, producing 400 obsidian stones per batch, though operating it requires several lever pulls in a specific order and several long waits in between them.

▓≈▓ ← pumped magma        |                        |                    ▓.▓
▓≈▓(1)        triggers ↓  |                        |                    ▓.▓ ← maintenance access
╔X═══════════════════╗▓▓▓ | ╔════════════════════╗ | ╔═══════════════════X╗▓▓▓
║....................Xò.ò | ║                    ║ | ║╔════════╗╔════════╗X≈≈≈ ← pressurized water
║....................X... | ║                    ║ | ║║++++++++║║++++++++║║▓▓▓
║....................Xò.ò | ║                    ║ | ║║++++++++║║++++++++║║(2)
║....................║▓▓▓ | ║                    ║ | ║║++++++++║║++++++++║║
║....................║(4) | ║                    ║ | ║║++++++++║║++++++++║║
║....................║    | ║                    ║ | ║║++++++++║║++++++++║║
║....................║    | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ m  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ i  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ n  | ║                    ║ | ║╚════════╝╚════════╝║ ← retracting bridges
║....................║ i  | ║                    ║ | ║╔════════╗╔════════╗║(3)
║....................║ n  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ g  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║    | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ a  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ c  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ c  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ e  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ s  | ║                    ║ | ║║++++++++║║++++++++║║
║....................║ s  | ║                    ║ | ║╚════════╝╚════════╝║
╚════════════════════╝    | ╚════════════════════╝ | ╚════════════════════╝

In an effort to make operation less tedious, the following automation system has been designed. A single lever will initiate a sequence of events that produces a batch of obsidian, ready for mining.

Timing System

Each pressure plate opens the floodgate immediately to the south and activates zero or more special triggers. Each step takes 100 frames, plus time taken for the water to flow through (which should be near zero if the source is sufficiently pressurized). ON signals and inverted (/Signal) OFF signals activate more or less immediately (plus another 100 frames for bridges and floodgates), while OFF signals and inverted ON signals take an additional 100 frames to respond.

Trigger lever (pull twice, with sufficient delay) - Timer:ON, Magma:RESET, Water:RESET, Mixer:RESET, Access:RESET

▓▓≈▓ ← pressurized water
▓▓≈▓(5)
▓▓X▓▓▓
╬X^X<▓ - A - /Access:ON, /Water:ON, Magma:ON
╬XX▓▓▓
╬X^▓ - B (wait for the magma to sufficiently fill the lower level)
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B (the number of "B" stages here depends on how long it takes for the chamber to fill with magma)
╬XX▓
╬X^▓ - B (if the pump moves magma quickly enough, this stretch can be shortened significantly)
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - B
╬XX▓
╬X^▓ - C - Magma:OFF
╬XX▓
╬X^▓ - D - Mixer:ON
╬XX▓
╬X^▓ - E (wait for the water to drop onto the magma and form obsidian)
╬XX▓
╬X^▓ - E
╬XX▓
╬X^▓ - E
╬XX▓
╬X^▓ - F - Mixer:OFF, /Access:OFF
╬XX▓
╬X^▓ - G (wait for the mixer bridges to close - takes 200 frames from stage F)
╬XX▓
╬X^▓ - G
╬XX▓
╬X^▓ - H - /Water:OFF, Timer:OFF
╬XX▓
╬X^▓ - I - open all Drainage floodgates (to the left)
▓▓▓▓
↑ fortification drain

Persistent triggers:

Z-0
▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓>▓
▓☼▓☼▓☼▓☼▓.▓
▓║▓║▓║▓║▓.▓▓▓
▓║.║.║.║....▓
▓☼.☼.☼.☼.☼▓>▓▓▓ - OFF signals 1-5
▓☼═☼═☼═☼═☼═════ ← machine power
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Z-1
▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
▓........X▓
▓o▓o▓o▓o▓▓▓
▓ ▓ ▓ ▓ ▓ ▓▓▓
▓%.%.%.%.%..▓
▓%▓%▓%▓%▓%▓X▓
▓¢┼¢┼¢┼¢┼¢┼.▓ - RESET signals 1-4, ON signal 5
▓▓▓▓▓▓▓▓▓▓▓▓▓
Z-2
▓▓▓▓▓▓▓▓▓▓▓
▓ ▓ ▓ ▓ ▓▓▓
▓%.%.%.%.X▓
▓%▓%▓%▓%▓▓▓
▓+▓+▓+▓+▓+▓
▓▓▓▓▓▓▓▓▓%▓▓▓
▓▓▓▓▓▓▓▓▓%.<▓
▓ ▓ ▓ ▓ ▓ ▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
Z-3
▓▓▓▓▓▓▓▓▓▓▓
▓+▓+▓+▓+▓▓▓
▓%▓%▓%▓%▓X▓
▓%.%.%.%..▓
▓ ▓ ▓ ▓ ▓.▓
▓.........▓
▓┼▓┼▓┼▓┼▓┼▓
▓¢▓¢▓¢▓¢▓^▓ - ON signals 1-4, output signal (5)
▓▓▓▓▓▓▓▓▓▓▓
Z-4
▓▓▓▓▓▓▓▓▓▓▓
▓.........▓
▓o▓o▓o▓o▓X▓
▓▓▓▓▓▓▓▓▓.▓
▓+▓+▓+▓+▓.▓
▓%▓%▓%▓%▓.▓
▓%.%.%.%..▓
▓ ▓ ▓ ▓ ▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
Z-5
▓▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓
▓☼.☼.☼.☼.<▓
▓║▓║▓║▓║▓▓▓
▓║▓║▓║▓║▓▓▓
▓☼▓☼▓☼▓☼▓▓▓
▓┼▓┼▓┼▓┼▓▓▓
▓^▓^▓^▓^▓▓▓ - output signals (1), (2), (3), (4)
▓▓▓▓▓▓▓▓▓▓▓
 1 2 3 4

Output signals:

  • (1) - Magma (4-7) - open floodgate (1) when ON, close when OFF
  • (2) - /Water (0-3) - close floodgate (2) when ON, open when OFF
  • (3) - Mixer (4-7) - retract bridges (3) when ON, close when OFF
  • (4) - /Access (0-3) - close floodgates (4) when ON, open when OFF
  • (5) - Timer (4-7) - open floodgate (5) when ON, close when OFF

Simple resettable trigger

(side view)
▓▓▓☼ _ ← OFF
▓ %>¢▓ ← ON
▓ <% ▓
▓▓▓▓^▓ → Output

This is a simple Permanent Effect Pressure Plate, having separate ON and OFF signals. The pressure plate at the bottom should be set to trigger either on 4-7 water or 0-3 water, depending on the desired "polarity" of the trigger. The "ON" signal is connected to the floor hatch (which should be primed with a tile of 4/7 or more water), and the "OFF" signal is connected to a disengaged gear assembly at the top (the gear should be linked to an existing lever and toggled before being connecting to your other systems). Note that this system will misbehave if both the ON and OFF signals are active at the same time.

Complex resettable trigger

(side view)
▓▓▓☼══☼ _ ← OFF
▓▓▓║ %>¢▓ ← RESET
▓ %>_▓▓ ▓
▓ <% ▓▓¢▓ ← ON
▓▓║▓_<% ▓
▓▓☼══☼▓^▓ → Output

This is a more versatile Permanent Effect Pressure Plate, such that it will only accept one ON signal followed by one OFF signal before it must be RESET, most useful for systems where you need to perform a sequence of events and deactivating the ON signal before sending an OFF signal would increase complexity.

The pressure plate at the bottom should be set to trigger either on 4-7 water or 0-3 water, depending on the desired "polarity" of the trigger. The "ON" signal is connected to the lower floor hatch, the "OFF" signal is connected to a disengaged gear assembly at the top (the gear should be linked to an existing lever and toggled before being connecting to your other systems), and the "RESET" signal is linked to the upper floor hatch (which should be primed with a tile of 4/7 or more water). Unlike the Simple resettable trigger described above, it is possible to activate the OFF signal while the ON signal is still active without disrupting the trigger's function - once both the ON and OFF triggers have been deactivated, simply toggle the RESET signal to return the trigger to its initial state. By leaving the RESET signal permanently active, this trigger can behave the same as the simple resettable trigger.

Forgotten Beast Extractor

Run this PHP script in your regionX subfolder. Currently works only on uncompressed worlds (must generate with [COMPRESSED_SAVES] turned off) with no active saves.

<?
function readLong ($file)
{
	$x = fread($file, 4);
	$pck = unpack('Vdata', $x);
	return $pck['data'];
}
function readShort ($file)
{
	$x = fread($file, 2);
	$pck = unpack('vdata', $x);
	return $pck['data'];
}

$raw = fopen('world.dat', 'rb');
if (!$raw)
	die("world.dat file not found!");

$sig = readLong($raw);
if ($sig != 0x00000509)
	die("world.dat file is corrupted!");

$comp = readLong($raw);
if ($comp != 0)
	die("world.dat file is compressed!");

fseek($raw, 0x92, SEEK_SET);

$len = readShort($raw);
$str = fread($raw, $len);
echo "Listing raws for randomly generated creatures of $str:\n\n";

$numCreatures = readLong($raw);

for ($i = 0; $i < $numCreatures; $i++)
{
	$numLines = readLong($raw);
	for ($j = 0; $j < $numLines; $j++)
	{
		$len = readShort($raw);
		$str = fread($raw, $len);
		echo "$str\n";
	}
	echo "----------\n";
}
?>