diff options
author | Steve Melenchuk <smelenchuk@gmail.com> | 2012-08-05 16:27:46 -0600 |
---|---|---|
committer | Steve Melenchuk <smelenchuk@gmail.com> | 2012-08-05 16:27:46 -0600 |
commit | 1464a7552dfb5807d3900f8c346faf860be30817 (patch) | |
tree | 5c2cc1829c1669e26d1751a8a46c639fef42169c /crawl-ref/source/dgn-swamp.cc | |
parent | b81e4e3bf900b3871ed5409c8e8495e4b8955120 (diff) | |
download | crawl-ref-1464a7552dfb5807d3900f8c346faf860be30817.tar.gz crawl-ref-1464a7552dfb5807d3900f8c346faf860be30817.zip |
Rework process_disconnected_vaults()-related logic for Swamp layouts.
This makes two significant changes:
- The call to process_disconnected_vaults() is deferred until after a
primary vault is connected to the rest of the level (this also saves
an extra call to dgn_place_stone_stairs()).
- process_disconnected_vaults() now refuses to fill in all parts of
vaults, not just parts of vaults designated as opaque - this
distinction meant that transparent vaults were inappropriately getting
filled in. This part of the process_disconnected_vaults() logic is
only being called as part of Swamp layouts.
Without these changes, it was possible for a transparent Swamp rune
vault, even one that could have been connected to the rest of the level,
to get filled in by the process_disconnected_vaults() call. Now, the
vault is connected to the rest of the level before
process_disconnected_vaults() is called, and if it is connected to an
area isolated from stairs, the vault itself remains an isolated area and
triggers a veto later on in the building proces.
Hence, it is now impossible for a disconnected or filled-in rune vault
to be generated in Swamp, and this commit fixes #6039.
Diffstat (limited to 'crawl-ref/source/dgn-swamp.cc')
-rw-r--r-- | crawl-ref/source/dgn-swamp.cc | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/crawl-ref/source/dgn-swamp.cc b/crawl-ref/source/dgn-swamp.cc index 7164443d1c..67ad43a2bb 100644 --- a/crawl-ref/source/dgn-swamp.cc +++ b/crawl-ref/source/dgn-swamp.cc @@ -68,7 +68,4 @@ void dgn_build_swamp_level() dgn_smooth_heights(); _swamp_apply_features(2); env.heightmap.reset(NULL); - - dgn_place_stone_stairs(); - process_disconnected_zones(0, 0, GXM - 1, GYM - 1, true, DNGN_MANGROVE); } |