summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
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;