##############################################################################
# mini_features.des: This is the place for minivaults without monsters.
#           So all vaults in this file should have neiter ORIENT nor MONS or
#           KMONS lines. Exceptions are made for vaults which generally have
#           no monsters or are supposed to look as if they had no monsters.
#
#           Vaults with ORIENT lines are stored in float.des or large.des.
#           Minivaults with monsters go to mini_monsters.des.
#           Maps for the Vaults branch, including Vaults:$ are in vaults.des.
#
# <<1>> Flavour vaults           (no items, no monsters)
# <<2>> Inaccessible items
# <<3>> Supply closet vaults     (vaults with items and no risk).
# <<4>> Fog generator vaults
# <<5>> Classical minivaults     (don't touch)
#
# Sometimes, a vault will fit in two categories (for examples, it can have both
# hidden and revealed items). Choose at your own discretion.
#
# For serial vaults, read dat/des/serial/serial_guide.txt.
############################################################################

: crawl_require('dlua/vault.lua')

default-depth: D, Depths, Elf, Crypt

############################################################################
#
# <<1>> Flavour vaults
#       no items, no monsters. Statues, glass, fountains, water...
#
############################################################################

NAME:   glass_columns_a
DEPTH:  D, Depths, Elf, Crypt
TAGS:   serial_glass transparent extra allow_dup decor
WEIGHT: 5
MAP
.....
.m.m.
.....
.m.m.
.....
ENDMAP

NAME:   glass_columns_b
DEPTH:  D, Depths, Elf, Crypt
TAGS:   serial_glass transparent extra allow_dup decor
WEIGHT: 3
MAP
.......
.m.m.m.
.......
.m.m.m.
.......
.m.m.m.
.......
ENDMAP

NAME:   glass_columns_c
DEPTH:  D, Depths, Elf, Crypt
TAGS:   serial_glass transparent extra allow_dup decor
WEIGHT: 2
MAP
.........
.m.m.m.m.
.........
.m.m.m.m.
.........
.m.m.m.m.
.........
.m.m.m.m.
.........
ENDMAP

NAME: columned_hall_lemuel
TAGS: transparent extra ruin_lair decor
DEPTH: D, Depths, Lair, Elf, Crypt
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@...........................@
..x..x..x..x..x..x..x..x..x..
@...........................@
..x..x..x..x..x..x..x..x..x..
@...........................@
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# Small statue alley (Eino)
NAME:   small_statue_alley_a
TAGS:   uniq_statue_alley transparent extra decor
DEPTH:  D:10-
WEIGHT: 7
SUBST:  F = G:99 F:1
KMONS:  F = orange crystal statue / obsidian statue / ice statue
MAP
  xxxxxxx
xxxcccccx
...G...G@
.G.F.G.G.
.G.G.F.G.
@G...G...
xcccccxxx
xxxxxxx
ENDMAP

NAME:   small_statue_alley_b
TAGS:   uniq_statue_alley transparent extra decor
DEPTH:  D:3-10
WEIGHT: 2
MAP
  xxxxxxx
xxxcccccx
...G...G@
.G.G.G.G.
.G.G.G.G.
@G...G...
xcccccxxx
xxxxxxx
ENDMAP

NAME:   small_statue_alley_c
TAGS:   uniq_statue_alley transparent extra
DEPTH:  Orc
WEIGHT: 1
MAP
  xxxxxxx
xxxcccccx
...I...I@
.I.I.I.I.
.I.I.I.I.
@I...I...
xcccccxxx
xxxxxxx
ENDMAP

# Small intersection with statues (Eino)
NAME:    small_statue_intersection
DEPTH:   D:2-, Depths:2-, !Depths:$, Elf, Crypt, Lair, Abyss
TAGS:    transparent allow_dup no_hmirror no_vmirror extra
TAGS:    ruin_lair ruin_abyss decor
MAP
xx.xx
xG.Gx
.....
xG.Gx
xx.xx
ENDMAP

NAME:  fungi_pond_lemuel
DEPTH: D:8-, Lair
TAGS:  allow_dup extra transparent
MONS:  fungus
SUBST: 1 = 1.
SUBST: ? : w..
SUBST: ! : ww.
MAP
..1...?.....
....1???1...
..1...??ww1.
....1wwwwww.
.11wwwwwwww.
..www!!wwww.
..ww!!www1..
..1ww!ww11..
1..1w!!w1...
....!!1.....
.1...1!.1...
...........1
ENDMAP

# This is an ancient vault.
NAME:  solitary_fountain
DEPTH: D, Depths, Elf
TAGS:  transparent allow_dup extra decor
SUBST: ?=TUV
KMASK: TU = no_monster_gen
MAP
.....
.....
..?..
.....
.....
ENDMAP

# Another very classical vault.
NAME:  fountainhead
DEPTH: D, Depths, Elf, Crypt
TAGS:  transparent allow_dup extra decor
SUBST: ?=TUV
MAP
..............
..xxxw..wxxx..
.x...xwwx...x.
.x.?.xwwx.?.x.
.x...xwwx...x.
..xxxwwwwxxx..
....wwwwww....
....wwwwww....
..xxxwwwwxxx..
.x...xwwx...x.
.x.?.xwwx.?.x.
.x...xwwx...x.
..xxxw..wxxx..
..............
ENDMAP

NAME:  patterned_corridor
DEPTH: D, Depths, Elf, Lair, Abyss
TAGS:  transparent ruin_abyss ruin_lair decor
SUBST: x : xxccv
MAP
xxxxxxxxxxxxxxxxxxxxxxx
x.......x.......x.....@
x.xxxxx.x.xxxxx.x.xxxxx
x.x...x.x.x...x.x.x...x
x...x.x.x...x.x.x...x.x
xxxxx.x.xxxxx.x.xxxxx.x
@.....x.......x.......x
xxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

NAME:   corexii_leaking_fountain
DEPTH:  D, Depths, Elf, Crypt
TAGS:   transparent no_monster_gen no_item_gen extra decor
NSUBST: W = 5:W / *:.
MAP
.....
.WWW.
.WTW.
.WWW.
.....
ENDMAP

# A random pit of shallow or deep water or lava,
# with a chance of a secret bypass, by Core Xii.
NAME:   corexii_corridor_pit
DEPTH:  D, Depths
TAGS:   no_pool_fixup no_monster_gen no_item_gen transparent
TAGS:   allow_dup extra decor
: if crawl.random2(5) == 0 then
:   subst("l = W")
:   subst("= = x")
:   subst("# = x")
: else
:   if crawl.random2(3) == 0 then
:     subst("l = w")
:     subst("= = +")
:   end
:   if crawl.random2(50) == 0 then
:     subst("= = +")
:     subst("# = .")
:   elseif crawl.random2(5) == 0 then
:     subst("# = .")
:     subst("= = +")
:   else
:     subst("= = x")
:     subst("# = x")
:   end
: end
MAP
xxxxxxx
x#####x
x=xxx=x
@.lll.@
xxxxxxx
ENDMAP

NAME:  nrook_mini_backslash
# "transparent" for connectivity checks, so neither side is isolated.
TAGS:  transparent extra decor
DEPTH: D, Depths, Elf
MAP
..xxx....
....xx....
 ....xx....
  ....xx....
   ....xx....
    ....xx....
     ....xxx...
ENDMAP

NAME:  nrook_mini_vaults
TAGS:  transparent extra decor
DEPTH: D, Depths
MAP
.........
.vvvvvvv.
.v.....v.
.v.....v.
.v.....+.
.v.....v.
.vvvvvvv.
.........
ENDMAP

NAME:  nrook_uturn
TAGS:  transparent extra decor
DEPTH: D, Depths, Elf
MAP
 xxxxxxxxxxxxxxxx
 x..............xx
@+...............xx
 x................xx
 xxxxxxxxxxxxxx....x
 xxxxxxxxxxxxxxx...x
 xxxxxxxxxxxxxx....x
 x................xx
@+...............xx
 x..............xx
 xxxxxxxxxxxxxxxx
ENDMAP

NAME:  nrook_pool_corridor
TAGS:  transparent extra decor
DEPTH: D:5-, Depths
MAP
 cccccccccccccccc
 c..............c
 c.wwwwwwwwwwww.c
@+.wwwwwwwwwwww.+@
 c.wwwwwwwwwwww.c
 c.wwwwwwwwwwww.c
 c..............c
 cccccccccccccccc
ENDMAP

NAME:   minmay_crystal_room
TAGS:   extra decor transparent
DEPTH:  D, Depths, Elf
NSUBST: ? = 1:b / 1:@ / *:?
SUBST:  ? = bbbbb@
MAP
b?b?b?b?b
?.......?
b.......b
?.......?
b.......b
?.......?
b?b?b?b?b
ENDMAP

NAME:    minmay_hedge_maze
TAGS:    extra decor transparent
DEPTH:   D, Depths, Lair
MONS:    bush
SHUFFLE: ABC
SUBST:   A=. , BC=1
MAP
1111111@111
@...C.1.B.1
1A1.1.1.1.1
1.1.1.B.A.@
1.1B1.1.1C1
1.....A...1
1C1.111A1C1
1.A.B.C.1.1
1.1B1.1.1.1
1...A.B...1
1.1A1C111B1
1.C.......1
1111111@111
ENDMAP

NAME:  minmay_strange_pillars
TAGS:  serial_glass_rare transparent allow_dup extra decor
DEPTH: D, Depths, Elf, Crypt
MAP
 ...   ...
..m.. ..m..
.mbm...mbm.
..m.. ..m..
 ...   ...
  .     .
 ...   ...
..m.. ..m..
.mbm...mbm.
..m.. ..m..
 ...   ...
ENDMAP

NAME:  minmay_door_square
TAGS:  transparent extra decor
DEPTH: D, Depths
MAP
.................
.xxxxxxx+xxxxxxx.
.xxxxxxx.xxxxxxx.
.xxxxxxx.xxxxxxx.
.xxx...+.+...xxx.
.xxx.xxx.xxx.xxx.
.xxx.xxx.xxx.xxx.
.xxx+xxx.xxx+xxx.
.+.............+.
.xxx+xxx.xxx+xxx.
.xxx.xxx.xxx.xxx.
.xxx.xxx.xxx.xxx.
.xxx...+.+...xxx.
.xxxxxxx.xxxxxxx.
.xxxxxxx.xxxxxxx.
.xxxxxxx+xxxxxxx.
.................
ENDMAP

NAME:  minmay_liquid_box
TAGS:  extra no_monster_gen
DEPTH: D, Depths
SUBST: w : wWWl
MAP
xx+xx
xwwwx
+www+
xwwwx
xx+xx
ENDMAP

NAME:  minmay_fountain_box
TAGS:  transparent extra decor
DEPTH: D, Depths, Elf
KMASK: TU = no_monster_gen
SUBST: x : xxxxccbv
MAP
xxxx+xxxx
x.......x
x.T...T.x
x.......x
+...U...+
x.......x
x.T...T.x
x.......x
xxxx+xxxx
ENDMAP

NAME:  minmay_tree_intersection
TAGS:  transparent extra decor
DEPTH: D, Depths
MAP
xxx@xxx
xxt.txx
xtt.ttx
@.....@
xtt.ttx
xxt.txx
xxx@xxx
ENDMAP

NAME:  minmay_misc_feat_pillars
TAGS:  transparent extra decor
DEPTH: D, Depths, Elf, Crypt
SUBST: x : xxxxcvbmG
MAP
.............
.x.x.x.x.x.x.
.............
 .x.x.x.x.x.
 ...........
ENDMAP

NAME:  minmay_misc_feat_square
TAGS:  transparent extra decor
DEPTH: D, Depths
SUBST: x = x.
KPROP: x = no_tele_into
MAP
.......
.xxxxx.
.xxxxx.
.xxxxx.
.xxxxx.
.xxxxx.
.......
ENDMAP

NAME:  minmay_misc_feat_plants
TAGS:  transparent extra decor
MONS:  plant, bush, fungus
DEPTH: D, Depths
SUBST: x : xxxxcvbmGt123
MAP
    ....
  ........
 ...x..x...
 ..........
..x......x..
............
............
..x......x..
 ..........
 ...x..x...
  ........
    ....
ENDMAP

NAME:  minmay_misc_feat_rows
TAGS:  transparent extra decor
DEPTH: D, Depths, Elf, Crypt
MAP
.......
.xxxxx.
.......
.xxxxx.
.......
.xxxxx.
.......
.xxxxx.
.......
.xxxxx.
.......
ENDMAP

NAME:  minmay_misc_feat_diagonals
TAGS:  transparent extra decor
DEPTH: D, Depths, Elf
SUBST: x : xmb
MAP
...............
.x..x..x..x..x.
..x..x..x..x...
...x..x..x..x..
.x..x..x..x..x.
..x..x..x..x...
 ............
ENDMAP

NAME:  minmay_misc_feat_doors
TAGS:  transparent extra decor
DEPTH: D, Depths
MAP
x.x.x.x.x
.........
x.xx+xx.x
..x...x..
x.+...+.x
..x...x..
x.xx+xx.x
.........
x.x.x.x.x
ENDMAP

NAME:  minmay_misc_feat_encased
TAGS:  transparent extra decor
DEPTH: D, Depths
SUBST: c : bcvm
SUBST: @ : +@
MAP
xxxxx@x
@.....x
x.ccc.x
x.cbc.x
x.ccc.x
x.....@
x@xxxxx
ENDMAP

NAME:  minmay_misc_feat_rugged
TAGS:  transparent extra decor
DEPTH: D, Depths
SUBST: A = x..., B = x.., C = x., D = xx.
MAP
xxxxxxxxxxxxxxxxxxxx
xDDDDDDD.DDD.DDDDDDx
xC.C.CC.CCC.C.CC.C.x
xBB.BBBB.BBBBB.BB.Bx
xAAA.AAAA.AAA.AAAA.x
@..................@
xxxxxxxxxxxxxxxxxxxx
ENDMAP

NAME:  minmay_misc_feat_five
TAGS:  transparent extra decor
DEPTH: D, Depths, Elf, Crypt
SUBST: x : xxxxcvbm
MAP
...   ...
.x.....x.
....x....
.x.....x.
...   ...
ENDMAP

NAME:  minmay_misc_feat_chi
TAGS:  transparent extra decor
DEPTH: D, Depths
MAP
..........
.xx.....x.
...x....x.
....x..x..
....xxx...
...xxx....
..x..x....
.x....x...
.x.....xx.
..........
ENDMAP

NAME:   minmay_misc_feat_tower
TAGS:   transparent extra decor
DEPTH:  D, Depths
NSUBST: ? = 1:@ / *:?
SUBST:  ? = @...
SUBST:  X : xcvbmGT
KMASK:  T = no_monster_gen
MAP
xx?xx   xx?xx
x...xxxxx...x
?.X.......X.?
x...xxxxx...x
xx.xxxxxxx.xx
 x.xxxxxxx.x
 x.xxxxxxx.x
 x.xxxxxxx.x
xx.xxxxxxx.xx
x...xxxxx...x
?.X.......X.?
x...xxxxx...x
xx?xx   xx?xx
ENDMAP

NAME:   minmay_misc_feat_enclosed
TAGS:   transparent extra decor
DEPTH:  D, Depths
NSUBST: X = 1:. / *=xx.
MAP
.........
.xxxXxxx.
.xx...xx.
.x.....x.
.X.....X.
.x.....x.
.xx...xx.
.xxxXxxx.
.........
ENDMAP

NAME:   minmay_misc_feat_room
TAGS:   transparent extra decor
DEPTH:  D, Depths
SUBST:  ? = GGGTUV
KMASK:  TU = no_monster_gen
MAP
.......
.xxxxx.
.x...x.
.+.?.+.
.x...x.
.xxxxx.
.......
ENDMAP

NAME:   minmay_misc_feat_iff
TAGS:   transparent extra decor
DEPTH:  D, Depths
SUBST:  X : xcvb.
MAP
  ........
 ...xxxx...
..xxx..xxx..
.xx......xx.
.....XX.....
....XXXX....
....XXXX....
.....XX.....
.xx......xx.
..xxx..xxx..
 ...xxxx...
  ........
ENDMAP

NAME:   minmay_misc_feat_columns
TAGS:   transparent extra decor
DEPTH:  D, Depths, Elf, Crypt
MAP
...
.x.
.x....
.x..x.
....x....
   .x..x.
   ....x.
      .x.
      ...
ENDMAP

NAME:   minmay_misc_feat_cross
TAGS:   transparent extra decor
DEPTH:  D, Depths, Elf, Crypt
SUBST:  X : x.
MAP
...........
.xxx.X.xxx.
.xxx.X.xxx.
.xxx.X.xxx.
.....X.....
.XXXXXXXXX.
.....X.....
.xxx.X.xxx.
.xxx.X.xxx.
.xxx.X.xxx.
...........
ENDMAP

NAME:   minmay_misc_feat_ornament
TAGS:   transparent extra decor
DEPTH:  D, Depths, Elf, Crypt
MAP
x@xxxxxxx@x
x.x.....x.x
x.x.x.x.x.x
x...x.x...x
xxxxx.xxxxx
x...x.x...x
x.x.x.x.x.x
x.x.....x.x
x@xxxxxxx@x
ENDMAP

NAME:   minmay_misc_feat_hallway
TAGS:   transparent extra decor
DEPTH:  D, Depths, Crypt
SUBST:  G : ..GGxb
MAP
xxxxxxxxx
xGxGxGxGx
x.x.x.x.x
@.......@
x.x.x.x.x
xGxGxGxGx
xxxxxxxxx
ENDMAP

NAME:   minmay_misc_feat_alley
TAGS:   transparent extra decor
DEPTH:  D, Depths, Elf, Crypt
MAP
xx@xx@xx
x......x
xxx..xxx
x......x
xx.xx.xx
x......x
x.xxxx.x
x......x
xx.xx.xx
x......x
xxx..xxx
x......x
xx@xx@xx
ENDMAP

NAME:   minmay_misc_feat_nine_boxes
TAGS:   transparent extra decor
DEPTH:  D, Depths
NSUBST: A = 1:. / *:x, B = 1:. / *:x, C = 1:. / *:x
NSUBST: D = 1:. / *:x, E = 1:. / *:x, F = 1:. / *:x
NSUBST: G = 1:. / *:x, H = 1:. / *:x, I = 1:. / *:x
MAP
...............
.xAx..xBx..xCx.
.A.A..B.B..C.C.
.xAx..xBx..xCx.
...............
.xDx..xEx..xFx.
.D.D..E.E..F.F.
.xDx..xEx..xFx.
...............
.xGx..xHx..xIx.
.G.G..H.H..I.I.
.xGx..xHx..xIx.
...............
ENDMAP

NAME:   minmay_misc_feat_four_crosses
TAGS:   transparent extra decor
DEPTH:  D, Depths
SUBST:  c : ccx
SUBST:  G : GGGb
MAP
... ... ...
.G...G...G.
...c...c...
 .ccc.ccc.
...c...c...
.G...G...G.
...c...c...
 .ccc.ccc.
...c...c...
.G...G...G.
... ... ...
ENDMAP

NAME:   minmay_misc_feat_roman
TAGS:   transparent extra decor
DEPTH:  D, Depths
MAP
.............
.x.xxx.xxx.x.
.x...x.x...x.
.xxx.x.x.xxx.
.............
.xxx.x.x.xxx.
.x.x.....x.x.
.x.xxx.xxx.x.
.............
ENDMAP

NAME:   minmay_misc_feat_more_columns
TAGS:   transparent extra decor
DEPTH:  D, Depths
SUBST:  X : x.
MAP
......   ......
.x...........x.
.X.x.......x.X.
.X.X.x...x.X.X.
.X.X.X.x.X.X.X.
.X.X.X.x.X.X.X.
.X.X.x...x.X.X.
.X.x.......x.X.
.x...........x.
......   ......
ENDMAP

NAME:   minmay_misc_feat_x
TAGS:   transparent extra decor
DEPTH:  D, Depths
MAP
........    ........
.xxxx....  ....xxxx.
...xxxx......xxxx...
 ....xxxx..xxxx....
  .....xxxxxx.....
  .....xxxxxx.....
 ....xxxx..xxxx....
...xxxx......xxxx...
.xxxx....  ....xxxx.
........    ........
ENDMAP

NAME:   minmay_misc_feat_secret_circle
TAGS:   transparent extra decor
DEPTH:  D, Depths
SUBST:  Y : x.
MAP
....................
.x................x.
..xx............xx..
..x.x..........x.x..
...x.xx......xx.x...
....xx.x....x.xx....
....x.x.xYYx.x.x....
.....x.xx..xx.x.....
......xx....xx......
....................
....................
......xx....xx......
.....x.xx..xx.x.....
....x.x.xYYx.x.x....
....xx.x....x.xx....
...x.xx......xx.x...
..x.x..........x.x..
..xx............xx..
.x................x.
....................
ENDMAP

NAME:   minmay_misc_feat_tiny
TAGS:   transparent extra decor
DEPTH:  D, Depths
MAP
......
.xx.x.
.x.xx.
.xx.x.
.x.xx.
......
ENDMAP

NAME:   minmay_stone_trees_small
TAGS:   transparent extra decor
DEPTH:  D, Depths, Lair
WEIGHT: 6
MAP
.......
..ttt..
.tccct.
.tccct.
.tccct.
..ttt..
.......
ENDMAP

NAME:   minmay_stone_trees_medium
TAGS:   transparent extra decor
DEPTH:  D, Depths, Lair
WEIGHT: 3
MAP
.............
..ttt...ttt..
.tccct.tccct.
.tccct.tccct.
.tccct.tccct.
..ttt.t.ttt..
.....ttt.....
..ttt.t.ttt..
.tccct.tccct.
.tccct.tccct.
.tccct.tccct.
..ttt...ttt..
.............
ENDMAP

NAME:   minmay_stone_trees_large
TAGS:   transparent extra decor
DEPTH:  D, Depths, Lair
WEIGHT: 1
SHUFFLE: TR
SUBST:  T = t., R = .
MAP
...................
..ttt...ttt...ttt..
.tccct.tccct.tccct.
.tccctRtccctTtccct.
.tccct.tccct.tccct.
..ttt...ttt...ttt..
...T.....R.....T...
..ttt...ttt...ttt..
.tccct.tccct.tccct.
.tccctRtccctTtccct.
.tccct.tccct.tccct.
..ttt...ttt...ttt..
...T.....R.....T...
..ttt...ttt...ttt..
.tccct.tccct.tccct.
.tccctTtccctRtccct.
.tccct.tccct.tccct.
..ttt...ttt...ttt..
...................
ENDMAP

NAME:   minmay_crystal_water
TAGS:   extra decor
DEPTH:  D, Depths
MAP
wwwwwwwww
wbwwwwwbw
wbwbbbwbw
wbwwwwwbw
wwwwwwwww
ENDMAP

NAME:   minmay_holes
TAGS:   transparent extra decor
DEPTH:  D:5-, !D:$, Depths, !Depths:$, Lair, !Lair:$
KFEAT:  ^ = shaft trap
SUBST:  . = . ^:1, ' = . ^:2, " = . ^:4
WEIGHT: 15
MAP
     ....
   ........
  ..........
 ....''''....
 ...''''''...
...'''""'''...
...''""""''...
...''""""''...
...'''""'''...
 ...''''''...
 ....''''....
  ..........
   ........
     ....
ENDMAP

NAME:   minmay_splitting_lines
TAGS:   transparent extra decor
DEPTH:  D, Depths
WEIGHT: 5
MAP
.....................
.....x...x.x...x.....
......x.x...x.x......
...x...x.....x...x...
....x..x.....x..x....
.x...xxx.....xxx...x.
..x..x..x...x..x..x..
...xxx...x.x...xxx...
..x...x...x...x...x..
.x.....x..x..x.....x.
........xxxxx........
.x.....x..x..x.....x.
..x...x...x...x...x..
...xxx...x.x...xxx...
..x..x..x...x..x..x..
.x...xxx.....xxx...x.
....x..x.....x..x....
...x...x.....x...x...
......x.x...x.x......
.....x...x.x...x.....
.....................
ENDMAP

NAME:   minmay_curled_crystal
TAGS:   transparent extra decor
DEPTH:  D, Depths, Elf
WEIGHT: 3
MAP
................
..bb........bb..
.b..b......b..b.
.b............b.
..bbbbbbbbbbbb..
................
ENDMAP

NAME:    minmay_parallelograms
TAGS:    transparent extra decor
DEPTH:   D, Depths
WEIGHT:  2
SHUFFLE: EFGH
SUBST:   B : xx., C : xx., D : xx., E : xx., F : xx., G : xx., H : xx.
MAP
...........         ...........
.xx.xxxxxx..       ..BBBBBB.BB.
..xx.....xx..     ..BB.....BB..
 ..xx.EEE.xx..   ..BB.FFF.BB..
  ..xx.EEE.xx.. ..BB.FFF.BB..
   ..xx.....xx...BB.....BB..
    ..xxxxxx.xx.BB.BBBBBB..
     .....................
    ..CCCCCC.CC.DD.DDDDDD..
   ..CC.....CC...DD.....DD..
  ..CC.HHH.CC.. ..DD.GGG.DD..
 ..CC.HHH.CC..   ..DD.GGG.DD..
..CC.....CC..     ..DD.....DD..
.CC.CCCCCC..       ..DDDDDD.DD.
...........         ...........
ENDMAP

NAME:    minmay_large_rounded_square
TAGS:    transparent extra decor
DEPTH:   D, Depths, Crypt
WEIGHT:  1
SUBST:   x : x c:2 v:1 b:1
MAP
     ..............
   ...xxxxxxxxxxxx...
  ..xxxxxxxxxxxxxxxx..
 ..xxxxxxxxxxxxxxxxxx..
 .xxxxxxxxxxxxxxxxxxxx.
..xxxxxxxxxxxxxxxxxxxx..
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
.xxxxxxxxxxxxxxxxxxxxxx.
..xxxxxxxxxxxxxxxxxxxx..
 .xxxxxxxxxxxxxxxxxxxx.
 ..xxxxxxxxxxxxxxxxxx..
  ..xxxxxxxxxxxxxxxx..
   ...xxxxxxxxxxxx...
     ..............
ENDMAP

NAME: bh_walls_and_bars
TAGS: decor transparent
DEPTH: D, Depths
KFEAT: b = iron_grate
NSUBST: B = 1:b / *:.
MAP
   cxcxcxcxc
   x.B.x.B.x
   c.cBcBc.c
 xcx.x.B.x.xcx
@....cxcxc....@
@....xcxcx....@
 cxc.c.B.c.cxc
   x.xBxBx.x
   c.B.c.B.c
   xcxcxcxcx
ENDMAP

NAME:  roderic_roman_lattice
TAGS:  transparent extra decor
DEPTH: D, Depths, Elf
MAP
xxxxxxxxxxxxxxxxxxxxxxxxx
ccccccccccccccccccccccccc
vcxcvcxcvcxcvcxcvcxcvcxcv
@c.c.c.c.c.c.c.c.c.c.c.c@
v.c.v.c.v.c.v.c.v.c.v.c.v
@cvc.cvc.cvc.cvc.cvc.cvc@
v.c.v.c.v.c.v.c.v.c.v.c.v
@c.c.c.c.c.c.c.c.c.c.c.c@
vcxcvcxcvcxcvcxcvcxcvcxcv
ccccccccccccccccccccccccc
xxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

#squared St Hans cross, ancient Viking symbol
NAME:   roderic_st_hans_cross
TAGS:   transparent extra decor
DEPTH:  D, Depths
WEIGHT: 1
MAP
+xxxxxxxxxx+
x...xxxx...x
x.x.xxxx.x.x
x..........x
xxx.xxxx.xxx
xxx.xxxx.xxx
xxx.xxxx.xxx
xxx.xxxx.xxx
x..........x
x.x.xxxx.x.x
x...xxxx...x
+xxxxxxxxxx+
ENDMAP

#cross filled (sun sumbol) in ancient Mid East and Greece
NAME:   roderic_filled_cross
TAGS:   transparent extra decor
DEPTH:  D, Depths
WEIGHT: 1
SUBST:  ? = x+
MAP
   .......
   .xx+xx.
   .x...x.
....x.x.x....
.xxxx.x.xxxx.
.x....x....x.
.?.xxxxxxx.?.
.x....x....x.
.xxxx.x.xxxx.
....x.x.x....
   .x...x.
   .xx?xx.
   .......
ENDMAP

#cross of infinity
NAME:   roderic_cross_of_infinity
TAGS:   transparent extra decor
DEPTH:  D, Depths
WEIGHT: 1
MAP
.............
.xx+xxxxx+xx.
.xxx.....xxx.
.+xxx.x.xxx+.
.x.xxx.xxx.x.
.x..x.x.x..x.
.x.x.xxx.x.x.
.x..x.x.x..x.
.x.xxx.xxx.x.
.+xxx.x.xxx+.
.xxx.....xxx.
.xx+xxxxx+xx.
.............
ENDMAP


#nine men's morris (Roderic)
NAME:    roderic_nine_men_s_morris
TAGS:    transparent extra decor
DEPTH:   D, Depths, Elf
WEIGHT:  1
ITEM:    q:1 $, stone q:1
NSUBST:  ' = 2:d / 1:e / 2:f / *:.
SHUFFLE: ddeff
MAP
'.......'.......'
.xxxxxxx.xxxxxxx.
.xxxxxxx.xxxxxxx.
.xx'....'....'xx.
.xx.xxxx.xxxx.xx.
.xx.xxxx.xxxx.xx.
.xx.xx'.'.'xx.xx.
.xx.xx.xxx.xx.xx.
'..'..'xxx'..'..'
.xx.xx.xxx.xx.xx.
.xx.xx'.'.'xx.xx.
.xx.xxxx.xxxx.xx.
.xx.xxxx.xxxx.xx.
.xx'....'....'xx.
.xxxxxxx.xxxxxxx.
.xxxxxxx.xxxxxxx.
'.......'.......'
ENDMAP

# Three-in-row (Roderic)
NAME:   roderic_three_in_a_row
TAGS:   transparent extra decor
DEPTH:  D, Depths, Elf
WEIGHT: 1
ITEM:   q:1 $, stone
SUBST:  ' : TTUUddeff
MAP
@xxxx@xxxx@
x'...'...'x
x..xx.xx..x
x.x.x.x.x.x
x.xx...xx.x
@'...'...'@
x.xx...xx.x
x.x.x.x.x.x
x..xx.xx..x
x'...'...'x
@xxxx@xxxx@
ENDMAP

NAME:  roderic_lattice_a
TAGS:  transparent extra decor
DEPTH: D, Depths
MAP
...........................................
.xxxxxxxxxxxxx.xxxxxxxxxxxxx.xxxxxxxxxxxxx.
.x...........x.x...........x.x...........x.
.x.xxxx.xxxx.x.x.xxxx.xxxx.x.x.xxxx.xxxx.x.
.x....x.x....x.x....x.x....x.x....x.x....x.
.xxxx.x.x.xxxx.xxxx.x.x.xxxx.xxxx.x.x.xxxx.
......x.x...........x.x...........x.x......
.xxxxxx.xxxxxxxxxxxxx.xxxxxxxxxxxxx.xxxxxx.
...........................................
ENDMAP

NAME:  roderic_serpentine_path
TAGS:  transparent extra decor
DEPTH: D, Depths
MAP
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 x...........x...........x.....+@
 x.xxxxxxxxx.x.xxxxxxxxx.x.xxxxx
 x.....x.....x.....x.....x.....x
 xxxxx.x.xxxxxxxxx.x.xxxxxxxxx.x
@+.....x...........x...........x
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# Malta's cross
NAME:   roderic_malta_cross
TAGS:   transparent allow_dup extra decor
WEIGHT: 1
DEPTH:  D, Depths
MAP
 .........
...ccccc...
....ccc....
.c...c...c.
.cc..c..cc.
.ccccccccc.
.cc..c..cc.
.c...c...c.
....ccc....
...ccccc...
 .........
ENDMAP

NAME:   roderic_lattice_octagonal_star
TAGS:   transparent extra decor
ORIENT: float
MAP
  .......     .......
 ....x..... .....x....
....xxx.........xxx....
....xxx.........xxx....
..xxxxxxx.....xxxxxxx..
.xxxxxxxxx...xxxxxxxxx.
..xxxxxxx..x..xxxxxxx..
....xxx...xxx...xxx....
....xxx.xxxxxxx.xxx....
 ....x..xxxxxxx..x....
 ......xxxxxxxxx......
  ....xxxxxxxxxxx....
 ......xxxxxxxxx......
 ....x..xxxxxxx..x....
....xxx.xxxxxxx.xxx....
....xxx...xxx...xxx....
..xxxxxxx..x..xxxxxxx..
.xxxxxxxxx...xxxxxxxxx.
..xxxxxxx.....xxxxxxx..
....xxx.........xxx....
....xxx.........xxx....
 ....x..... .....x....
  .......     .......
ENDMAP

NAME:  hex_tiny
TAGS:  transparent extra decor
MAP
  ...
 .x.x.
 .....
.x.x.x.
 .....
 .x.x.
  ...
ENDMAP

NAME:  hex_medium
TAGS:  transparent extra decor
MAP
    .......
   .x.x.x.x.
   .........
  .x.x.x.x.x.
  ...........
 .x.x.x.x.x.x.
 .............
.x.x.x.x.x.x.x.
 .............
 .x.x.x.x.x.x.
  ...........
  .x.x.x.x.x.
   .........
   .x.x.x.x.
    .......
ENDMAP

NAME:  hex_large
TAGS:  transparent extra
MAP
      ...........
     .x.x.x.x.x.x.
     .............
    .x.x.x.x.x.x.x.
    ...............
   .x.x.x.x.x.x.x.x.
   .................
  .x.x.x.x.x.x.x.x.x.
  ...................
 .x.x.x.x.x.x.x.x.x.x.
 .....................
.x.x.x.x.x.x.x.x.x.x.x.
 .....................
 .x.x.x.x.x.x.x.x.x.x.
  ...................
  .x.x.x.x.x.x.x.x.x.
   .................
   .x.x.x.x.x.x.x.x.
    ...............
    .x.x.x.x.x.x.x.
     .............
     .x.x.x.x.x.x.
      ...........
ENDMAP

NAME:  abandoned_shop
TAGS:  transparent extra allow_dup decor
DEPTH: D:4-, Depths, Orc, Elf, Shoals, Snake
KFEAT: O = abandoned_shop
MAP
O
ENDMAP

NAME:   hex_intersection
TAGS:   transparent extra allow_dup luniq layout_rooms decor
DEPTH:  D, Depths, Elf, Crypt
MAP
  @xxxxx@
  x.xxx.x
  xx.x.xx
xxxx...xxxx
@.........@
xxxx...xxxx
  xx.x.xx
  x.xxx.x
  @xxxxx@
ENDMAP

NAME:   interstate_on_off
TAGS:   transparent extra layout_rooms decor
DEPTH:  D, Depths
MAP
     x@x
  xxxx.xxxxx
 xxx.....xxx
xx..xx.xx..xx
x.xxxx+xxxx.x
@...........@
xxxxxx+xxxxxx
@...........@
x.xxxx+xxxx.x
xx..xx.xx..xx
 xxx.....xxx
 xxxxx.xxxx
     x@x
ENDMAP

NAME:   moated_statue
DEPTH:  D, Depths, Elf, Crypt
TAGS:   transparent extra allow_dup decor
MAP
xxxxxxx
.WWGWW.
..WWW..
 .....
ENDMAP

NAME:    hangedman_glass_teeth
TAGS:    transparent extra no_rotate decor
DEPTH:   D, Depths, Elf
MAP
@xx                 xx@
@.xx               xx.@
@..xxxxxxxxxxxxxxxxx..@
x..mxmm...mxm...mmxm..x
x..mmm....mmm....mmm..x
x..mmm....mmm....mmm..x
x..mm..m...m...m..mm..x
xx..m..mm.....mm..m..xx
 xx....mmm...mmm....xx
  xx...mxm...mxm...xx
   xxxxxxm...mxxxxxx
       xxxxxxxxx
ENDMAP

NAME:   wad_floor_pattern_1
TAGS:   transparent extra decor
WEIGHT: 2
FTILE:  ' = floor_volcanic
COLOUR: ' = red
FTILE:  ; = floor_pebble
FTILE:  " = floor_pebble_brown
COLOUR: " = brown
MAP
';;;;;;;;;";;;;;;;;;'
;'''''''''"''''''''';
;''"""""""""""""""'';
;'"';;;;;;";;;;;;'"';
;'";';;;;;";;;;;';"';
;'";;'''''"''''';;"';
;'";;''"""""""'';;"';
;'";;'"';;";;'"';;"';
;'";;'";';";';"';;"';
;'";;'";;'"';;"';;"';
""""""""""'""""""""""
;'";;'";;'"';;"';;"';
;'";;'";';";';"';;"';
;'";;'"';;";;'"';;"';
;'";;''"""""""'';;"';
;'";;'''''"''''';;"';
;'";';;;;;";;;;;';"';
;'"';;;;;;";;;;;;'"';
;''"""""""""""""""'';
;'''''''''"''''''''';
';;;;;;;;;";;;;;;;;;'
ENDMAP

NAME:   wad_floor_pattern_2
TAGS:   transparent extra decor
WEIGHT: 2
FTILE:  ' = floor_pebble_cyan
COLOUR: ' = green
FTILE:  ; = floor_pebble_brown
FTILE:  " = floor_pebble_darkgray
COLOUR: " = cyan
MAP
'.;.;.;.;;";;.;.;.;.'
.'.'''''''"'''''''.'.
;.'"""""'"""'"""""'.;
.'"';;;';".";';;;'"'.
;'";';';.;";.;';';"';
.'";;'''''"''''';;"'.
;'";'''"""."""''';"';
.'"';'"';""";'"';'"'.
;'';.'";';";';"'.;'';
;'"";'"";'"';""';""';
"".""".""".""".""".""
;'"";'"";'"';""';""';
;'';.'";';";';"'.;'';
.'"';'"';""";'"';'"'.
;'";'''"""."""''';"';
.'";;'''''"''''';;"'.
;'";';';.;";.;';';"';
.'"';;;';".";';;;'"'.
;.'"""""'"""'"""""'.;
.'.'''''''"'''''''.'.
'.;.;.;.;;";;.;.;.;.'
ENDMAP

NAME: wad_floor_pattern_untrapped
TAGS: transparent extra decor
WEIGHT: 4
KFEAT:  ~ = floor
FTILE:  GT = floor_pebble_darkgray
FTILE:  ;" = floor_pebble_brown
COLOUR: "~ = brown
MAP
xxx.".xxx
xx;""";xx
x;G;~;G;x
.";""";".
""~"T"~""
.";""";".
x;G;~;G;x
xx;""";xx
xxx.".xxx
ENDMAP

NAME:    hangedman_decor_diamond_cutter
TAGS:    transparent extra decor
DEPTH:   D, Depths
WEIGHT:  5 (D:1-3), 10
SHUFFLE: AB, CD
SUBST:   Z : z:9 .:1, z : xxB, AC = .
: init_hm_decor_walldepth(_G, "BD")
MAP
xxxxxxxxxxxxxxxxxxxx
B..AZA..B.B..AZA..B.
.BA.z.AB...BA.z.AB..
.AB.z.BA...AB.z.BA..
A..BzB..A.A..BzB..A.
........................
    .C..DzD..C.C..DzD..C
    ..CD.z.DC...CD.z.DC.
    ..DC.z.CD...DC.z.CD.
    .D..CZC..D.D..CZC..D
    xxxxxxxxxxxxxxxxxxxx
ENDMAP

NAME:    hangedman_decor_lopped
TAGS:    transparent extra decor no_pool_fixup
DEPTH:   D, Depths, Abyss
WEIGHT:  5 (D:1-3), 10
SHUFFLE: CD / CD / CD / DC / DC, EF / EF / EF / FE / FE
SUBST:   A : z:9 .:1, B : z:9 .:1, CE = .
SUBST:   H : x..., I : x..., J : x..., K : x...
: if you.in_branch("Abyss") then
SUBST:   x = x:19 .:1, z = xcvbl, l : lw
: else
: init_hm_decor_walldepth(_G, "DFz")
: end
MAP
........
...H....
.zAzAz......
...C........
...D...z..J...
.I.C...A......
...DCDCzEFEF....
.......A...E..J.
  ..K..z...F....
  .........E....
      ...zBzBz....
      .....C......
        ...D...z..
        .K.C...B..
        ...DCDCzH.
        .......B..
          ..I..z..
          ........
ENDMAP

NAME:    hangedman_decor_push
TAGS:    transparent decor extra
DEPTH:   D, Depths
SHUFFLE: AB / AB / CD, Depths, EF / EF / GH
SUBST:   ABEF = x, CG = ., DH = @
SUBST:   I : z.., J : z.., K : z..
: init_hm_decor_walldepth(_G, "z")
MAP
         xxxxxx...
         F..z...I.
         E..z.....
    xxxxxx.....z..
    B..z..K.J..z..
    A..z.....xxxxx
xxxxx.....z..A
..z..J.K..z..B
..z.....xxxxxx
.....z..E
.I...z..F
...xxxxxx
ENDMAP

NAME:    hangedman_decor_opposing
TAGS:    transparent decor extra
DEPTH:   D, Depths
WEIGHT:  5 (D:1-3), 10
SHUFFLE: CDE
SUBST:   AB : z.., C : z:7 .:1, D : z.. , E : z:1 .:7, y : xxcz
: init_hm_decor_walldepth(_G, "z")
MAP
    yyy.
   yy........
  yy..z......
 yy.A....DE..
yy.A..z.CED..
y.......EC...
y.z.z.z.......
.......z.....y
 ...CE..z..B.y
 ..DEC...z...y
 ..ED.....z..y
 .......B..z.y
 ............y
      .yyyyyyy
ENDMAP

NAME:    hangedman_decor_clover_reticule
TAGS:    transparent extra decor
DEPTH:   D, Depths
SHUFFLE: ABCDE
SUBST:   A : z:9 ':1, B : z', C : z'', DE = '
KPROP:   ' = no_tele_into
KMASK:   ' = opaque
: init_hm_decor_walldepth(_G, "z")
MAP
      .......
.......zx.xz.
.zx.xz.x...x.
.x...x.......
.......D...x.
.x...ECBE.xz.
.zx.DBAAC.....
.....CAABD.xz.
 .zx.EBCE...x.
 .x...D.......
 .......x...x.
 .x...x.zx.xz.
 .zx.xz.......
 .......
ENDMAP

NAME:    hangedman_decor_riveting
TAGS:    transparent extra decor no_pool_fixup
DEPTH:   D, Depths, Abyss
WEIGHT:  5 (D:1-3), 10
SHUFFLE: ABCDEFG
SUBST:   A : z:9 .:1, B : zz., C : z:1 .:5, D = z:1 .:9, DEFG = .
: if you.in_branch("Abyss") then
SUBST:   x = x:19 .:1, z = xcvbl, l : lw
: else
: init_hm_decor_walldepth(_G, "z")
: end
MAP
...
.x.
.....
.x.x.
..A....
.x.z.x.
..B.C....
.x.z.z.x.
...........
.x..GGFF.x.
.......F.....
.x.z...G.z.x.
..D....G..C....
.x.z.z...z.z.x.
..E.D.....B.A....
.x.x.x.x.x.x.x.x.
.................
ENDMAP

NAME:    hangedman_decor_points
TAGS:    transparent extra decor no_pool_fixup
DEPTH:   D, Depths, Abyss
SHUFFLE: ABC
SUBST:   A : z.., B : zxx, C : zxx
: if you.in_branch("Abyss") then
SUBST:   x = x:19 .:1, z = xcvbl, l : lw
: else
: init_hm_decor_walldepth(_G, "z")
: end
MAP
            .....
            .ABC.
        .....B...
        .ABC.C..
    .....B......
    .ABC.C..ABC.
.....B......B...
.ABC.C..zzz.C..
.B......z......
.C..ABC.z..ABC.
....B......B...
   .C..ABC.C..
   ....B......
      .C..ABC.
      ....B...
         .C.
         ...
ENDMAP

NAME:    hangedman_decor_peaks_small
TAGS:    transparent extra decor
DEPTH:   D, Depths, Abyss
WEIGHT:  5 (D:1-3), 10
SHUFFLE: BCD
SUBST:   A = z.., B : zzz., C : z..., D = ., X : x:9 .:1
: if you.in_branch("Abyss") then
SUBST:   x = x:19 .:1, z = xcvbl, l : lw
: else
: init_hm_decor_walldepth(_G, "z")
: end
MAP
       .......
     ...D...xX
    ..D...xX..
   .....xX....
   .A.xX...xx.
 ....A........
 .D.x.A..xx...
....X..A......
.D.x....A.BB..
...X..x.......
..x...x.B..CC.
..X.x...B.C...
.x..x.....C.
.X..........
ENDMAP

NAME:    hangedman_decor_growths
TAGS:    transparent extra decor
DEPTH:   D, Depths
SHUFFLE: ABCDEF
SUBST:   A : x..., B : x.., C : x:7 .:1, EF = x
: init_hm_decor_walldepth(_G, "x")
MAP
            ........
           ..........
           ..AABBCC..
           ..AxBBxC..
      .......DDxxDD..
     ........DDxxDD..
     ..AABCC.ExBBxF..
 ......AxBxC.EEBBFF..
.......DDxDD.........
..ABBC.ExBxF........
..DxxD.EEBFF.
..DxxD.......
..EBBF......
........
 ......
ENDMAP

NAME:    hangedman_decor_slide_cut
TAGS:    transparent extra decor
DEPTH:   D, Depths
WEIGHT:  5 (D:1-3), 10
SHUFFLE: AB, EF / EF / FE, GH / HG, IJ / IJ / JI
SUBST:   A : zz., B : z.., C : zz., D : zz., EGI = z, FHJ = .
: init_hm_decor_walldepth(_G, "z")
MAP
xx.....
xx.....
x.EF..@
x.FEF..
x..FE..xxxxxxxxx
xA...xxxxxxxxxxxx
xA...Cx...AA...Dx
x...x..GH.....x.x
x..x...HGH...x..x
x.x.....HG..x...x
xC...BB...xD...Bx
xxxxxxxxxxxx...Bx
 xxxxxxxxx..IJ..x
          ..JIJ.x
          @..JI.x
          .....xx
          .....xx
ENDMAP

NAME:  grunt_decor_arrowhead
TAGS:  transparent extra decor
DEPTH: D, Depths
: init_hm_decor_walldepth(_G, 'x')
SUBST: G : GGGTTV
MAP
.........
.xxxx+xx..
..xx.G.xx..
 ..xx...xx..
  ..xx...xx..
   ..xx...xx..
    @.++.G.++.@
   ..xx...xx..
  ..xx...xx..
 ..xx...xx..
..xx.G.xx..
.xxxx+xx..
........
ENDMAP

NAME:  grunt_decor_resistance
TAGS:  transparent extra decor
DEPTH: D, Depths
: init_hm_decor_walldepth(_G, 'x')
MAP
 xxxxxxx xxx xxx
 x.xxx.xxx.xxx.xxx
..x.x.x.x.x.x.x.x.@
@.x.x.x.x.x.x.x.x..
 xxx.xxx.xxx.xxx.x
   xxx xxx xxx xxx
ENDMAP

NAME:  grunt_decor_cap
TAGS:  transparent extra decor
DEPTH: D, Depths
{{
-- Kind of a complicated version of init_hm_decor_walldepth to make sure that
-- the glass matches the wall feature.
local a = you.absdepth() * 5
local weights = { {"x", 50}, {"c", a} }
if a - 75 > 0 then
    weights[#weights + 1] = {"b", a - 75}
end
local wall = util.random_choose_weighted(weights)
local glass = 'm'
if wall == 'c' then
  glass = 'n'
end
subst("x = " .. wall)
subst("m = " .. glass)
}}
MAP
  .........
  .xxxwxxx.
...x.mwm.x...
.xxx.mwm.xxx.
.....mwm.....
.xxx.mwm.xxx.
...x.mwm.x...
  .xxxwxxx.
  .........
ENDMAP

NAME:  grunt_decor_fettered
TAGS:  transparent extra decor
DEPTH: D, Depths
: init_hm_decor_walldepth(_G, 'x')
MAP
    xxxxx
    x.x.xxx
    x.....@
xxxxx.x.xxx
@.....xxx
xxxxx.xxxxx
    x.....@
    x.xxxxx
    xxx
ENDMAP

NAME:  grunt_decor_junction
TAGS:  transparent extra decor no_pool_fixup
DEPTH: D, Depths
: init_hm_decor_walldepth(_G, 'x')
KMASK: w = no_monster_gen
SUBST: w : wwl
MAP
     .......
   ...wwwww.@.
  ..wwwwxxxx...
 ..wwwxxx.x.xx..
 .wwwwx.x..xxww.
..wwwwx.....xww..
.wwwwwx.xxxxxwww.
.xxxxxx.xwwwwwww.
@.......xwwwwwww.
.xxxxxx.xwwwwwww.
.wwwwwx.xxxwwwww.
..wwwwx...xxwww..
 .wwwwx.xx.xxww.
 ..wwwxxxxx.xx..
  ..wwwwwwxx...
   ...wwwww.@.
     .......
ENDMAP

NAME: grunt_decor_clamped
TAGS: transparent extra decor no_pool_fixup
DEPTH: D, Depths
: init_hm_decor_walldepth(_G, 'x')
SHUFFLE: GT / GT / TG / ww / ww / ll
MAP
xxx                   xxx
@.xxx               xxx.@
xx..xxx           xxx..xx
 xxx..xxxxxxxxxxxxx..xxx
   xxx..x.......x..xxx
     xx.+..GTG..+.xx
   xxx..x.......x..xxx
 xxx..xxxxxxxxxxxxx..xxx
xx..xxx           xxx..xx
@.xxx               xxx.@
xxx                   xxx
ENDMAP

NAME:    grunt_decor_one_mirror
TAGS:    transparent extra decor
DEPTH:   D, Depths
SUBST:   G = tTTVUG
MAP
  ...
 ..b..
.bb.bb.
.b.G.b.
.bb.bb.
 ..b..
  ...
ENDMAP

NAME:    grunt_decor_mini_mirrors
TAGS:    transparent extra decor
DEPTH:   D, Depths
SHUFFLE: AB / BA / BB, CD / DC / DD, Depths, EF / FE / FF, IJ / JI / JJ
SUBST:   ACEI = b, BDFJ = .
SUBST:   G = tTTVUG
MAP
     ...   ...
    ..b.....b..
   .bb.bAbBb.bb.
  .bb.G.bbb.G.bb.
 .bbbb.bBbAb.bbbb.
..b.bCbDb.bEbFb.b..
.b.G.bbb.G.bbb.G.b.
..b.bDbCb.bFbEb.b..
 .bbbb.bIbJb.bbbb.
  .bb.G.bbb.G.bb.
   .bb.bJbIb.bb.
    ..b.....b..
     ...   ...
ENDMAP

NAME: nicolae_sextant
DEPTH: D:5-, Depths
TAGS: extra decor transparent
SUBST: y : b m v X:60, X : xxc
MAP
xxxxxxxxxxxxxxX@@Xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxX..Xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxX..Xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxX..Xxxxxxxxxxxxxxx
xxxxxxxxxxxxxXX..XXxxxxxxxxxxxxx
xxxxxxxxxxxxXX....XXxxxxxxxxxxxx
xxxxxxxxxxxXX......XXxxxxxxxxxxx
XXXXXXXXXXXX...yy...XXXXXXXXXXXX
@......XXXXX..yyyy..XXXXX......@
@......XXXXX..yyyy..XXXXX......@
XXXXX..XXXXX...yy...XXXXX..XXXXX
xxxxX..XXXXX........XXXXX..Xxxxx
xxxxXX..XXX..........XXX..XXxxxx
xxxxxX..XX...XXXXXX...XX..Xxxxxx
xxxxxXX.....XXxxxxXX.....XXxxxxx
xxxxxxXX...XXxxxxxxXX...XXxxxxxx
xxxxxxxXX...XXxxxxXX...XXxxxxxxx
xxxxxxxxXX...XXXXXX...XXxxxxxxxx
xxxxxxxxxXX..........XXxxxxxxxxx
xxxxxxxxxxXXX......XXXxxxxxxxxxx
xxxxxxxxxxxxXXXXXXXXxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

NAME: nicolae_twisting_strands
DEPTH: D:10-, Depths, Elf
TAGS: transparent extra decor
SHUFFLE: '!/^;, cd/AB
SUBST: '; : e., ! = x, ^ = ., x : x_, A = a, B = b
SHUFFLE: abcde
SUBST: a = v, d = m, e = x
CLEAR: _
MAP
xxxxxxxx!'a.@.d'!xxxxxxxx
xxxxxxxx!'a...d'!xxxxxxxx
xxxxxxxx!'.a.d.'!xxxxxxxx
xxxxxxxx!'..a..'!xxxxxxxx
xxxxxxxx!'.d.a.'!xxxxxxxx
xxxxxxxx!'d...a'!xxxxxxxx
xxxxxxxx!'d...a'!xxxxxxxx
xxxxxxxx!'d...a'!xxxxxxxx
!!!!!!!!!'.d.a.'!!!!!!!!!
''''''''''..d..''''''''''
aa...bbb...a.d...ccc...dd
..a.b...b.a...d.c...c.d..
@..b.....a.....c.....d..@
..b.a...a.b...c.d...d.c..
bb...aaa...b.c...ddd...cc
''''''''''..b..''''''''''
!!!!!!!!!'.c.b.'!!!!!!!!!
xxxxxxxx!'c...b'!xxxxxxxx
xxxxxxxx!'c...b'!xxxxxxxx
xxxxxxxx!'c...b'!xxxxxxxx
xxxxxxxx!'.c.b.'!xxxxxxxx
xxxxxxxx!'..c..'!xxxxxxxx
xxxxxxxx!'.b.c.'!xxxxxxxx
xxxxxxxx!'b...c'!xxxxxxxx
xxxxxxxx!'b.@.c'!xxxxxxxx
ENDMAP

NAME: nicolae_wwwww
DEPTH: D:8-, Depths, Elf
TAGS: decor extra transparent
SUBST: b : bcvmx
MAP
      .............
     ....b.....b....
    ....bb.....bb....
   ..b.bb..b.b..bb.b..
  ..bb....bb.bb....bb..
 ..bb..b.bb...bb.b..bb..
......bb.........bb......
...b.bb..b.....b..bb.b...
..bb....bb.....bb....bb..
.bb..b.bb..b.b..bb.b..bb.
....bb....bb.bb....bb....
...bb....bb...bb....bb...
.........................
...bb....bb...bb....bb...
....bb....bb.bb....bb....
.bb..b.bb..b.b..bb.b..bb.
..bb....bb.....bb....bb..
...b.bb..b.....b..bb.b...
......bb.........bb......
 ..bb..b.bb...bb.b..bb..
  ..bb....bb.bb....bb..
   ..b.bb..b.b..bb.b..
    ....bb.....bb....
     ....b.....b....
      .............
ENDMAP

####

NAME:   kennysheep_boxes
TAGS:   transparent decor no_pool_fixup
DEPTH:  D, Depths, !D:$, !Depths:$
: if crawl.coinflip() then
SUBST:  w : wl.
SUBST:  x : xcvb
: else
SUBST:  x : t
:   if crawl.coinflip() then
SUBST:  . = W.
:   else
KMONS:  w = plant w:50 / bush / nothing w:100
:   end
: end
MAP
.........................
.wwwww.wwwww.wwwww.wwwww.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wwwww.wwwww.wwwww.wwwww.
.........................
.wwwww.wwwww.wwwww.wwwww.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wwwww.wwwww.wwwww.wwwww.
.........................
.wwwww.wwwww.wwwww.wwwww.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wwwww.wwwww.wwwww.wwwww.
.........................
.wwwww.wwwww.wwwww.wwwww.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wxxxw.wxxxw.wxxxw.wxxxw.
.wwwww.wwwww.wwwww.wwwww.
.........................
ENDMAP

####

NAME:  kennysheep_path_1
TAGS:  extra decor
DEPTH: D:2-, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
cccccccFccccccc
cwwwwwwHwwwwwwc
cw...........wc
cw...........wc
cw..txxxxxt..wc
cw..xxcccxx..wc
cw..xcccccx..wc
+...xcccccx..ED
cw..xcccccx..wc
cw..xxcccxx..wc
cw..txxxxxt..wc
cw...........wc
cw...........wc
cwwwwwwHwwwwwwc
cccccccFccccccc
ENDMAP

NAME:  kennysheep_flooded_box
TAGS:  extra decor
DEPTH: D, Depths
SUBST: B : Bt
: ks_random_setup(_G)
MAP
 cccDccc
ccwwEwwcc
cwwwEwwwc
cwwwEwwwc
FHHHBHHHF
cwww.wwwc
cwww.wwwc
ccww.wwcc
 ccc+ccc
ENDMAP

NAME:  kennysheep_pointless_box
TAGS:  extra decor
DEPTH: D, Depths
: ks_random_setup(_G)
MAP
FccccccccccD
cHwwwwwwwwEc
cw........wc
cw.txxxxt.wc
cw.xxxxxx.wc
cw.xxccxx.wc
cw.xxccxx.wc
cw.xxxxxx.wc
cw.txxxxt.wc
cw........wc
c.wwwwwwwwHc
+ccccccccccF
ENDMAP

NAME:  kennysheep_minor_cross
TAGS:  extra decor
DEPTH: D, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
     cccDccc
     cwwEwwc
     cw...wc
     cw...wc
     cw...wc
ccccccwx.xwcccccc
cwwwwwwx.xwwwwwwc
cw...xxt.txx...wc
FH.............HF
cw...xxt.txx...wc
cwwwwwwx.xwwwwwwc
ccccccwx.xwcccccc
     cw...wc
     cw...wc
     cw...wc
     cww.wwc
     ccc+ccc
ENDMAP

NAME:  kennysheep_another_room
TAGS:  extra decor
DEPTH: D, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
 ccccDccc
ccwwwEwwcc
cww....wwc
cw..xt..wc
FH.txxx.wc
cw.xxxt.HF
cw..tx..wc
cww....wwc
ccww.wwwcc
 ccc+cccc
ENDMAP

NAME:  kennysheep_nondescript
TAGS:  extra decor
DEPTH: D, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
  ccDc
cFctEc
c...wc
c.wwwc
c.wccc
c+cc
ENDMAP

NAME:  kennysheep_big_empty_room
TAGS:  extra decor
DEPTH: D:2-, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
     ccccFFcccc
    ccwwwHHwwwcc
   ccww......wwcc
  ccww........wwcc
 ccww..........wwcc
ccww............wwcc
cww....wwwwww....wwc
cw....wtxxxxtw....wc
cw....wxxxxxxw....wc
+.....wxxxxxxw....ED
+.....wxxxxxxw....ED
cw....wxxxxxxw....wc
cw....wtxxxxtw....wc
cww....wwwwww....wwc
ccww............wwcc
 ccww..........wwcc
  ccww........wwcc
   ccww......wwcc
    ccwwwHHwwwcc
     ccccFFcccc
ENDMAP

NAME:  kennysheep_cross_room
DEPTH: D:2-, Depths, !D:$, !Depths:$
TAGS:  extra decor
: ks_random_setup(_G)
MAP
     ccccFFcccc
    ccwwwHHwwwcc
   ccww......wwcc
  ccww...xx...wwcc
 ccww....xx....wwcc
ccww.....xx.....wwcc
cww......xx......wwc
cw......xxxx......wc
cw.....xtxxtx.....wc
+..xxxxxxxxxxxxxx.ED
+..xxxxxxxxxxxxxx.ED
cw.....xtxxtx.....wc
cw......xxxx......wc
cww......xx......wwc
ccww.....xx.....wwcc
 ccww....xx....wwcc
  ccww...xx...wwcc
   ccww......wwcc
    ccwwwHHwwwcc
     ccccFFcccc
ENDMAP

NAME:  kennysheep_cluttered_room
TAGS:  extra decor
DEPTH: D:2-, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
      cccFFFccc
     ccwwHHHwwcc
    ccwwx...xwwcc
   ccwwx.x.x.xwwcc
  ccwwx...x...xwwcc
 ccwwx.x.x.x.x.xwwcc
ccwwx...x.t.x...xwwcc
cwwx.x.x.x.x.x.x.xwwc
cwx...x...x...x...xwc
+..x.x.x.x.x.x.x.x.ED
+...x.t.x.t.x.t.x..ED
+..x.x.x.x.x.x.x.x.ED
cwx...x...x...x...xwc
cwwx.x.x.x.x.x.x.xwwc
ccwwx...x.t.x...xwwcc
 ccwwx.x.x.x.x.xwwcc
  ccwwx...x...xwwcc
   ccwwx.x.x.xwwcc
    ccwwx...xwwcc
     ccwwHHHwwcc
      cccFFFccc
ENDMAP

NAME:  kennysheep_cross_bottleneck
TAGS:  extra decor
DEPTH: D:2-, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
        cFFFc
        cHHHc
        cw.wc
        cw.wc
        cw.wc
        cw.wc
        cw.wc
        cw.wc
cccccccccx.xccccccccc
+.wwwwwwxx.xxwwwwwwED
+.........t........ED
+.wwwwwwxx.xxwwwwwwED
cccccccccx.xccccccccc
        cw.wc
        cw.wc
        cw.wc
        cw.wc
        cw.wc
        cw.wc
        cHHHc
        cFFFc
ENDMAP

NAME:  kennysheep_donut
TAGS:  extra decor
DEPTH: D:2-, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
      cccFFFccc
     cct.....tcc
    cc.........cc
   cc...........cc
  cc...wwwxwww...cc
 cc...wwxxxxxww...cc
cc...wwxxcccxxww...cc
ct..wwxxcccccxxww..tc
c...wxxcccccccxxw...c
+...wxcccccccccxw...D
+...xxcccccccccxx...D
+...wxcccccccccxw...D
c...wxxcccccccxxw...c
ct..wwxxcccccxxww..tc
cc...wwxxcccxxww...cc
 cc...wwxxxxxww...cc
  cc...wwwxwww...cc
   cc...........cc
    cc.........cc
     cct.....tcc
      cccFFFccc
ENDMAP

NAME:  kennysheep_nub
TAGS:  extra decor
DEPTH: D:2-, Depths, !D:$, !Depths:$
: ks_random_setup(_G, true)
MAP
  ccccc
 ccxxxcc
ccwwtwwcc
cww...wwc
cw.....wc
c@.....@c
ENDMAP

NAME:  kennysheep_crisscross
TAGS:  extra decor
DEPTH: D, Depths
: ks_random_setup(_G, true)
MAP
 .x.x.x.x.x.x.
.t...t...t...t.
x.x.x.x.x.x.x.x
...t...t...t...
x.x.x.x.x.x.x.x
.t...t...t...t.
x.x.x.x.x.x.x.x
...t...t...t...
x.x.x.x.x.x.x.x
.t...t...t...t.
x.x.x.x.x.x.x.x
...t...t...t...
x.x.x.x.x.x.x.x
.t...t...t...t.
 .x.x.x.x.x.x.
ENDMAP

NAME:  kennysheep_doodads
TAGS:  extra decor
DEPTH: D, Depths
: ks_random_setup(_G, true)
MAP
      .x.
    ..xtx..
   .x..x..x.
 ..xtx...xtx..
.x..x..x..x..x.
xtx...xtx...xtx
.x..x..x..x..x.
...xtx...xtx...
.x..x..x..x..x.
xtx...xtx...xtx
.x..x..x..x..x.
 ..xtx...xtx..
   .x..x..x.
    ..xtx..
      .x.
ENDMAP

NAME:  kennysheep_decorative_pillar
TAGS:  extra decor transparent
DEPTH: D, Depths, !D:$, !Depths:$
: ks_random_setup(_G, true)
MAP
     ...xtx....
    .....x......
   ..............
  ..x..........x..
 ..xx..........xx..
....................
.......wwwwww.......
......wwccccww......
......wccccccw.....x
x.....wccccccw....xt
tx....wccccccw.....x
x.....wccccccw......
......wwccccww......
.......wwwwww.......
....................
 ..xx..........xx..
  ..x..........x..
   ..............
    ......x.....
     ....xtx...
ENDMAP

NAME: nicolae_two_hexagons
DEPTH: D:8-, Depths
TAGS: transparent extra decor
SHUFFLE: ABCDEF, GHIJK, LMNOPQ, RSTUVW
SUBST: AGMNOPQSTUVW = ., BCDEFHIJKLR = x
MAP
      ......      ......
    ..........  ..........
  ......cc..........cc......
......BBccCC......KKccJJ......
....BBBBMMCCCC..KKKKSSJJJJ....
..ccBB..MM..CCccKK..SS..JJcc..
..ccLL..MM..NNccRR..SS..TTcc..
..AALLLLMMNNNNDDRRRRSSTTTTII..
..AA..LLccNN..DD..RRccTT..II..
..AA..QQccOO..DD..WWccUU..II..
..AAQQQQPPOOOODDWWWWVVUUUUII..
..ccQQ..PP..OOccWW..VV..UUcc..
..ccFF..PP..EEccGG..VV..HHcc..
....FFFFPPEEEE..GGGGVVHHHH....
......FFccEE......GGccHH......
  ......cc..........cc......
    ..........  ..........
      ......      ......
ENDMAP

NAME: amethyst_killhole
TAGS: extra decor
DEPTH: D, Elf
MAP
x@xx
xx.xxxx
 xx.x.x
  xx.xx
   xxx
ENDMAP

# A big river that often divides most of the map, with a guaranteed path
# across. This would ideally be done by a layout, but this vault seems to place
# well in testing and has the intended effect.
NAME: chequers_big_river
TAGS: no_pool_fixup transparent extra decor
SUBST: - = W:30 w P, ' = W . P:2
KMONS: P = plant
KFEAT: P = W / .
MAP
xxxxxxxxxxx
xxxxxxxxxxx
xxwwxxxxxxx
xxxwwxxxxxx
@.xxwwxxx.@
 .xwwwxx..
 .xxwwwx...
 .'-wwww''..
 .''-ww--''.@
 ..''-www-''....
  @.''--w--''''...@
   ..''-ww----''''....
    ..'--wwww----''''...@.......@.....
     .''---wwwww----W''''''''''''..''.@xxxxxxxx
     ..'''---wwwwwwW---'--------''''xxxxxxxxxxx
      @..'''-wwwwwwwWWWwwwwwwww----wwwxxxxxxxxx
        ..''------wwwWWW---wwwwwwwwwwwwwwwxxxxx
         ..'''''''--''''W''----wwwwwwwwwwxxxxxx
          @......''''.....'''''''''xxxxxxxxxxxx
                @.....   @......@......@xxxxxxx
ENDMAP

NAME: nicolae_lava_and_water
TAGS: no_pool_fixup transparent extra decor
DEPTH: D:6-, Depths, Zot
SHUFFLE: lw
KPROP: l = no_cloud_gen
MAP
  .....
  .wll....
  .wcwlww....
 ..llwlclwll.
 .lwwcwwlwcw.
 .lclwllcllw.
..wwlwcwlww..
.wllcllwlcl.
.wcwlwwcwwl.
.llwlclwll..
....wwlwcw.
   ....llw.
      .....
ENDMAP

NAME: nicolae_water_bricks
TAGS: no_pool_fixup transparent extra decor
DEPTH: D:6-, Depths
MAP
           w
      w   wxw@
     wxw wx..w
    wx.xwx...xw
   wx...x...xw
  wx...x...xw
 wx...xwx.xw
  wx.xwxwx.xw
   wx.xwx...xw
  wx...x...xw
 wx...x...xw
wx...xwx.xw
 w..xw wxw
 @wxw   w
   w
ENDMAP

NAME: palyth_stone_intersect
TAGS: decor extra transparent
DEPTH: D, Elf, Crypt
MAP
..............
..xx..xx..xx..
.xxxx....xxxx.
.xxxxx..xxxxx.
..xxxx..xxxx..
...xxx..xxx...
.x..........x.
.x..........x.
...xxx..xxx...
..xxxx..xxxx..
.xxxxx..xxxxx.
.xxxx....xxxx.
..xx..xx..xx..
..............
ENDMAP

NAME:   skrybe_limestone_x
TAGS:   decor extra transparent
DEPTH:  D, Depths
KMASK:  W = no_monster_gen
SUBST:  W : Wm
FTILE:  D = floor_limestone
COLOUR: D = brown
MAP
....    ....
.DD......DD.
.DDDD..DDDD.
..DWD..DWD..
 .DDDDDDDD.
 ...DWWD...
 ...DWWD...
 .DDDDDDDD.
..DWD..DWD..
.DDDD..DDDD.
.DD......DD.
....    ....
ENDMAP

NAME: chequers_decorated_corner
TAGS: decor extra transparent
DEPTH: D, Depths
SUBST: T = T:3 V:3 G:1
MAP
xxxxxxxxxx
x.......G@
x.TG.....@
x.Gxxxxxxx
x..x
xG.x
x@@x
ENDMAP

NAME: chequers_jeans
TAGS: decor extra transparent
DEPTH: D, Depths
SUBST: G = G.$
MAP
....@....
.xxxxxxx.
.xxxGxxx.
.xxx.xxx.
.xxx.xxx.
.xxx.xxx.
.xx...xx.
.xx...xx.
.xx...xx.
.xx...xx.
.xx...xx.
.........
ENDMAP

NAME: chequers_mini_garden
TAGS: decor extra transparent
DEPTH: D
SUBST:  t = t-
COLOUR: - = green
COLOUR: . = brown / green / none
FTILE:  . = floor_dirt / floor_grass / none
FTILE:  t- = floor_grass
MAP
....
.tt.
.tt.
....
ENDMAP

NAME: chequers_garden
TAGS: decor extra transparent
DEPTH: D
SUBST:  t = t-
COLOUR: - = green
COLOUR: . = brown / green / none
FTILE:  . = floor_dirt / floor_grass / none
FTILE:  t- = floor_grass
MAP
........
........
..ttt...
..tt.t..
..t.tt..
...ttt..
........
........
ENDMAP

NAME: chequers_avenue
TAGS: decor extra transparent
DEPTH: D
SUBST: t = G:3 t
SHUFFLE: tG
MAP
xxxxxxxxxxxxxxxxxxxxxxxxx
.t.t.t.t.t.t.t.t.t.t.t.t.
@.......................@
.t.t.t.t.t.t.t.t.t.t.t.t.
xxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

NAME:   chequers_arboretum
TAGS:   decor extra
DEPTH:  D
SUBST:  - = tt.
COLOUR: . = green
FTILE:  t. = floor_grass
MAP
xxx+xxx
xt-.-tx
x-.-.-x
x.---.x
xt.-.tx
xxxxxxx
ENDMAP

NAME: ebering_dispersal_statue_hall
TAGS: decor extra
KFEAT: ^ = dispersal trap
MAP
xxxxx
.^G^.
xxxxx
ENDMAP

NAME:   amcnicky_mini_pool_small
TAGS:   decor extra transparent
SUBST:  p:wwwWWl
MAP
 xx.xx
xx...xx
x..p..x
..ppp..
x..p..x
xx...xx
 xx.xx
ENDMAP

NAME:   amcnicky_mini_rare_corridor_liquid
TAGS:   extra transparent decor
SUBST:  p:wl
MAP
xxxxxxxxxxx
xpppppppppx
@.........@
xpppppppppx
xxxxxxxxxxx
ENDMAP

NAME:   amcnicky_mini_corridor_feature
TAGS:   extra no_item_gen transparent
# Total weight: 100
SUBST:  p: ......GGGGttnlY
MAP
xx@xx
xp.px
xx.xx
xx.xx
xp.px
xx.xx
xx.xx
xp.px
xx@xx
ENDMAP

#####################################################################
#
# <<2>> Inaccessible items
#       Various vaults themed around inaccessible items. No monsters,
#       but perils (water, lava, traps) are okay.
#
#####################################################################

NAME:  corner_web_ring
TAGS:  extra transparent
DEPTH: D, Depths, Elf, Crypt
KFEAT: d = web
KITEM: d = any jewellery
MAP
xxxxxxx
xd....@
x.xxxxx
x.x
x.x
x.x
x@x
ENDMAP

NAME:  feat_on_display
DEPTH: D, Depths, Elf, Crypt
TAGS:  serial_glass_rare allow_dup transparent
KMASK: ?TUl = opaque
KPROP: ? = no_tele_into
SUBST: ? = TUl
TAGS:  no_monster_gen no_item_gen
MAP
.....
.mmm.
.m?m.
.mmm.
.....
ENDMAP

NAME:   item_on_display_a
DEPTH:  D, Depths, Elf, Crypt
TAGS:   serial_glass_rare allow_dup transparent
WEIGHT: 9
KMASK:  %* = opaque
KPROP:  % = no_tele_into
SUBST:  % = %%%*
TAGS:   no_monster_gen no_item_gen
MAP
.....
.mmm.
.m%m.
.mmm.
.....
ENDMAP

NAME:   item_on_display_b
DEPTH:  D, Depths, Elf, Crypt
TAGS:   serial_glass_rare allow_dup transparent
WEIGHT: 1
KMASK:  *| = opaque
KPROP:  * = no_tele_into
SUBST:  * = ***|
TAGS:   no_monster_gen no_item_gen
MAP
.....
.mmm.
.m*m.
.mmm.
.....
ENDMAP

# Identical in feature and content to item_on_display_b, only that it
# contains within an unseen horror, by due.
NAME:   unseen_surprise_small
WEIGHT: 1
TAGS:   serial_glass_rare allow_dup no_wall_fixup transparent
DEPTH:  D:8-, Depths, Elf, Crypt
KMASK:  a = opaque
KPROP:  a = no_tele_into
KMONS:  a = generate_awake unseen_horror
KITEM:  a = | / *
MAP
.....
.mmm.
.mam.
.mmm.
.....
ENDMAP

# Unseen surprise! by due (and dpeg).
NAME:   due_unseen_surprise
DEPTH:  D, Depths, Elf, Crypt
TAGS:   serial_glass_rare allow_dup no_wall_fixup luniq transparent
KPROP:  ab = no_tele_into
KMASK:  ab%* = opaque
: if you.absdepth()<11 or crawl.random2(27)>you.absdepth() then
SUBST:  a = %
SUBST:  b = %**
: else
KFEAT:  a = .
KFEAT:  b = .
# Two versions for loot.
: if crawl.coinflip() == 0 then
KITEM: a = * / %
KITEM: b = *
: else
KITEM: a = % / | w:1
KITEM: b = |
: end
# Expected value of unseen horrors depends on depth:
: local wt = (you.absdepth()-10) * (you.absdepth()-10)
: kmons("a = generate_awake unseen horror w:" .. wt .. " / nothing w:40")
KMONS: b = generate_awake unseen horror
: end
MAP
........@
.........
..mmmmm..
..maaam..
..mabam..
..maaam..
..mmmmm..
.........
.........
ENDMAP

NAME:  minmay_statues_item
TAGS:  extra transparent
DEPTH: D, Depths
KPROP: % = no_tele_into
KMASK: % = opaque
MAP
.....
.GcG.
.c%c.
.GcG.
.....
ENDMAP

NAME:  corexii_item_surrounded_by_moat
DEPTH: D:1-7
TAGS:  no_pool_fixup no_monster_gen no_item_gen allow_dup extra transparent
KPROP: % = no_tele_into
KMASK: % = opaque
MAP
.....
.www.
.w%w.
.www.
.....
ENDMAP

NAME:   water_maze_lemuel
TAGS:   no_pool_fixup uniq_water_maze_lemuel
WEIGHT: 5
ITEM:   scroll of teleportation ident:type q:3
DEPTH:  D:5-, Depths
MAP
   wwwwwwwww
  wwcccccccww
 wwccwwwwwccww
wwccwwcccwwccww
wccwwccwccwwccw
wcwwccwwwccwwcw
wcwcc*wcwwccwcw
wcwc*d*ccwwcwcw
wcwcc*ccwwccwcw
wcwwcccwwccwwcw
wccwwccwccwwccw
wwccwwcwcwwccww
 wwccwwwcwccww
  wwcccccwcww
   wwwwwwwww
ENDMAP

NAME:   water_boxes_lemuel
TAGS:   no_pool_fixup uniq_water_maze_lemuel
WEIGHT: 5
DEPTH:  D:5-, Depths, Swamp
KMONS:  * = fungus
KFEAT:  * = *
NSUBST: a = 1:+ / *:x
NSUBST: b = 1:+ / *:x
NSUBST: c = 1:+ / *:x
NSUBST: d = 1:+ / *:x
KPROP:  *+ = no_tele_into
MAP
  wwwwwwww
 wwwwwwwwww
wwxaxwwxbxww
wwa*awwb*bww
wwxaxwwxbxww
wwwwwwwwwwww
wwwwwwwwwwww
wwxdxwwxcxww
wwd*dwwc*cww
wwxdxwwxcxww
 wwwwwwwwww
  wwwwwwww
ENDMAP

# Transporter accident (mumra)
NAME:   mumra_transporter_accident
TAGS:   extra transparent
WEIGHT: 1
DEPTH:  D:5-, Depths, Lair, Elf, !Elf:$, Orc
SUBST:  X = m.
 : dgn.delayed_decay(_G,'A', 'human skeleton')
# Prevent random teleportation getting you stuck
KMASK:  AB = opaque
KPROP:  AB = no_tele_into
KFEAT:  A = floor
KFEAT:  B = floor
MAP
     ....
    .XXXX.
   .XmmmmX.
  .XmmmmmmX.
  .XmmBAmmX.
  .XmmmmmmX.
   .XmmmmX.
    .XXXX.
     ....
ENDMAP

####################################################################
#
# <<3>> Supply closet vaults
#       (vaults with items and no risk).
#
####################################################################

NAME:   supply_closet_lemuel
DEPTH:  D:1-9
TAGS:   no_monster_gen extra transparent
ITEM:   stone w:15 / arrow / bolt / spear / any potion w:10
MAP
x+xx
xddx
xddx
xxxx
ENDMAP

NAME:    minmay_variable_closet
TAGS:    extra transparent
DEPTH:   D:9-, Depths
ITEM:    any weapon, any missile, any armour, any scroll
ITEM:    any jewellery, any potion, any book
SUBST:   $ : $ZYXW
SUBST:   $ : $%defghij
SUBST:   W = $%defghij
SUBST:   Z = def
SUBST:   Y = gi
SUBST:   X = hj
MAP
x+xx
x$$x
x$$x
xxxx
ENDMAP

NAME:   library_closet
DEPTH:  D:9-, Depths, Elf, Crypt, Snake, Orc
TAGS:   extra transparent
WEIGHT: 5
ITEM:   any book w:20 / any scroll / nothing
MAP
x+xx
xddx
xddx
xxxx
ENDMAP

NAME:   eino_small_chamber_without_monster
TAGS:   allow_dup extra ruin_lair ruin_abyss transparent
DEPTH:  D:4-, Depths, Lair, Abyss
MAP
 xxxxx
xx...xx
x..*..x
x.....x
xx...xx
 x...x
ENDMAP

NAME:   eino_tiny_chamber
TAGS:   allow_dup extra transparent
DEPTH:  D:2-, Depths, Elf, Crypt
MAP
xxxxx
x...x
x.*.+
x...x
xxxxx
ENDMAP

NAME: nrook_loot_triangle
TAGS: extra
DEPTH: D, Depths, Elf, Snake, Dis
MAP
    v
   vvv
  vv.vv
 vv.*.vv
vvvv@vvvv
ENDMAP

NAME:  minmay_gold_behind_fungi
TAGS:  extra no_monster_gen transparent
DEPTH: D, Depths
MONS:  fungus, toadstool
NSUBST: 1 = 2=2 / 4=12 / 1
MAP
11111
1$$$1
1$$$1
1$$$1
11111
ENDMAP

NAME:   corexii_mini_fake_secret_closet
DEPTH:  D:4-, Depths
WEIGHT: 1
TAGS:   no_monster_gen no_item_gen allow_dup extra transparent
NSUBST: + = 1:+ / *:x, = = 1:+ / *:x
SUBST:  d = %%%., e = **%.
MAP
xxxxxxx
+dd=eex
xdd=eem@
xxxxxxx
ENDMAP

NAME:   evilmike_butchery
TAGS:   no_item_gen transparent
DEPTH:  D:9-, Depths
SUBST:  . = ..", X = xxB
KPROP:  "B = bloody
SUBST:  " = ., B = x
NSUBST: . = 5:d / 10=d. / 2:e / 1:e. / *=.f
: dgn.delayed_decay(_G, 'e', 'minotaur corpse')
ITEM:   hand axe
SUBST:  ' = .
MAP
xxxxxxxxx
xXXXXXXXx
xX.....Xx
xX.....Xx
+'.....Xx
xX.....Xx
xX.....Xx
xXXXXXXXx
xxxxxxxxx
ENDMAP

NAME:   dk_vineyard_1
DEPTH:  D:2-12
WEIGHT: 4
TAGS:   no_item_gen no_monster_gen uniq_vineyard extra transparent
ITEM:   any potion / nothing
NSUBST: . = 6:d
KFEAT:  w = shallow_water
FTILE:  .d = floor_moss / floor_grass / floor_dirt
COLOUR: .d = green
MAP
xxxxxxxxx
xwwwwwwwx
xw.....wx
xw.....wx
xw.....w+
xw.....wx
xw.....wx
xw.....wx
xwwwwwwwx
xxxxxxxxx
ENDMAP

NAME:   dk_vineyard_2
DEPTH:  D:2-12
WEIGHT: 4
TAGS:   no_item_gen no_monster_gen uniq_vineyard extra transparent
ITEM:   any potion / nothing
NSUBST: . = 4:d
KFEAT:  w = shallow_water
FTILE:  .d = floor_moss / floor_grass
COLOUR: .d = green
MAP
xxxxxxxx
x......x
x.wwww.+
x......x
xxxxxxxx
ENDMAP

NAME:   dk_vineyard_3
DEPTH:  D:2-12
WEIGHT: 4
TAGS:   no_item_gen no_monster_gen uniq_vineyard extra transparent
ITEM:   any potion / nothing
NSUBST: . = 4:d
NSUBST: : = 5:. / *:'
KFEAT:  w = shallow_water
FTILE:  .d = floor_moss / floor_grass
COLOUR: .d = green
FTILE:  ' = floor_normal
MAP
::..::
:..ww.
:.ww.:
.ww..:
:.ww..
.ww...
:...::
ENDMAP

# Wand duel gone wrong.
NAME:   nicolae_wand_duel
DEPTH:  D:6-
WEIGHT: 1
KITEM:  d = wand of acid / wand of iceblast / wand of flame
TAGS:   no_hmirror no_vmirror no_monster_gen no_item_gen extra transparent
SUBST:  a = a A:4, b = b B:4
KPROP:  ABd = bloody
SUBST:  A = a, B = b
NSUBST: a = 1:c / *:. , b = 1:c / *:.
: dgn.delayed_decay(_G, 'c', 'human corpse')
MAP
  aaa.....bbb
 aaaaa...bbbbb
aaaaaaa.bbbbbbb
aaadaaa.bbbdbbb
aaaaaaa.bbbbbbb
 aaaaa...bbbbb
  aaa.....bbb
ENDMAP

NAME:  mrwooster_statue_mirror
TAGS:  no_item_gen no_monster_gen extra luniq decor transparent
DEPTH: D:2-12
NSUBST: a : 3:% / *:.
MAP
...........
..x..G..x..
..xxaaaxx..
..xxxxxxx..
..xxaaaxx..
..x..G..x..
...........
ENDMAP

NAME:    hellmonk_bongcloud_opening
TAGS:    no_item_gen no_monster_gen no_trap_gen no_hmirror no_vmirror no_rotate
TAGS:    decor extra transparent
DEPTH:   D:5-, Depths, Orc, Elf
ITEM:    piece from Xom's chessboard
KFEAT:   H = G
COLOUR:  d' = white
COLOUR:  - = brown
FTILE:   Gd' = floor_pebble_white
FTILE:   H- = floor_pebble_brown
MAP
..........
.GHGHGHGH.
.HGHG-GHG.
.'-'-'-'-.
.-'-'H'-'.
.'-'-G-'-.
.-'-'-'-'.
.GHGHdHGH.
.HGHG-GHG.
..........
ENDMAP

NAME: nicolae_benzene_ring
DEPTH: D:6-, Depths
NSUBST: d = d / .
ITEM: any ring
TAGS: transparent extra decor
MAP
 xxxxxxxxxx...xxxxxxxxxx
 xxxxxxxx...x...xxxxxxxx
 xxxxxx...xxxxx...xxxxxx
 xxxx.d.x...xxxxx...xxxx
 xx...xxxxx...xxxxx...xx
 ...x.xxxxxxx...xxxxx...
x.xxx.xxxxxxxxxd..xxxxx.x
x.xxx.xxxxxxxxxxx...xxx.x
x.xxx.xxxxxxxxxxxxx...x.x
x.xxx.xxxxxxxxxxxxxxx...x
x.xxx.xxxxxxxxxxxxxxxxx.x
x.xxxdxxxxxxxxxxxxxxxxxdx
x.xxx.xxxxxxxxxxxxxxxxx.x
x.xxx.xxxxxxxxxxxxxxx...x
x.xxx.xxxxxxxxxxxxx...x.x
x.xxx.xxxxxxxxxxx...xxx.x
x.xxx.xxxxxxxxxd..xxxxx.x
 ...x.xxxxxxx...xxxxx...
 xx...xxxxx...xxxxx...xx
 xxxx.d.x...xxxxx...xxxx
 xxxxxx...xxxxx...xxxxxx
 xxxxxxxx...x...xxxxxxxx
 xxxxxxxxxx...xxxxxxxxxx
ENDMAP

NAME: nicolae_straight_to_the_point
DEPTH: D:8-, !D:$
TAGS: no_item_gen transparent
KMASK: i> = opaque
KITEM: >i = any / any good_item / star_item w:1 / $ / $ good_item w:1
KFEAT: > = >
NSUBST: a = @ / .
CLEAR: _
MAP
@........           ........@
..c......           ......c..
.ccc...c.           .c...ccc.
..ccc.cc.           .cc.ccc..
...ccccc.           .ccccc...
....cccc.           .cccc....
...ccccc.           .ccccc...
..cccccc.           .cccccc..
.........           .........
         _
          _
           ..aaa..
           .cmmmc.
           .miiim.
           .mi>im.
           .miiim.
           .cmmmc.
           .......
                  _
                   _
.........           .........
..cccccc.           .cccccc..
...ccccc.           .ccccc...
....cccc.           .cccc....
...ccccc.           .ccccc...
..ccc.cc.           .cc.ccc..
.ccc...c.           .c...ccc.
..c......           ......c..
@........           ........@
ENDMAP

NAME: nicolae_zen_rock_garden
TAGS: no_monster_gen no_trap_gen no_item_gen extra decor transparent
DEPTH: D:4-12
SUBST: Q = TPW, T = tP, P = p'', Y = W', Z = tW, ' = ':13 r:1
FTILE: tp'r = floor_sand
KMONS: p = plant
KITEM: r = stone q:1 / large rock q:1 w:5
KITEM: s = pair of boots
KFEAT: ' = .
MAP
xxxxxxxxxxxxxxxxxxxxxx
xtttttttttttT''x.....x
xttTTTttttTT'''+.....x
xtTPPPTTTT''''Px.....x
xtTP''''''''PTTxxx+xxx
xtTP'''''''PTttxx...xx
xtTP'''PP'''Tttxxx+xxx
xttTPPPTTP'''QZx....sx
xtttTTTttTP''WWx.....+
xttttttttttZWWWx.....x
xxxxxxxxxxxxxxxxxxxxxx
ENDMAP

NAME:   dk_noncrumbling_2
TAGS:   extra decor transparent
DEPTH:  D, Depths, Elf
MAP
       xx+xx
       xx.xx
       xG.Gx
       xx.xx
       xx.xx
       xG.Gx
       xx.xx
       xx.xx
       xG.Gx
xxxxxxxxx.xxxxxxxxxxx
xxGxxxGxx.xxGxxGxxGxx
+........*..........+
xxGxxxGxx.xxGxxGxxGxx
xxxxxxxxx.xxxxxxxxxxx
       xG.Gx
       xx.xx
       xx.xx
       xG.Gx
       xx.xx
       xx.xx
       xG.Gx
       xx.xx
       xx+xx
ENDMAP

NAME:   dk_noncrumbling_3
TAGS:   extra decor transparent
DEPTH:  D, Depths, Elf
MAP
    xx+xx
   xx...xx
  xx.....xx
 xx.G...G.xx
xx.x.....x.xx
x...G...G...x
+.....*.....+
x...G...G...x
xx.x.....x.xx
 xx.G...G.xx
  xx.....xx
   xx...xx
    xx+xx
ENDMAP

NAME:   dk_noncrumbling_4
TAGS:   extra decor transparent
DEPTH:  D, Depths, Elf
MAP
    xx+xx
   xxG.Gxx
  xx.....xx
 xxG.....Gxx
xx.........xx
xG.........Gx
+.....*.....+
xG.........Gx
xx.........xx
 xxG.....Gxx
  xx.....xx
   xxG.Gxx
    xx+xx
ENDMAP

NAME:  kennysheep_small_spiral
TAGS:  extra decor transparent
DEPTH: D, Depths, !D:$, !Depths:$
: ks_random_setup(_G)
MAP
ccccccccccFcc
cwwwwwwwwwHwc
+..........wc
cwxxxxxxxx.wc
cw.......x.wc
cw.xxxxx.x.wc
cw.x..*x.x.wc
cw.x.xtx.x.wc
cw.x.xxx.x.wc
cw.x.....x.wc
cw.xxxxxxx.wc
cw.........ED
cwHwwwwwwwwwc
ccFcccccccccc
ENDMAP

##########################################################################
#
# <<4>> Fog generator vaults.
#       Most of these are very dangerous. But no monsters.
#
# Many of these vaults rely on status to halt autoexplore. If a dangerous
# fog has been spotted by the player, autoexclusions will be placed. Note
# that you may use some of these vaults to kill monsters, but there's some
# risk involved and you won't get experience.
#
##########################################################################

NAME:   lemuel_flamethrower_3
DEPTH:  D:12-, Depths, Elf, Geh, Abyss
TAGS:   allow_dup ruin_abyss
MARKER: * = lua:fog_machine { cloud_type="flame", \
            pow_min = 20, pow_max = 40, delay = 150, \
            size = 2, walk_dist = 0, spread_rate= 75 }
COLOUR: * = red
SUBST:  * = .
:  if you.in_branch("Geh") then
TAGS:   transparent extra
:  end
MAP
.....
cc.cc
cc.cc
cc.cc
 c*c
 ccc
  c
ENDMAP

NAME:   lemuel_flamethrower_2
DEPTH:  D:5-, Depths, Elf, Geh, Abyss
TAGS:   ruin_abyss
MARKER: * = lua:fog_machine { cloud_type="flame", \
            pow_min = 20, pow_max = 40, delay_min = 100, delay_max=200, \
            size = 2, walk_dist = 0, spread_rate= 75 }
COLOUR: n = red
SUBST:  * = .
:  if you.in_branch("Geh") then
TAGS:   transparent extra
:  end
MAP
...........
.xxxx.xxxx.
.xxxx.xxxx.
.xxxx*xxxx.
.xxxnnnxxx.
...*nGn*...
.xxxnnnxxx.
.xxxx*xxxx.
.xxxx.xxxx.
.xxxx.xxxx.
...........
ENDMAP

NAME:   lemuel_flamethrower_1
DEPTH:  D:5-, Depths, Elf, Geh
TAGS:   layout_rooms layout_city
MARKER: * = lua:fog_machine { cloud_type="flame", \
            pow_min = 20, pow_max = 40, delay = 150, \
            size = 2, walk_dist = 0, spread_rate= 75 }
COLOUR: * = red
SUBST:  * = .
:  if you.in_branch("Geh") then
TAGS:   transparent extra
:  end
MAP
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxGxxxxxx
.............
@...........@
.............
xxxxxx.xxxxxx
xxxxxx.xxxxxx
xxxxxx.xxxxxx
xxxxxx*xxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
ENDMAP

# Little wisps of steam around the lava, and then occasionally a big
# eruption. No warning needed here - the steam does very little damage.
NAME:   lemuel_old_faithful
DEPTH:  D, Depths, Lair, Geh
TAGS:   uniq_geyser no_monster_gen transparent
MONS:   nothing,nothing
MARKER: 1 = lua:fog_machine { cloud_type="steam", \
            pow_min = 2, pow_max = 5, delay = 25, \
            size = 2, walk_dist = 3, spread_rate= 10 }
MARKER: 2 = lua:fog_machine { cloud_type="steam", \
            pow_min = 10, pow_max = 20, delay = 750, \
            size = 10, walk_dist = 1, spread_rate= 75 }
SUBST:  1 = l, 2 = l
SUBST:  l = l w:20
SUBST:  ? : w. , ! : w. , & : w.
:  if you.in_branch("Geh") then
TAGS:   extra
:  end
MAP
.......?.......
......&?.......
.......??......
..&&&&???......
&&&&&wwwww.....
&&&wwwwwwwww&&.
.wwwwwlwwwwwww&
..&wwl1lwwwww&&
...wwwl2lwww&&.
....wwwlww&&...
..!!wwwww......
..!!!www.......
.!!!!w!.....!..
..!!!w.....!!!.
...!!.......!!.
ENDMAP

NAME:   lemuel_another_geyser
DEPTH:  D, Depths, Lair
TAGS:   uniq_geyser no_monster_gen layout_rooms transparent
MONS:   nothing,nothing
MARKER: 1 = lua:fog_machine { cloud_type="steam", \
            pow_min = 2, pow_max = 5, delay = 25, \
            size = 3, walk_dist = 3, spread_rate= 20 }
MARKER: 2 = lua:fog_machine { cloud_type="steam", \
            pow_min = 15, pow_max = 30, delay = 750, \
            size = 12, walk_dist = 1, spread_rate= 99 }
SUBST:  1 = l, 2 = l
SUBST:  l = lw
SUBST:  ? : wlx
MAP
  .......
....www....
...wwwww...
xxxxxwxxxxx
xxxxxwwxxxx
xxxxxxxwxxx
xxxxxxxwxxx
xx??xxwxxxx
xx??lw1wxxx
xxxxxlwwwxx
xxxxxl2xxxx
xxxxxxxxxxx
ENDMAP

NAME:  lemuel_nasty_fountain
DEPTH: D:11-, Depths, Crypt, Tar
TAGS:  allow_dup
MARKER: Y = lua:fog_machine { cloud_type = "foul pestilence", \
             pow_min = 8, pow_max = 12, delay_min = 20, delay_max = 30, \
             size = 2, walk_dist = 1, spread_rate= 33 }
:  if you.in_branch("Tar") then
TAGS:   extra
:  end
MAP
Y
ENDMAP

NAME:   lemuel_flame_loot_1
TAGS:   no_tele_into
DEPTH:  D, Depths, Elf, Zot
ITEM:   nothing
SUBST:  * = *.
SUBST:  * : *$
NSUBST: @ = 2:@ / *:@.
MARKER: d = lua:fog_machine { cloud_type = "flame", \
             pow_min = 10, pow_max = 10, delay = 10, \
             size = 2, walk_dist = 0, spread_rate= 0 }
SUBST:  ' = .
:  if you.in_branch("Zot") then
TAGS:   extra
:  end
MAP
ccccc.@.ccccc
ccccc'''ccccc
ccccc'd'ccccc
ccccc'''ccccc
ccccc...ccccc
.'''.***.'''.
@'d'.***.'d'@
.'''.***.'''.
ccccc...ccccc
ccccc'''ccccc
ccccc'd'ccccc
ccccc'''ccccc
ccccc.@.ccccc
ENDMAP

NAME:    lemuel_freeze_loot_1
DEPTH:   D:12-, Depths, Crypt
SUBST:   * : **$
SUBST:   * = **|
NSUBST:  N = 1:+ / *:n
MONS:    nothing, nothing, nothing, nothing
SHUFFLE: 1234
MARKER:  1 = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 1, pow_max = 10, delay = 85, \
             size = 2, walk_dist = 2, spread_rate= 20 }
MARKER:  2 = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 1, pow_max = 10, delay = 95, \
             size = 2, walk_dist = 2, spread_rate= 20 }
MARKER:  3 = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 1, pow_max = 10, delay = 105, \
             size = 2, walk_dist = 2, spread_rate= 20 }
MARKER:  4 = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 1, pow_max = 10, delay = 115, \
             size = 2, walk_dist = 2, spread_rate= 20 }
SUBST:   1=w, 2=w, 3=w, 4=w
MAP
   .wwwww.
 .wwwwwwwww.
 wwwww1wwwww
.wwcnnNnncww.
wwwn..F..nwww
ww2N.***.nwww
wwwn.***.N4ww
wwwn..F..nwww
.wwcnnNnncww.
 wwwww3wwwww
 .wwwwwwwww.
   .wwwww.
ENDMAP

# No safe path in this one -- just got to take your chances!
NAME:   lemuel_flames_and_gold
DEPTH:  Depths
WEIGHT: 2
TAGS:   no_item_gen transparent
ITEM:   nothing, nothing, nothing
NSUBST: . = 4:d / 4:e / 4:f / *:.
MARKER: d = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 4, delay = 29, start_clouds = 1, \
             size = 2, walk_dist = 2, spread_rate= 0 }
MARKER: e = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 4, delay = 31, start_clouds = 1, \
             size = 2, walk_dist = 2, spread_rate= 0 }
MARKER: f = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 4, delay = 37, start_clouds = 1, \
             size = 2, walk_dist = 2, spread_rate= 0 }
MAP
.............
.............
.............
.............
......$......
.....$$$.....
....$$G$$....
.....$$$.....
......$......
.............
.............
.............
.............
ENDMAP

# No item generation for the sake of autoexplore.
NAME:   lemuel_flamethrower_hall
DEPTH:  D:9-, Depths, Elf, Geh, Abyss
TAGS:   layout_rooms layout_city no_item_gen ruin_abyss
MARKER: * = lua:fog_machine { cloud_type="flame", \
            pow_min = 25, pow_max = 50, delay = 150, \
            size = 3, walk_dist = 0, spread_rate= 40 }
COLOUR: * = red
SUBST:  * = .
SUBST:  $ : $$*|.c
:  if you.in_branch("Geh") then
TAGS:   extra
:  end
MAP
ccccccccccccccccccccccc
ccxxx*xxxxx*xxxxx*xxxxc
Gcxxx.xxxxx.xxxxx.xxxxc
ccccc.ccccc.ccccc.ccccc
c.................+$$$c
+.................+$$$c
c.................+$$$c
cc.ccccc.ccccc.cccccccc
Gc.xxxxx.xxxxx.xxxxxxxc
cc*xxxxx*xxxxx*xxxxxxxc
ccccccccccccccccccccccc
ENDMAP

# A poor man's Radiant Cavern (1KB)
NAME:  kilobyte_mutagenic_chamber
DEPTH: Depths, Elf, Abyss
TAGS:  ruin_abyss
MARKER:     U = lua:fog_machine { cloud_type = "mutagenic fog", \
                pow_min = 10, pow_max = 30, delay = 5, \
                size = 4, walk_dist = 0, spread_rate= 0 }
MAP
ccccccccc
cvvvvvvvc
cv.|||.vc
cv.nnn.vc
cv.U.U.vc
cvn...nvc
cv.....vc
cv.nnn.vc
cv.....vc
cvvv+vvvc
ENDMAP

NAME: nrook_campfire
TAGS: transparent extra decor
DEPTH: D, Depths
KMASK: P = opaque
MARKER: P = lua:fog_machine { cloud_type = "flame", \
             pow_min = 10, pow_max = 10, delay = 5, \
             size = 1, walk_dist = 0, start_clouds = 1 }
MAP
........
..ttttt.
.ttmmmt..
.ttmPmtt.
.ttmmmtt.
.tttttt..
.......
ENDMAP

#######################################################################
#
# <<5>> Classical minivaults
#       All of these are 12x12, almost all are ancient.
#       This section is separate for nostalgic reasons.
#
#######################################################################

NAME:  minivault_1
TAGS:  transparent allow_dup extra ruin_abyss
DEPTH: D:4-, Depths, Abyss
MAP
............
..xxxx+xxx..
.xG..x...Gx.
.x....x...x.
.x...x....x.
.xx.x*x.x.+.
.+.x.x*x.xx.
.x....x...x.
.x...x....x.
.xG...x..Gx.
..xxx+xxxx..
............
ENDMAP

NAME:  minivault_4
TAGS:  transparent allow_dup extra ruin_abyss decor
DEPTH: D, Elf, Crypt, Abyss
MAP
............
....xwxx....
..xxxwwxwx..
..xwwwwwwx..
.xwwxwwxwxx.
.xwwwwwwwwx.
.xwwxwwwxww.
.xxwwwwwwxx.
..wwwwxwwx..
..xxxwwxxw..
....xxww....
............
ENDMAP

NAME:  minivault_5
TAGS:  transparent allow_dup extra ruin_abyss
DEPTH: D, Elf, Crypt, Abyss
MAP
............
.x.xxxxxxxx.
.x.x......x.
.x.x.xxxx.x.
.x.x.x**x.x.
.x.x.x**x.x.
.x.x.xx.x.x.
.x.x....x.x.
.x.xxxxxx.x.
.x........x.
.xxxxxxxxxx.
............
ENDMAP

# Modified for DCSS 0.8, as 16 good items on D:1 is too good. -dpeg
NAME:  minivault_10
DEPTH: D:6-, Depths, !Depths:$
SUBST: * = %:30 * |:1
TAGS:  extra transparent
MAP
xxxx  xxxx
x**x  x**x
x**+..+**x
xx+x..x+xx
  ......
  ......
xx+x..x+xx
x**+..+**x
x**x  x**x
xxxx  xxxx
ENDMAP

# Multicoloured onion
NAME:    minivault_11
DEPTH:   D, Depths, Elf, Crypt, Lair, Abyss
TAGS:    transparent extra ruin_abyss ruin_lair decor
SHUFFLE: bcv
MAP
............
.+xxxxxxxx+.
.x........x.
.x.+cccc+.x.
.x.c....c.x.
.x.c.bb.c.x.
.x.c.bb.c.x.
.x.c....c.x.
.x.+cccc+.x.
.x........x.
.+xxxxxxxx+.
............
ENDMAP

# Water cross
NAME: minivault_14
TAGS: transparent allow_dup extra decor
MAP
............
.wwwww.wwww.
.wwwww.wwww.
.wwwww.wwww.
.wwwww.wwww.
.......wwww.
.wwww.......
.wwww.wwwww.
.wwww.wwwww.
.wwww.wwwww.
.wwww.wwwww.
............
ENDMAP

NAME:  minivault_19
TAGS:  transparent allow_dup extra ruin_lair ruin_abyss decor
DEPTH: D, Elf, Crypt, Lair, Abyss
MAP
............
.xx......xx.
.xxx....xxx.
..xxx..xxx..
...xxxxxx...
....xxxx....
....xxxx....
...xxxxxx...
..xxx..xxx..
.xxx....xxx.
.xx......xx.
............
ENDMAP

NAME:  minivault_21
TAGS:  transparent extra
DEPTH: D:8-, !D:$, Depths:2-, !Depths:$
KMASK: |'<>* = opaque
MAP
............
..xxxxxxxx..
.x........x.
.x.xxmxxx.x.
.x.x|''<x.x.
.x.x'**'m.x.
.x.m'**'x.x.
.x.x>''|x.x.
.x.xxxmxx.x.
.x........x.
..xxxxxxxx..
............
ENDMAP

NAME:  minivault_22
TAGS:  transparent allow_dup extra ruin_abyss
DEPTH: D:6-, Depths, !Depths:$, Abyss
SUBST: $ : $ *:5
SUBST: ~ : . +:2
MAP
............
.....xx.....
...xxxxxx...
..x~x..x~x..
..xx.xx.xx..
.xx.x$$x.xx.
.xx.x$$x.xx.
..xx.xx.xx..
..x~x..x~x..
...xxxxxx...
.....xx.....
............
ENDMAP

NAME:  minivault_23
TAGS:  transparent allow_dup extra ruin_lair ruin_abyss decor
DEPTH: D, Elf, Crypt, Lair, Abyss
MAP
x.x.x.x.x.x.
.x.x.x.x.x.x
x.x.x.x.x.x.
.x.x.x.x.x.x
x.x.x.x.x.x.
.x.x.x.x.x.x
x.x.x.x.x.x.
.x.x.x.x.x.x
x.x.x.x.x.x.
.x.x.x.x.x.x
x.x.x.x.x.x.
.x.x.x.x.x.x
ENDMAP

NAME:  minivault_24
TAGS:  transparent allow_dup extra ruin_lair ruin_abyss decor
DEPTH: D, Elf, Crypt, Lair, Abyss
MAP
............
....xxxx....
....xxxx....
....xxxx....
.xxxx.x.xxx.
.xxx.x.xxxx.
.xxxx.x.xxx.
.xxx.x.xxxx.
....xxxx....
....xxxx....
....xxxx....
............
ENDMAP

NAME:    minivault_25
TAGS:    transparent allow_dup extra ruin_lair ruin_abyss decor
DEPTH:   D, Elf, Crypt, Lair, Abyss
SHUFFLE: XY
SUBST:   X=x, Y=+
MAP
............
.xxXxxxxxxx.
.x........x.
.x........Y.
.x........x.
.x........x.
.x........x.
.x........x.
.Y........x.
.x........x.
.xxxxxxxXxx.
............
ENDMAP

NAME: minivault_26
TAGS: transparent allow_dup extra ruin_lair ruin_abyss decor
DEPTH: D, Elf, Crypt, Lair, Abyss
MAP
c..........c
.c...cc...c.
..c..cc..c..
...c....c...
....c..c....
.cc..cc..cc.
.cc..cc..cc.
....c..c....
...c....c...
..c..cc..c..
.c...cc...c.
c..........c
ENDMAP

NAME: minivault_27
TAGS: transparent allow_dup extra ruin_lair ruin_abyss decor
DEPTH: D, Elf, Crypt, Lair, Abyss
MAP
............
.x.xxxxxxxx.
.x........x.
.xxxxxxxx.x.
.x........x.
.x.xxxxxxxx.
.x........x.
.xxxxxxxx.x.
.x........x.
.x.xxxxxxxx.
............
ENDMAP
