diff options
author | Jude Brown <bookofjude@users.sourceforge.net> | 2009-11-14 19:03:54 +1000 |
---|---|---|
committer | Jude Brown <bookofjude@users.sourceforge.net> | 2009-11-14 19:31:11 +1000 |
commit | 550af32eec0e42c1c8e3228221914934d20c3244 (patch) | |
tree | 92172d50f6bdf24a772d5d0374a5f0a257671309 /crawl-ref/source/dungeon.cc | |
parent | a988600392e3046073b4dd8093f7772c19c128d1 (diff) | |
download | crawl-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.cc | 6 |
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); |