This tool allows you to manipulate region biomes during world gen and pre embark:
- Change the Evilness of the biome (all world tiles included in the take on the entered value). Evil/Good plants and creatures no longer supported are removed from the population list. Evil weather is likewise removed if an evil region ceases to be evil.
- Add/remove plants and creatures on a per region basis. A toggle allows you to add things that doesn't belong (such as titans...) with largely unknown effects. Use at your own risk.
- Edit population counts for creatures.
- Flora/Fauna-diversity orders: set all regions to contain all plants and creatures respectively supported by each region. The toggle mentioned above does not affect these orders.
- The flora/fauna manipulations can be performed both on surface, cavern, and magma sea biome regions.
- Allows changing of cavern water, openness min/max, and passage density min/max parameters. Changing the water one
can change the cavern biome type (Subterranean Chasm <-> Subterranean Water).
- Allows adding/removing/replacement of evil weather to regions regardless of actual region evilness, but no weather editing.
- Allows modifications of Geo Biomes, i.e. which minerals are present at different world tiles.
- Allows manipulation of world tile parameters, moving world tiles between regions, and creation of new regions.
- Allows manipulation of rivers, although their spaghetti course makes it a pain to do so.
The latest biomemanipulator.lua version can be downloaded from
https://www.dropbox.com/s/bc7gxkmkk3mz1t6/biomemanipulator.lua?dl=0It can also be found here:
https://github.com/PatrikLundell/scripts/blob/own_scripts/biomemanipulator.lua (Note: it's a web page with the script on it, not the script itself, so don't try to save the page as a lua file).
To "install", copy the downloaded file into <DF>\hack\scripts and invoke it from the DFHack console with the command "biomemanipulator".
The author intends to update this first post without explicit change notes to reflect any changes in functionality. A change log should also be updated.
Change log:
0.44 2022-01-23: Dealt with unmapped creature_interaction_effect_type values.
0.43 2021-10-15: Fixed bug when veins occur in the first geo layer.
0.42 2021-08-15: Adapted to the identification of the plant_raw index field. Should be backwards compatible.
0.40 2020-03-04: Adapted to changed creature flag names. Should be backwards compatible.
0.39 2020-01-13: Fixed crashing when used with modded interactions.
0.38 2020-01-12: Updated to handle corrected field name when used during world gen.
0.37 2019-12-12: Fixed numerous bugs affecting biome generation.
0.36 2018-07-29: Fixed incorrect widget usage, causing text matching to fail.
0.35 2018-07-29: Fixed bug in the geo morph command that caused it to do nothing.
0.34 2018-01-15: Adapted to naming of the dead_percentage field.
0.33 2018-01-11: Corrected bug in evil weather reanimation detection causing reanimation to be reported where it isn't.
0.32 2017-12-27: Added new Geo Manipulation commands to assign all legal minerals to a layer, geo biome, or all geo biomes.
0.31 2017-12-25: Added beta and gamma DFHack version detection.
0.30 2017-12-22: Fixed geo biome panning.
0.29 2017-12-19: Fixed forwards compatibility bug in setting of whole region evilness.
0.28 2017-12-10: Modified new region creation to support 0.43.03. Fixed bug causing that to probably fail in 0.44.02.
0.27 2017-12-10: Added mostly untested support for 0.43.03, but river manipulation couldn't make it.
0.26 2017-12-09: Added printing help screens to the DFHack window to work around tile set illegibility.
0.25 2017-12-08: Adapted to DFHack changes in 0.44.02. It should be backwards compatible, though.
0.24 2017-11-25: Adapted to updated DFHack river structure. Remains compatible with the older DFHack version.
0.23 2017-11-24: Fixed region wide evilness changes and new region creation to set a region evilness field, allowing changes
during world gen to affect civ placement.
0.22 2017-11-18: Fixed display bug causing river sinks to be marked as disconnected erroneously. Also, DF doesn't seem to
recognize new rivers for unknown reasons, so avoid using that function.
0.21 2017-11-13: Added manipulation of rivers, added resizing of "maps", added fast movement keys.
0.20 2017-11-07: Added new page to allow manipulation of world tile parameters, shifting world tile region affiliation, and
creation of new regions from world tiles.
0.19 2017-09-24: Corrected geo manipulation "morph" logic that crashed on DF 64 bit Windows.
0.18 2017-09-10: Undone 0.17 as that was due do an incorrect understanding and updated the help text to describe the
current understanding of how the Cavern Water parameter works.
0.17 2017-09-08: Changed Cavern Water parameter to Cavern Muddiness due to better understanding of the parameter.
0.16 2017-09-03: Fixed display issue where "maps" are painted on top of the frame.
0.15 2017-07-30:
- No visible changes. It turned out I'd completely misunderstood the 'r' and 'b' parameters for "frames" in the API. Changed to use the 'w' and 'h' parameters instead, as well as correcting the internal "Grid" widget.
0.14 2017-07-25:
- Added Geo Biome manipulation.
- Restructured the help into several pages, as my rambling didn't fit on one...
0.13 2017-07-17:
- Fixed bug causing plant list not to be populated. It was caused by performance optimization that was done incorrectly.
- Shuffled the evil weather effects a bit to compress it while making it clearer (hopefully). No functionality change though.
- Implemented variant execution depending on whether the DFHack version is r2 or newer to use a newly identified field. More of an exercise than of any measurable benefit, though.
0.12 2017-07-16:
- Fixed biome profile calculation. The wrong parameter profile was passed in, so it's surprising that part seemed to work at all.
- Suppressed output of Evil Weather Probability when 100% (which seems to be always for generated weather).
0.11 2017-07-15:
- Expanded the evil weather info into an info dump (far from complete, though).
0.10 2017-07-10:
- Change region interaction identification from using string matching to using interaction source type = REGION. Only has an effect if you are creating your own region interaction raws.
0.9 2017-07-10:
- Fixed evil weather manipulation bug. I was able to assign the first one, but the second one didn't take. An incorrectly assigned variable caused the subsequent weather settings to be considered replacements (not sure why the first one worked at all...).
0.8 2017-07-06:
- Added addition/removal/replacement of evil weather for all regions. No weather editing is provided, as changes aren't saved. A
crude indication of what the existing weather effects are is provided, however.
0.7 2017-07-05:
- Fixed design flaw casing it to fail to work with a reduced set of caverns. As I was in the middle of implementing some minor region interaction manipulation it's possible to bring up a partially implemented page on which you can do nothing (but nor break anything, I hope).
0.6 2017-06-30:
- Removed the minor hurdles to run the script during world gen. Only tested to a limited extent, though.
- Removed undocumented ability to pass a region parameter on startup. It will now start on region 0's first tile (0, 0) most probably) if started during world gen and at the current world tile if started pre embark (as before).
- Fixed an inevitable performance improvement bug causing animal/plant counts not to be updated on movement.
0.5 2017-06-29:
- Improved performance by not regenerating unchanged information all the time.
0.4 2017-06-29:
- Added cavern parameter editing.
0.3 2017-06-29:
- Replaced hotkeys for "map" display selection in favor of <TAB>/shift-<TAB> cycling
- Added an additional dimension by allowing manipulation of underground regions (the three caverns and the Magma Sea. HFS has been skipped intentionally [and is boring from this perspective anyway]).
0.2 2017-06-28:
- Added support for changing Evilness and Savagery of individual world tiles.
- Corrected initial panning bug, where the "map" didn't "center" on the selected world tile at startup.
0.1 2017-06-26: First version