I'm on the Bob's upkeep team, and I've been working on updating Bob's Enemies for Factorio 2.1, but there's been some odd behaviors with enemy base spawning that I can't figure out. When I don't have RSO loaded, everything works perfectly. 100% of enemy structures that are generated on chunks or by base expansion are replaced by the Bob's Enemies scripts. But when RSO is loaded, for some reason extra enemy turrets and spawners keep appearing that BE doesn't catch. It's very odd, because BE should be set up to force RSO's settings to only do vanilla enemy generation.
And it's causing some significant difficulties, because the way things are, Behemoth worms with massively buffed stats end up spawning way too early and way too close to the center of the map. Everything seemed to work fine in 2.0, so my guess is that this somehow has something to do with the changes to enemy spawning in 2.1. Most likely, the build_base_evolution_requirement parameter was covering up the issue, and now that it's gone, things have become problematic.
I see that this section here:
local function UseRSOEnemySpawning()
return settings.global["rso-biter-generation"].value or script.active_mods["bobenemies"]
end
appears to have the effect of always triggering RSO enemy generation when BE is active. When I comment out that second half of the line or change it to (not script.active_mods["bobenemies"]), the issue seems to be resolved. Is this an oversight?
I also notice that going into config.nauvis["enemy-base"] (or using a separate config file for bobenemies) and erasing the contents of the "bases" and "sub_spawns" tables will also prevent the extra spawns. So there are a couple different solutions here.
I'm really hoping you can help me out or provide some insight on this. While I have come up with a fix that works within BE, it involves doing a second pass of replacing vanilla entities with BE ones, which is not great. It's too performance heavy and has some odd results.
As always, thank you for your time in advance.