summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.cc
diff options
context:
space:
mode:
authorDarshan Shaligram <dshaligram@users.sourceforge.net>2009-12-28 06:05:48 +0530
committerDarshan Shaligram <dshaligram@users.sourceforge.net>2009-12-28 06:10:50 +0530
commit4e6820b10db6edf0d821e785df046bcbcfa165e1 (patch)
tree56b21b8a369452ba3df0fdd4fae5d26368992735 /crawl-ref/source/dungeon.cc
parent64f064aa956cc616ea1f53dda9cad1804ce1ca22 (diff)
downloadcrawl-ref-4e6820b10db6edf0d821e785df046bcbcfa165e1.tar.gz
crawl-ref-4e6820b10db6edf0d821e785df046bcbcfa165e1.zip
Make _build_vaults check for collisions by default, should fix minivaults appearing in encompass vaults.
Diffstat (limited to 'crawl-ref/source/dungeon.cc')
-rw-r--r--crawl-ref/source/dungeon.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 61b09b2717..37ecb28ef6 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -202,7 +202,7 @@ static bool _build_secondary_vault(int level_number, const map_def *vault,
static bool _build_vaults(int level_number,
const map_def *vault,
int rune_subst = -1, bool build_only = false,
- bool check_collisions = false,
+ bool check_collisions = true,
bool make_no_exits = false,
const coord_def &where = coord_def(-1, -1));
static void _vault_grid(vault_placement &,
@@ -823,7 +823,17 @@ void dgn_register_place(const vault_placement &place, bool register_vault)
dgn_register_vault(place.map);
if (!place.map.has_tag("layout"))
- _mask_vault(place, MMT_VAULT | MMT_NO_DOOR);
+ {
+ if (place.map.orient == MAP_ENCOMPASS)
+ {
+ for (rectangle_iterator ri(0); ri; ++ri)
+ dgn_Map_Mask(*ri) |= MMT_VAULT | MMT_NO_DOOR;
+ }
+ else
+ {
+ _mask_vault(place, MMT_VAULT | MMT_NO_DOOR);
+ }
+ }
if (place.map.has_tag("no_monster_gen"))
_mask_vault(place, MMT_NO_MONS);