Lyle-Tafoya / Omega

My C++ fork of the 1987 roguelike "Omega"
GNU General Public License v3.0
29 stars 3 forks source link

Dungeon levels can generate rooms disconnected from the rest of the map #25

Open Lyle-Tafoya opened 9 months ago

Lyle-Tafoya commented 9 months ago

I fixed an infinite loop during level generation with 8a31294. However, this was only a partial fix. While it can no longer get stuck in an infinite loop, it is now possible for it to generate a dungeon in which there is no corridor connecting one or more rooms to the rest of the dungeon. On some occasions, this may leave the player with no obvious way to progress through the dungeon without tunneling at random to find the room. Better than encountering an infinite loop when going down a staircase, but this should still receive a proper fix eventually. The room_level function should probably be reworked at some point to deal with this. As far as I know, other level types are not effected by this issue.