summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-01 04:38:06 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-01-01 04:38:06 +0000
commit86dc398a7beae94fc5a6be15143a6a50d500c916 (patch)
tree438c5f5124a0bfefbfad137ff83f22c3da489b4d /crawl-ref
parent595e6714fd6863571ca6b900685782f2ab27c397 (diff)
downloadcrawl-ref-86dc398a7beae94fc5a6be15143a6a50d500c916.tar.gz
crawl-ref-86dc398a7beae94fc5a6be15143a6a50d500c916.zip
Bug #2025033: To prevent a vault's rock walls from being changed to match the
walls of the rest of the level in the Vaults, the Crypt and in Dis you can use the tag no_wall_fixup git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8073 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/docs/level_design.txt4
-rw-r--r--crawl-ref/source/dat/levdes.vim2
-rw-r--r--crawl-ref/source/dungeon.cc5
-rw-r--r--crawl-ref/source/dungeon.h3
4 files changed, 11 insertions, 3 deletions
diff --git a/crawl-ref/docs/level_design.txt b/crawl-ref/docs/level_design.txt
index 262e52f173..20e8cb1c26 100644
--- a/crawl-ref/docs/level_design.txt
+++ b/crawl-ref/docs/level_design.txt
@@ -420,6 +420,10 @@ TAGS: Tags go an a TAGS: line and are space-separated. You can have several
Can be applied only to particular symbols with KMASK.
* "no_pool_fixup": prevents water squares next to land from being
randomly converted from deep water (the default) to shallow.
+ * "no_wall_fixup": In Dis, the Vaults and the Crypt a vault's
+ rock walls will be changed to be the same as the wall type of
+ the rest of the level. If you don't want that to happen then
+ use this tag.
* "uniq_BAR": (uniq_ with any suffix) specifies that only one of
the vaults with this tag can be used in a game.
* "luniq": specifies that this vault can be used only once on a
diff --git a/crawl-ref/source/dat/levdes.vim b/crawl-ref/source/dat/levdes.vim
index 7a72d236a2..c64caf7580 100644
--- a/crawl-ref/source/dat/levdes.vim
+++ b/crawl-ref/source/dat/levdes.vim
@@ -55,7 +55,7 @@ syn keyword desDeclarator NAME: ORIENT: DEPTH: PLACE: MONS: FLAGS: default-depth
syn keyword desOrientation encompass north south east west northeast northwest southeast southwest float
syn keyword desOrientation no_hmirror no_vmirror no_rotate
syn keyword desOrientation entry pan lab bazaar allow_dup dummy mini_float minotaur
-syn keyword desOrientation no_pool_fixup no_monster_gen generate_awake no_item_gen no_tele_control not_mappable no_magic_map no_secret_doors generate_loot
+syn keyword desOrientation no_pool_fixup no_wall_fixup no_monster_gen generate_awake no_item_gen no_tele_control not_mappable no_magic_map no_secret_doors generate_loot
syn keyword desOrientation Temple Orc Elf Lair Swamp Shoal Slime Snake Hive Vault Blade Crypt Tomb Hell Dis Geh Coc Tar
syn keyword desOrientation D: contained
diff --git a/crawl-ref/source/dungeon.cc b/crawl-ref/source/dungeon.cc
index b16ec0e371..b9eaf73704 100644
--- a/crawl-ref/source/dungeon.cc
+++ b/crawl-ref/source/dungeon.cc
@@ -774,6 +774,9 @@ void dgn_register_place(const vault_placement &place, bool register_vault)
if (place.map.has_tag("no_pool_fixup"))
_mask_vault(place, MMT_NO_POOL);
+ 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);
@@ -1076,7 +1079,7 @@ static void _fixup_walls()
vault_wall = DNGN_STONE_WALL;
}
- _replace_area(0,0,GXM-1,GYM-1,DNGN_ROCK_WALL,vault_wall);
+ _replace_area(0,0,GXM-1,GYM-1,DNGN_ROCK_WALL,vault_wall,MMT_NO_WALL);
}
}
diff --git a/crawl-ref/source/dungeon.h b/crawl-ref/source/dungeon.h
index 04c84cdfd3..02d5c05fac 100644
--- a/crawl-ref/source/dungeon.h
+++ b/crawl-ref/source/dungeon.h
@@ -49,7 +49,8 @@ enum map_mask_type
MMT_NO_MONS = 0x04, // Random monsters should not be placed here.
MMT_NO_POOL = 0x08, // Pool fixup should not be applied here.
MMT_NO_DOOR = 0x10, // No secret-doorisation.
- MMT_OPAQUE = 0x20 // Vault may impede connectivity.
+ MMT_NO_WALL = 0x20, // Wall fixup should not be applied here.
+ MMT_OPAQUE = 0x40 // Vault may impede connectivity.
};
class dgn_region;