- 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.
Difference between revisions of "User:Quietust"
m (→2D Autoforbid) |
|||
Line 22: | Line 22: | ||
A tool for Dwarf Fortress [[23a:Main Page|v0.23.130.23a]] which automatically forbids most items dropped by slain invaders/visitors (as well as a dwarf's original clothes when they are replaced). Download [http://dffd.wimbli.com/file.php?id=2848 here]. | A tool for Dwarf Fortress [[23a:Main Page|v0.23.130.23a]] which automatically forbids most items dropped by slain invaders/visitors (as well as a dwarf's original clothes when they are replaced). Download [http://dffd.wimbli.com/file.php?id=2848 here]. | ||
− | How the game determines when items are equipped by foreigners (and | + | How the game determines when items are equipped by foreigners (and appear red in Z-Stocks and should thus be eligible for forbidding on drop): |
# Item object, DWORD offsets 0x002C is a vector of ownership properties (start = offset 0x4, end = offset 0x8) | # Item object, DWORD offsets 0x002C is a vector of ownership properties (start = offset 0x4, end = offset 0x8) | ||
# A property object with vtable pointer 0x00766120 indicates who is holding the item (it calls the 3rd function and expects a return value of 14); DWORD offset 0x0004 specifies the unit ID. (vtable pointer 0x007661A4 indicates who is the ''owner'' of the item) | # A property object with vtable pointer 0x00766120 indicates who is holding the item (it calls the 3rd function and expects a return value of 14); DWORD offset 0x0004 specifies the unit ID. (vtable pointer 0x007661A4 indicates who is the ''owner'' of the item) |
Revision as of 17:52, 29 July 2010
About
He's just this guy, you know?
Fortresses
v0.28.181.40d
- 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.
Projects
Dwarf Manipulator
Just like Dwarf Therapist, but using a text-based interface (based on Valdemar's prototype), and it's for Dwarf Fortress v0.23.130.23a. The only other tool available, Dwarf Foreman, was incapable of assigning labors for individual dwarves unless you gave each dwarf its own custom profession. Download here.
2D Forbidder
A tool for Dwarf Fortress v0.23.130.23a which allows manually forbidding/reclaiming, chasming, or melting the currently viewed item, almost just like in the 3D version. Download here.
2D Autoforbid
A tool for Dwarf Fortress v0.23.130.23a which automatically forbids most items dropped by slain invaders/visitors (as well as a dwarf's original clothes when they are replaced). Download here.
How the game determines when items are equipped by foreigners (and appear red in Z-Stocks and should thus be eligible for forbidding on drop):
- Item object, DWORD offsets 0x002C is a vector of ownership properties (start = offset 0x4, end = offset 0x8)
- A property object with vtable pointer 0x00766120 indicates who is holding the item (it calls the 3rd function and expects a return value of 14); DWORD offset 0x0004 specifies the unit ID. (vtable pointer 0x007661A4 indicates who is the owner of the item)
- At 0x00ACB3D8 is a vector containing an alternative unit list, seems to contain a few more units than the main one at 0x00ACB3E8.
- Unit object, DWORD offset 0x00EC contains the unit ID. Do a reverse lookup to find the unit indicated from step 2. Maintain a cache for performing forward lookups so we don't have to iterate across the whole unit list for every item - run through the whole list on program startup, then augment it each time there's a miss.
- Unit object, DWORD offsets 0x00DC and 0x00E0 contain the creature flags - main ones we probably want to monitor are 17 (approaching invader) and 19 (fleeing invader), though 6 (merchant), 7 (bodyguard), and 11 (diplomat) might also be beneficial. Z-Stocks displays items in red if they are held by a unit with any of the following properties (in order): 12/13 (zombie/skeleton), 17/19 (approaching/fleeing invader), 7 ("forest", orphaned caravan guards), 11 (diplomat), 6 (merchant), not 26 (tame; if it is tame, it returns early), and 18b (underworld).
- Unit object, DWORD offset 0x00F8 contains the unit's civilization ID. At offset 0x00A90408 is your own civilization ID. If the unit's civ is 0xFF or is not equal to your own (and none of the above checks were tripped), Z-Stocks displays the item in red. This test can probably be skipped.
Forgotten Beast Extractor
Run this PHP script in your regionX subfolder. Works with both compressed and uncompressed worlds, with or without active saves.
Automatic Obsidian Factory Plans
See here for more information.