summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dungeon.cc
diff options
context:
space:
mode:
authorJude Brown <bookofjude@users.sourceforge.net>2009-11-14 19:03:54 +1000
committerJude Brown <bookofjude@users.sourceforge.net>2009-11-14 19:31:11 +1000
commit550af32eec0e42c1c8e3228221914934d20c3244 (patch)
tree92172d50f6bdf24a772d5d0374a5f0a257671309 /crawl-ref/source/dungeon.cc
parenta988600392e3046073b4dd8093f7772c19c128d1 (diff)
downloadcrawl-ref-550af32eec0e42c1c8e3228221914934d20c3244.tar.gz
crawl-ref-550af32eec0e42c1c8e3228221914934d20c3244.zip
Allow portal vaults to specify fill and border glyph.
Also move dungeon_feature_by_name into terrain.cc, as it does not make sense it being in l_dgngrd.cc. The Lua function "set_border_fill_type(feature)" will replace the default DNGN_ROCK_WALL fill of a portal vault with the specified feature. This could be abused, and should probably only be limited to floor, water and sea, different types of walls, trees and lava; there are no sanity checks for endless traps, statues, stairs, etc. Finally, apply this to the island Trove, giving endless water effect.
Diffstat (limited to 'crawl-ref/source/dungeon.cc')
-rw-r--r--crawl-ref/source/dungeon.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index 7d9f9de8e5..05a924cb8c 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -2620,7 +2620,13 @@ static void _portal_vault_level(int level_number)
vault = random_map_for_tag(level_name, false);
if (vault)
+ {
+ // XXX: This is pretty hackish, I confess.
+ if (vault->border_fill_type != DNGN_ROCK_WALL)
+ _replace_area(0, 0, GXM-1, GYM-1, DNGN_ROCK_WALL, vault->border_fill_type);
+
_ensure_vault_placed( _build_vaults(level_number, vault), true );
+ }
else
{
_plan_main(level_number, 0);