diff options
author | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2006-12-08 16:22:56 +0000 |
---|---|---|
committer | dshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573> | 2006-12-08 16:22:56 +0000 |
commit | fd80ba19d0a9cf334b3dcd34098db1bf9843477f (patch) | |
tree | 53a307f34258d2ea7e0328053759c392c1042eab /crawl-ref/source | |
parent | 6ff4c68be14a35ea6a2499228762d6bb2677dff8 (diff) | |
download | crawl-ref-fd80ba19d0a9cf334b3dcd34098db1bf9843477f.tar.gz crawl-ref-fd80ba19d0a9cf334b3dcd34098db1bf9843477f.zip |
Be more persistent about connecting a vault to the rest of the level.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@600 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source')
-rw-r--r-- | crawl-ref/source/dungeon.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc index 2478264aa9..49e0e6f90a 100644 --- a/crawl-ref/source/dungeon.cc +++ b/crawl-ref/source/dungeon.cc @@ -5393,10 +5393,11 @@ static void build_rooms(const dgn_region_list &excluded, if (connections.size()) { const coord_def c = connections[0]; - connections.erase( connections.begin() ); - join_the_dots(c, myroom.random_edge_point(), excluded); + if (join_the_dots(c, myroom.random_edge_point(), excluded)) + connections.erase( connections.begin() ); } - else if (exclusive) + + if (i > 0 && exclusive) { const coord_def end = myroom.end(); bool found_collision = false; @@ -5424,7 +5425,7 @@ static void build_rooms(const dgn_region_list &excluded, replace_area(myroom.pos.x, myroom.pos.y, end.x, end.y, DNGN_ROCK_WALL, DNGN_FLOOR); - if (which_room > 0) // && !exclusive2 + if (which_room > 0) { join_the_dots( myroom.random_edge_point(), |