diff options
author | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2009-12-28 06:05:48 +0530 |
---|---|---|
committer | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2009-12-28 06:10:50 +0530 |
commit | 4e6820b10db6edf0d821e785df046bcbcfa165e1 (patch) | |
tree | 56b21b8a369452ba3df0fdd4fae5d26368992735 /crawl-ref/source/dungeon.cc | |
parent | 64f064aa956cc616ea1f53dda9cad1804ce1ca22 (diff) | |
download | crawl-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.cc | 14 |
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); |