summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/maps.cc
diff options
context:
space:
mode:
authorVsevolod Kozlov <zaba@wybt.net>2014-06-28 20:44:27 +0400
committerVsevolod Kozlov <zaba@wybt.net>2014-06-28 20:44:27 +0400
commitba5879c987429072e8d033177405d8c02346d04b (patch)
treeffd570443fe9b9bca26ded6baa7c4946a398b7bc /crawl-ref/source/maps.cc
parent80c259224f81cda27f762bbf5354e7e2256efa14 (diff)
downloadcrawl-ref-ba5879c987429072e8d033177405d8c02346d04b.tar.gz
crawl-ref-ba5879c987429072e8d033177405d8c02346d04b.zip
Only let can_overwrite vaults overwrite floor.
Overwriting other passable terrain can disrupt vault layout, and overwriting non-passable terrain creates bugs and oddnesses.
Diffstat (limited to 'crawl-ref/source/maps.cc')
-rw-r--r--crawl-ref/source/maps.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/crawl-ref/source/maps.cc b/crawl-ref/source/maps.cc
index ee24c43c35..dcdf09a5b4 100644
--- a/crawl-ref/source/maps.cc
+++ b/crawl-ref/source/maps.cc
@@ -444,11 +444,11 @@ static bool _map_safe_vault_place(const map_def &map,
return false;
}
}
- else if (env.pgrid(cp) & FPROP_NO_TELE_INTO)
+ else if (grd(cp) != DNGN_FLOOR || env.pgrid(cp) & FPROP_NO_TELE_INTO)
{
- // Don't place can_overwrite vaults on squares that can't be
- // teleported into, because it's used for things that are
- // expected to be connected.
+ // Don't place can_overwrite vaults on anything but floor or on
+ // squares that can't be teleported into, because can_overwrite
+ // is used for things that are expected to be connected.
return false;
}