diff options
author | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2009-12-30 20:43:40 +0530 |
---|---|---|
committer | Darshan Shaligram <dshaligram@users.sourceforge.net> | 2009-12-30 20:45:17 +0530 |
commit | 0de7915012693aa9f2b690e0ec581060eb10e51e (patch) | |
tree | f30e22f28ccec14d1c25f6d981b058a47374187c /crawl-ref/source/dungeon.cc | |
parent | c32e17b7b63248c74d558f7e2082f5afe468f92a (diff) | |
download | crawl-ref-0de7915012693aa9f2b690e0ec581060eb10e51e.tar.gz crawl-ref-0de7915012693aa9f2b690e0ec581060eb10e51e.zip |
[Mantis 286] Fix broken level connectivity sanity checks when a layout is chosen (MMT_OPAQUE should not be set for layouts).
Diffstat (limited to 'crawl-ref/source/dungeon.cc')
-rw-r--r-- | crawl-ref/source/dungeon.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc index cac0b160af..cf15bb7179 100644 --- a/crawl-ref/source/dungeon.cc +++ b/crawl-ref/source/dungeon.cc @@ -310,7 +310,7 @@ bool builder(int level_number, int level_type) unwind_bool levelgen(Generating_Level, true); // N tries to build the level, after which we bail with a capital B. - int tries = 20; + int tries = 50; while (tries-- > 0) { #ifdef DEBUG_DIAGNOSTICS @@ -846,6 +846,9 @@ void dgn_register_place(const vault_placement &place, bool register_vault) { _mask_vault(place, MMT_VAULT | MMT_NO_DOOR); } + + if (!place.map.has_tag("transparent")) + _mask_vault(place, MMT_OPAQUE); } if (place.map.has_tag("no_monster_gen")) @@ -860,9 +863,6 @@ void dgn_register_place(const vault_placement &place, bool register_vault) if (place.map.has_tag("no_wall_fixup")) _mask_vault(place, MMT_NO_WALL); - if (!place.map.has_tag("transparent")) - _mask_vault(place, MMT_OPAQUE); - // Now do per-square by-symbol masking. for (int y = place.pos.y + place.size.y - 1; y >= place.pos.y; --y) for (int x = place.pos.x + place.size.x - 1; x >= place.pos.x; --x) |