Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2] 3 4 ... 12

Author Topic: Biome Manipulator, a world gen/pre embark biome region manipulation tool  (Read 55035 times)

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile

Tried it out.
It did keep a swamp evil in worldgen, but lost link to evil weather after saving generated world. However, setting it pre-embark worked both before save and after reload.

For a forest that already had evil weather, the change remained post-worldgen however.

(Also populated cave creatures. Though with region-pops check, it didn't seem to add anyone.)

PatrikLundell

  • Bay Watcher
    • View Profile

Thanks for the testing.

I assume you changed the swamp to evil and hooked up evil weather to it during world gen, and it didn't stick?

I'm not sure what you did with the forest, though? If it already had evil weather it should be evil, so how did you change it (from what to what?
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile

Changed from 49 to 79 during worldgen, and that stuck to at least pre-embark (didn't embark to test yet, though I'll be changing that since I found the raws and found my swamp pick doesn't have everlasting blood cough while also knocking out for longer for weapon coating).

Also, if I understood last page right you failed to get reanimation to apply. I succeeded with that same swamp pre-embark:


First found a naturally reanimating region (evil ocean with goblin blood), then changed interaction to that.

PatrikLundell

  • Bay Watcher
    • View Profile

No, the part that didn't stick was changing region parameters. The evil weathers are always set to apply to evil biomes only, allowing savage without disallowing non savage, and allowing all biome types. Flipping those flags didn't take (or, more correctly, flipping the first one didn't, so I didn't bother to try the others). We already know the evil/good flags don't have any effect as DF presumably performs the check statically on assignment to a region, so manual assignment to a region bypasses that check. The savagery is on a per world tile basis, though, so it might have had some effect, had it stuck.

The best way to find a "suitable" evil weather is probably to look at the crude description part for each of them. Reanimation is described as such, while husking presumably is indicated by a range of (4?) changes starting with blinking.
If you want to know in detail what it does you'd have to decode the raw entry, but at least that ought to allow you to shorten the list. Defining a large number of evil weathers should give you a larger selection (and more to look up).
The current implementation searches for interactions whose names start with "REGIONAL", so if you were to define your own raw it ought to show up on the list if having a matching name (e.g. "REGIONAL_FF_1"). I guess it would have been a better implementation to search for the interaction type that's regional, though.

Anyway, found the bug causing the second evil weather assignment to fail to take (the acceptance text box actually said replace when it should have been a new assignment, but who reads those: I certainly didn't...). Not sure why it worked for one, but a variable assignment to an incorrect "default" value was to blame for it not working for the subsequent ones.
Updated to 0.9 2017-07-10.

Edit:
Update to 0.10 2017-07-10 by replacing string matching with source interaction type for region interaction identification, negating the need for specific naming indicated above.
« Last Edit: July 10, 2017, 04:14:44 am by PatrikLundell »
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile

Shortening the list is very helpful indeed. Just the name alone culls a supermajority and helps with finding the interaction raws.

And well, reanimation does have the issue that all are interactions are marked as reanimation in this script, though all do not reanimate in tests.

PatrikLundell

  • Bay Watcher
    • View Profile

The script simply prints the name of the derived type DF uses for that interaction target (or was it source?), but I have a rather limited understanding of what's inside the type and virtually no knowledge of what the effects of that are. As far as I understand, reanimation uses a "corpse" as the target, and there are ways to restrict which of those the interaction affects (I think it would be possible to reanimate only dwarves, or everything but dwarves, for instance). My limited poking has given me the impression that DF's reanimation doesn't make use of those, but rather targets everything (in a similar fashion that evil weather always is evil only and affects all biomes and all savageries). It seems reanimation basically contains modification of the same things that husking does, but for a different target (and I assume the attribute enhancement factors are different, although I haven't checked).
If someone can tell me how to decode interactions into something sensible in a reasonably simple fashion I expect it wouldn't be hard for me to enhance the "description".
Just being able to distinguish "dud" reanimation (if that's what it is, rather than working in an unexpected way) from working reanimation would be useful. I guess that would involve comparing the description of a dud one to a working one.
It can also be noted that there's an interval parameter I've removed from display. It seems to always be 0, which is supposed to mean weekly, with a probable alternative value for monthly and possible existence of values for daily and yearly. However, after having had to wait for several months to get the expected blood rain I decided to remove the display of a potentially misleading value that didn't seem to vary. Thus, reanimation "not working" might be the RNG just not deciding to activate the effect within a reasonable testing time.
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile

Intervals...On the 1x1 I run, I've seen up to - I think 4 or 5 - years for an evil cloud to finally come, though I typically get it within 2. Meanwhile, Sethatos says he gets evil husking clouds about once a month, which even multiplied by embark size is fair bit higher rate. That said, that could be explained by partial vs full evil biome, so I am unwilling to call it.

Reanimation occasionally occurs inside a week, but it usually takes several, a check which is pretty quick to run at 4000 FPS. I don't think I've seen one take several months. If RNG is at play for other ones that don't reanimate in years, it's bugged to always fail reanimation counter for some seed-regional interaction combinations.

If you're asking what's inside cloud type, I managed to find syndrome data with gui/gm-editor on world raws, though the nested behaviour is annoying and I had to seek per name.
(For clouds, the severity/probability of debuffs, as far as I've seen, is always 100, start 0 and peak 200 - lot faster than the FB syndromes I checked - but ending varies from 1500-4000 (estimate) to uncommon -1 (i.e. never ends), and while I didn't look into creature body plans in my insufficient experience if the effect could be for touched part instead of whole body only it is so. This means there's only 1 number that ever changes for each debuff.)

Checking active syndromes on reanimated creatures suggests they use the same +30% str, +1000/+200% toughness as husking, but how much the creature <body size> increases varies within (between 2 and 3%)*(1 to 3). Though that might be somewhat pre-syndrome, hopefully (for meat yields)? Haven't checked weight increase.

PatrikLundell

  • Bay Watcher
    • View Profile

The interaction info I think would be of most interest is the effects. Severity is probably also of interest. Duration is probably only of interest if it's permanent.

If there is a way to detect that a listed effect (e.g. reanimation) actually isn't going to happen then that would be of interest as well.

I'm not sure exact husking/reanimation stat/size changes are of much display interest. If someone is sufficiently interested about these details they're probably going to try to make their own interactions, and then they ought to know what they created.

Edit:
Updated to 0.11 2017-07-15. The evil weather info is now an info dump of a range of effects with probabilities, start and stop times, etc. This info is probably useless to most people, though. Also note that the info dump is far from complete: I've ignored most tables, for instance, so stat changes on thralling are not printed, for instance. In my "testing" I encountered one evil rain that actually didn't have any effects associated with it, and gui/gm-editor verified that this was actually the case, the effects vector of the evil rain material was empty, so in effect it was disgusting (and presumably caravan bolt inducing), but without any actual effects (much like blood rain).
« Last Edit: July 15, 2017, 06:25:13 am by PatrikLundell »
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile

Yeah, I have one of those no-effect clouds too.

*yoinks dl*

Certainly finds the permanent effects - I think perhaps the most cruel one I found might be permanent pain, though permanent paralysis in a vamp fort is kind of cool too - and, hey, clean effect description. Nice. I can now find some effects with non-local effects



where local would be possible:



(Or hey, even targeting specific tissues, no matter where it hits: )

Though with probability, severity, start always having same 100/100/0 values (and peak always 200 for debuffs, afaik).
(Alternatively, could also use darker shading for those, I suppose. Anyway, adding checks to only list mine for non-default values.)

Looking like this after changes

None of my 95 regional interactions showed non-standard severities/starts/probabilities/peaks (something that would have taken so long to find out with just gui/gm-editor, thx), so they seem pretty standard. Then again, there was only 1 interaction that targeted gut in particular, so pretty low sample size still.

EDIT:
Huh, found just that it crashes
Spoiler (click to show/hide)

When ran on any biome of this gen. (Which has no evil clouds in addition to no evil rains, but the one I've been testing on has no evil rains (beyond blood ones) anyway.)
« Last Edit: July 15, 2017, 07:34:39 pm by Fleeting Frames »
Logged

PatrikLundell

  • Bay Watcher
    • View Profile

Thanks for the error report. It turns out I'd changed the parameter profile of a function but missed to update the call in cut-and-pasted script, so a no pole world passed in -1 (no pole) as the region id... I wonder why it has seemed to work at all...
(And this wouldn't have happened if I was using a compiler for a real programming language rather than parsed scripts [or high level assemby]: the compiler would have caught the erroneous profile).

I've suppressed Probability when 100% as I agree that seems to always be the case. However, I've got variations for Start, Peak, and Severity (the latter only 100% and 10%), so I keep those.
E.g. "Effect type: FEVER Start: 59 Peak: 728 End: 3946 Severity: 10"
It seems to basically be two cases, either 0/200/varying/100 or varying/varying/varying/10, and it's not tied to the type, as I've had Dizziness as both, for instance. If you were to suppress the 0/200/100 you'd need to make a statement somewhere that those are the values when suppressed if spread further than private use.

Released 0.12 2017-07-16.
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile

Quick fix! I suppose it didn't care that biome is tropical or not, merely that it matches?

Quote
"Effect type: FEVER Start: 59 Peak: 728 End: 3946 Severity: 10"

This, I've seen something like this - but only on FB syndromes so far. If expanding on non-cloud effects, ...hm. Can't find any non-100% probability syndromes on vanilla creatures, though they could be present on masterwork. (And you're right that suppression should be stated when used - hence the colouring idea; this is just to speed up looking through potentially hundreds of syndromes.)

Checking on a quick world with 99 evil rains and no clouds or regional interactions...Hm, interesting:

biomemanipulator doesn't find any syndromes at all. Frankly, as I don't see 95 clouds in 95-reanimation & 95 cloud world, merely 95 reanimation that may or may not have clouds attached, I suspect it only shows regional syndromes with reanimation.

However...I dare not call it an error: Interestingly, df doesn't give me evil rain, not even blood rain, in evil regions when I have no reanimation in 43.03; even when embarking across 5 different small evil biomes/regions, nor in 1 giant glacier, over a year and half/several months.

They're present, both in manipulator


(modded v11 here, also removed effect name for spaces - though it seems one of their severities is still too long.)

and on embark within 10 days



Using gui/gm-editor, it does find those rain syndromes in worlds without regional interactions (that indeed have non-cloud-standard starts, peaks, severity and ends.)


(severity being 10 here)

PatrikLundell

  • Bay Watcher
    • View Profile

What do you mean "too long"? The world switched from 40 character to 80 character line displays during the 80:ies ;)
Removing effects names seems like an improvement.

If you can provide me with the world what contains interactions with undisplayed syndromes, preferably with the indices or names of the interactions I should be able to look into it.
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile

Stupid giant tilesets. Biolinum is nice 14x14. but not compact for sure. Phoebus' 16x16 would be bigger. I've previously used Truetype fonts, but that is not perfect.

Just a world without regional interactions, but with other evil effects - the evil rain syndromes are right after last animal syndromes, I think that's around 170ish? Params for the 18-month one in particular (map) are nothing special (also had 1 cloud - no matter):
Spoiler (click to show/hide)

I think them being unused is vanilla df issue, tho.
« Last Edit: July 16, 2017, 05:21:58 pm by Fleeting Frames »
Logged

PatrikLundell

  • Bay Watcher
    • View Profile

Well, for size there is also the zoom feature...

Ah, yes, the manipulator only displays region interactions and their syndromes, not stuff DF generates but doesn't use in region interactions: it's not intended as a tool for "build your own interaction" construction (and I suspect those wouldn't be saved anyway).

And I stumbled upon a newly mapped DFHack field (new in r2): df.global.world.world_data.regions [<x>].biome_tile_counts.
I'll leave the script as is for the time being, though, as updating it would make it break with older DFHack versions for no real benefit. If/when fields I've identified and used make it in I'll update, as the script will break at that time anyway.

Edit:
Updated to 0.13 2017-07-17. Fixed an optimization bug, implemented DFHack release dependent parsing for the field above, and modified the evil weather effects display a bit (but no new functionality).
« Last Edit: July 17, 2017, 07:02:09 am by PatrikLundell »
Logged

Rekov

  • Bay Watcher
  • Elf Aficionado
    • View Profile

I just wanna say, I love this mod. I love evil embarks but I can't stand evil rain. It's just so ugly looking on the map.
Logged
Pages: 1 [2] 3 4 ... 12