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.

Difference between revisions of "User:Doktoro Reichard"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(Adding files)
(→‎"Improved" undump: - Not really a major breakthrough, but interesting.)
Line 30: Line 30:
  
 
There is no limit to what happens at Uristurist, or so the legends tell, as no migrant or errant dwarf has yet reached the mythical fortress.
 
There is no limit to what happens at Uristurist, or so the legends tell, as no migrant or errant dwarf has yet reached the mythical fortress.
 +
 +
== "Improved" Undump ==
 +
 +
After finding out the hard way that pathfinding is '''the most''' CPU-intensive operation DF does, I started looking at current attempts of creating quantum stockpiles, without actually using dump zones, which are regarded as cheating by some. The designs by [[User:Vasiln/Undump|Vaslin]] seem to be interesting, but wasteful.
 +
 +
To start with, here is my current idea:
 +
{{diagram|spaces=yes|\
 +
 +
╔═════════
 +
║++[#F00]^++¢+++
 +
║++═════++
 +
║++[#F00]^++¢+++
 +
║++═════++
 +
║++[#F00]^++¢+++
 +
║++═════++
 +
 +
}}
 +
 +
The space at the right of the pressure traps (at red) is all stockpile designated (I can't represent the proper sign due to how the template works). The point here is, as stated in other works, to as soon as a dwarf passes through the trap, the hatches are activated, precipitating the dwarf to drop the item he's holding onto the stockpile.
 +
 +
The advantage of this design is that the space at the right can be adjusted to the number of haulers one wants, remembering that each empty stockpile square is assigned to a hauler.
 +
The design can also be expanded downwards. There seems to be a slight fault where dwarves drop items before the stockpile; that may be from the fact that repeated queuing actually closes all hatches, preventing the dwarf from finding a path, therefore dropping the item.
 +
 +
The disadvantages are those of the original system: slow, prone to fault and increasing the number of "machines" can lower the FPS due to pathfinding issues.
  
 
== DFHack scripts ==
 
== DFHack scripts ==

Revision as of 23:35, 28 January 2014

Description

I'm just a guy that happened to pass by here, complaining about the Glass industry page not being quite right. Now, I'm here fixing tidbits, adding some research and overall trying to be a DF player.

My bio (if you could call it that) can be found at the Arqade SE, which you could say was the main reason for me being here. I also used to play a lot of World of Warcraft, but those days are bygone.

I also use the same name at the bay12games forums so... well, that's pretty much it.

Files

Here are some files that I've made mention or that are base blocks to other files. Feel free to use them in any dwarfy way.

Glass Workflow Chart. A Dia file. Not the most user-friendly software, but gets the job done.

Gems spreadsheet. Just an import of the data got by Shandra.

Gems spreadsheet (treated). This has very very ugly graphs regarding distribution of gems on an embark. Based on the above.

The Legend of Uristurist, "Daggerdaggers"

There exists a legend among all dwarvish civilizations, about a group of seven that set up camp at a very particular and unremarkable place, near a human settlement. That place was none other than Uristurist.

Now, Uristurist is just a plot of wood-ridden land, nothing fancy. Except for the fact that even Armok himself turns a blind eye: the laws of physics, civilization, time and space all crumble before the mightiest of powers those seven dwarves went to discover and manipulate, far from prying eyes. That power is none other that !!SCIENCE!!

Imbued with the knowledge to alter the very fabric of the universe through communion with Lua, they changed their surroundings in order to better understand their own kind: they produced mountains of Obsidian mugs, spawned obsidian out of thin air, at a speed never imagined built stairways and death wells for which to throw horses. And, when bored or troubled, regressed time itself.

For fun, they involved themselves in quantum physics, replacing their body parts with others cloned from their partners. They dipped themselves in magma and burnt themselves to oblivion. They gained and lost skill in instant. They even had the power to summon sieges from their own kin, and trap them in cages as puny goblins.

There is no limit to what happens at Uristurist, or so the legends tell, as no migrant or errant dwarf has yet reached the mythical fortress.

"Improved" Undump

After finding out the hard way that pathfinding is the most CPU-intensive operation DF does, I started looking at current attempts of creating quantum stockpiles, without actually using dump zones, which are regarded as cheating by some. The designs by Vaslin seem to be interesting, but wasteful.

To start with, here is my current idea:

+ + ^ + + ¢ + + +
+ + + +
+ + ^ + + ¢ + + +
+ + + +
+ + ^ + + ¢ + + +
+ + + +

The space at the right of the pressure traps (at red) is all stockpile designated (I can't represent the proper sign due to how the template works). The point here is, as stated in other works, to as soon as a dwarf passes through the trap, the hatches are activated, precipitating the dwarf to drop the item he's holding onto the stockpile.

The advantage of this design is that the space at the right can be adjusted to the number of haulers one wants, remembering that each empty stockpile square is assigned to a hauler. The design can also be expanded downwards. There seems to be a slight fault where dwarves drop items before the stockpile; that may be from the fact that repeated queuing actually closes all hatches, preventing the dwarf from finding a path, therefore dropping the item.

The disadvantages are those of the original system: slow, prone to fault and increasing the number of "machines" can lower the FPS due to pathfinding issues.

DFHack scripts

Healing by proxy

Trying to save Urist McMiner from a magma-induced full body melting, I poked around with the gui/gm-editor tool of the latest DFHack (0.34.11 r3) in order to see if I could try and delete the melt.

Unfortunately, the current stable release of gui/gm-editor isn't informative, and to top it off melts are somewhat complex (e.g. there isn't a single "is_urist_molten" value).

So, the 2nd best way to treat a molten dwarf was to do a little bit of !!Quantum Cellular Mimicry™!! (patent pending), by this I mean to copy the body of a base dwarf to the affected dwarf.

The script works (although if it crashes your game don't blame me). It seemed to crash when assigning a male body to a female one.


I got most of the code from what was already posted at the forums. Due to some problem with Lua, I was unable to use the 'utils' package so I've pasted the utils.assign function in the script.

The first part is the dwarves selection. You select the affected dwarf first in DF, then press Enter in DFHack. Repeat for the base dwarf. The second part clears wounds (probably unnecessary) and resets flags. The third part actually copies the bodies from dwarf 2 to dwarf 1, hence recovering him. This implies however that the base dwarf is healthy.

There also seems to yet exist some other place where molten body parts data is stored besides unit.body. After some verification, I think DF stores some values (not in the dwarf himself, but somewhere) that are later called back. After applying, running, applying, running,..., one of the scripts from the above link, I got my molten dwarf at perfect condition.

This could also be used to melt every single dwarf in the fortress.

Cloning

It follows the same reasoning as the "healing by proxy" script.