Closed Ilysen closed 1 year ago
Some previous related issues #54237 #61552.
The holes are caused by bash
mapgen function bashing the terrain as you've noted, and the holes are filled up by auto-roofing which runs at the wrong time (on map::load()
, but not on map::shift()
).
Fixing the first issue probably only requires wrangling the decade-old map::bash_ter_furn()
. Fixing the second one properly is quite complicated.
Oh yeah hrm, I guess this is a duplicate. I dug around in the issue tracker beforehand, but I probably missed it. Not sure if I should close this or not, as this one has a lot more information? I guess I'll leave it up to the triage folks
Closing as duplicated.
Describe the bug
See title - the vandalized variants of libraries, as well as the collapsed tower, spawn riddled with holes leading down a z-level. These holes can lead to solid dirt tiles, or down a z-level into stuff like sewers. Once you save and load the game, the open spaces will be replaced by dirt. These can take the place of both floors as well as walls.
Steps to reproduce
Expected behavior
The terrain shouldn't be destroyed at all! If it is, however, it should at least leave foundations and not open space, and at bare minimum should not change upon a save-load.
Screenshots
Here's a looted library shown before and after a save-load.
Versions and configuration
Additional context
This appears to be a consequence of the
bash
def in the library's mapgen. The relevant code uses a bash strength of9999
as well as providing no options or logic to let it skip terrain, meaning that both terrain and furniture are treated equally - with max-strength bashes. This could potentially be fixed by using thedestroyed_furniture
nested mapgen ID, but it wouldn't fix the overall problem caused by the map extra.