Looking for a feature enhancement to this tool, here's the use case, briefly, with more details after:
- Dynamic population of a list of REGIONAL_ effects that can be selected for filters
- Application of these filters shown on the world map, same as the filters for flux, sand, biome, metal, and so on.
The goal of the change would be to allow players to find which REGIONAL_ interactions exist on what tiles.
Currently, effects such as blood rain, thralling, and re-animation are covered. This would be an additional feature, but not quite so specific or static.
In advanced worldgen, when "Number of Regional Interaction Types" is set to a value (value of 10 shown in the spoiler), this number of REGIONAL_ values is created in: df.global.world.raws.interactions
[lua]# for x=0,#df.global.world.raws.interactions-1 do print(df.global.world.raws.interactions[x].name) end
CLEANING
BP_BUMP
PET_ANIMAL
MATERIAL_EMISSION
MATERIAL_EMISSION_WITH_HIDE_EFFECT
UNDERGROUND_SPECIAL
REGIONAL_1
REGIONAL_2
REGIONAL_3
REGIONAL_4
REGIONAL_5
REGIONAL_6
REGIONAL_7
REGIONAL_8
REGIONAL_9
REGIONAL_10
If this list of REGIONAL_ values could be enumerated in a select-able list for embark filtering, this would allow players considerable flexibility in selecting which type of unique Regional Interaction they wanted to embark on.
It doesn't particularly matter where the list is enumerated in the UI. It could go somewhere between Blood Rain and Reanimation in the list, perhaps with the heading/title: Interactions or Regional Interactions.
As a bonus, if, when traversing the list (similar to biome manipulator) it also showed the features of each Regional Interaction, then an informed decision could be made by the player regarding which one they wanted. These REGIONAL_ values vary randomly by world, and are procedurally generated.
I
think all the lists, arrays, etc and locations of them are known, and all the relevant code already exists in either survey.cpp or biomemanipulator.lua, currently.
Any questions for clarification, happy to oblige.