################################################################################
# vaults_rooms_standard.des: Subvaults for the Vaults.
#
# Content: These are the subvaults that place a small number of monsters.
################################################################################
#
# All of the subvaults in here should use the tag vaults_room
#
# You can additionally use the following tags:
#
# vaults_orient_n vaults_orient_s vaults_orient_e vaults_orient_w
# no_windows preserve_wall
#
# vaults_orient_x: controls the entry points to the subvault.
# A subvault using vaults_orient_n will always be entered from the north side,
# as it appears in the .des. Multiple orient tags may be used.
#
# no_windows: prevents the layout from creating windows into the subvault.
#
# preserve_wall: prevents the layout from changing rock into the same wall type
# as the rest of the floor.
#
# For the most part, any )s [a potential staircase placement]
# should avoid placing near more than four walls, and definitely not
# in corridor or otherwise chokepoints.
#
# These subvaults will be common building material for the Vaults branch,
# so keep gimmickry to an absolute minimum or at the very least tiny weight.
# Stick with walls, doors, 0, and 0 band, for the most part.
# Also, use allow_dup only on the generic layouts.
#
################################################################################

{{

 -- This defines rough standards used for monster placement in these subvaults.
 -- Try to stick with using this for most subvaults, depending on openness:
 -- "small for ~11x11, "large" for ~>14x14, and "medium" for some in between.
 -- Otherwise, use "custom", or not bother with the function.

function vaults_room_setup(e, nsubst_glyph, nsubst_size)
  e.tags("vaults_room")
  e.mons("0 band")
  if nsubst_size == "small" then
    e.nsubst(nsubst_glyph .. " = 1:1 / 2 = 1.. / *:.")
  elseif nsubst_size == "medium" then
    e.nsubst(nsubst_glyph .. " = 2:1 / 1 = 1.. / *:.")
  elseif nsubst_size == "large" then
    e.nsubst(nsubst_glyph .. " = 2:1 / 2 = 1. / *:.")
  end
end

}}

NAME:     vaults_standard_mumra_x
SUBST:    ) = )..
: vaults_room_setup(_G, "'", "small")
MAP
''.....''
'x..)..x'
.xx...xx.
..xx'xx..
...xxx...
.).'x'.).
...xxx...
..xx'xx..
.xx...xx.
'x..)..x'
''.....''
ENDMAP

NAME:     vaults_standard_mumra_enter_the_diamond
TAGS:     allow_dup vaults_orient_e vaults_orient_w
: vaults_room_setup(_G, ".", "small")
MAP
...........
....xxx....
...xx.xx...
..xx...xx..
.xx.....xx.
.....).....
.xx.....xx.
..xx...xx..
...xx.xx...
....xxx....
...........
ENDMAP

NAME:     vaults_standard_mumra_lines
TAGS:     vaults_orient_e vaults_orient_w
SUBST:    ( = .:2 (:1
: vaults_room_setup(_G, ".", "large")
MAP
....xx.(...
.....xx....
......xx...
.......xx..
.....x.....
....xx.....
...xx......
..xx..xx...
.xx....xx..
xx......xx.
x..xx....xx
....xx....x
.....xx....
...(..xx.(.
.......xx..
ENDMAP

NAME:     vaults_room_corners
TAGS:     allow_dup no_monster_gen
SUBST:    G : xxxxG..........
: vaults_room_setup(_G, ".", "custom")
MAP
xx...xx
xxG.Gxx
.G...G.
...1...
.G...G.
xxG.Gxx
xx...xx
ENDMAP

NAME:     vaults_room_fours
TAGS:     allow_dup
SUBST:    w : x:20 w:5
: vaults_room_setup(_G, ".", "custom")
NSUBST:   . = 1:( / *:.
MAP
.......
.ww.ww.
.ww.ww.
...1...
.ww.ww.
.ww.ww.
.......
ENDMAP

# With apologies to NetHack.
# You'd expect the second room to be completely full of monsters,
# but that would be just a little unfair.
NAME:     vaults_room_grunt_arrival_ludios
WEIGHT:   15 (Vaults:1), 3
TAGS:     vaults_room vaults_orient_e
SUBST:    0 = 00.
SHUFFLE:  {([<
MAP
xxxxxx..
.0.0.x..
0.0.0+..
.0.0.x..
0.0.0x..
..x+xxxx
..x...(x
..x..{[x
ENDMAP

NAME:     vaults_room_door_hall
TAGS:     allow_dup
: vaults_room_setup(_G, ".", "small")
NSUBST:   ( = 1:( / *:.
MAP
......(xxx
.......xxx
..xxxxxxxx
..x....x..
..+....+..
..+....+..
..x....x..
..xxxxxxxx
.......xxx
......(xxx
ENDMAP

NAME:     vaults_room_grunt_arrival_checkpoint
TAGS:     vaults_room vaults_orient_e no_monster_gen no_item_gen no_trap_gen
WEIGHT:   5 (Vaults:1), 3
MONS:     vault guard
MAP
xxxxxxxxxx
xxxx.T.xxx
xxxx...xxx
x..n1.1n..
x(.+...+..
x..n1.1n..
xxxx...xxx
xxxx.T.xxx
xxxxxxxxxx
ENDMAP

NAME:     vaults_room_boxed
NSUBST:   - = 1:+ / 2=x+ / *:x
: vaults_room_setup(_G, ".", "large")
MAP
xxxx.......xxxx
xxxx.......xxxx
xxxxxxx+xxxxxxx
xxx.........xxx
..x.x-----x.x..
..x.-.....-.x..
..x.-.....-.x..
..+.-.....-.+..
..x.-.....-.x..
..x.-.....-.x..
..x.x-----x.x..
xxx.........xxx
xxxxxxx+xxxxxxx
xxxx.......xxxx
xxxx.......xxxx
ENDMAP

NAME:    v_pattern_1
TAGS:    luniq_lattice
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
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.
ENDMAP

NAME:    v_pattern_2
TAGS:    luniq_lattice
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
.x.x...x.x.
x.x.x.x.x.x
.x.x.x.x.x.
x.x.....x.x
.x.......x.
..x..0..x..
.x.......x.
x.x.....x.x
.x.x.x.x.x.
x.x.x.x.x.x
.x.x...x.x.
ENDMAP

NAME:    v_pattern_3
TAGS:    vaults_room luniq_lattice
SHUFFLE: wuyz / ''''
NSUBST:  w = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
SUBST:   ' = .
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...x...x...
.0.wx.xy.0.
...x.x.x...
xwxwx.xyxyx
.x.x.x.x.x.
..x.x.x.x..
.x.x.x.x.x.
xzxzx.xuxux
...x.x.x...
.0.zx.xu.0.
...x...x...
ENDMAP

NAME:    v_pattern_4
TAGS:    luniq_lattice
SUBST:   y:x.
: vaults_room_setup(_G, ".", "small")
NSUBST:  ( = 1:( / *:.
MAP
.x.x.(.x.x.
x.x.x.x.x.x
.x.x.x.x.x.
x.x.xxx.x.x
.x.xyyyx.x.
(.xxyxyxx.(
.x.xyyyx.x.
x.x.xxx.x.x
.x.x.x.x.x.
x.x.x.x.x.x
.x.x.(.x.x.
ENDMAP

NAME:    v_pattern_5
TAGS:    luniq_lattice
SHUFFLE: zy
SUBST:   z = .
NSUBST:  y = 1:.+ / *:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
.x.x...x.x.
x.x.x.x.x.x
.xzxzxzxzx.
x.xyxyxyx.x
.xzx.0.xzx.
..xy0.0yx..
.xzx.0.xzx.
x.xyxyxyx.x
.xzxzxzxzx.
x.x.x.x.x.x
.x.x...x.x.
ENDMAP

NAME:    v_alt_pattern_2
TAGS:    allow_dup
NSUBST:  w = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...w...u...
.x.x.x.x.x.
...w...u...
wxwx.x.xuxu
...........
.x.x.x.x.x.
...........
zxzx.x.xyxy
...z...y...
.x.x.x.x.x.
...z...y...
ENDMAP

# Creates stairs in chokepoints, don't spawn on V:$
NAME:    v_alt_pattern_5
DEPTH:   Vaults:1-3
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...........
.xzxzxzxzx.
.z...0...z.
.x.xyxyx.x.
.z.y...y.z.
.x.x0.0x.x.
.z.y...y.z.
.x.xyxyx.x.
.z...0...z.
.xzxzxzxzx.
...........
ENDMAP

NAME:    v_alt_pattern_6
TAGS:    allow_dup
SHUFFLE: wyux
SUBST:   w:., y:., u:.
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...........
.x.x.x.x.x.
.w.w.w.w.w.
.y.y.y.y.y.
.u.u.u.u.u.
...........
.u.u.u.u.u.
.y.y.y.y.y.
.w.w.w.w.w.
.x.x.x.x.x.
...........
ENDMAP

NAME:    v_misc_1
TAGS:    allow_dup
SUBST:   +:++., y:++.
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
....x..x....
....+..+....
....x..x....
...xxyyxx...
x+xx....xx+x
...y....y...
...y....y...
x+xx....xx+x
...xxyyxx...
....x..x....
....+..+....
....x..x....
ENDMAP

NAME:    v_misc_2
TAGS:    allow_dup
SUBST:   a:x.
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...........
...x...x...
...x...x...
.xxx...xxx.
...........
.....a.....
...........
.xxx...xxx.
...x...x...
...x...x...
...........
ENDMAP

NAME:    v_misc_3
TAGS:    allow_dup
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...........
...........
..xxxxxxx..
..xxxxxxx..
..xxxxxxx..
..xxxxxxx..
..xxxxxxx..
..xxxxxxx..
..xxxxxxx..
...........
...........
ENDMAP

NAME:    v_misc_4
TAGS:    allow_dup
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
............
............
..xxx..xxx..
..xxx..xxx..
..xx....xx..
............
............
..xx....xx..
..xxx..xxx..
..xxx..xxx..
............
............
ENDMAP

NAME:    v_misc_5
TAGS:    allow_dup
NSUBST:  y = 1:+ / *:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...........
...........
..xyyyyyx..
..y.....y..
..y.....y..
..y.....y..
..y.....y..
..y.....y..
..xyyyyyx..
...........
...........
ENDMAP

NAME:    v_misc_9
TAGS:    allow_dup
NSUBST:  y = 1:+ / *:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
..x.....x..
..y.....y..
..y.....y..
..y.....y..
..y.....y..
..xyyyyyx..
...........
...........
...........
...........
...........
ENDMAP

NAME:    v_misc_10
TAGS:    allow_dup
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...........
...........
xzzx...xyyx
...z...y...
...z...y...
...z...y...
...z...y...
...z...y...
xzzx...xyyx
...........
...........
ENDMAP

NAME:    v_misc_11
TAGS:    vaults_orient_n vaults_orient_s allow_dup
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...........
...........
xyyxxxxxyyx
...........
...........
xzzxxxxxzzx
...........
...........
xuuxxxxxuux
...........
...........
ENDMAP

NAME:    v_misc_12
TAGS:    vaults_orient_n vaults_orient_s allow_dup
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
....x.x....
....z.y....
....z.y....
....z.y....
....z.y....
xzzzx.xyyyx
...........
...........
...........
...........
...........
ENDMAP

NAME:    v_misc_18
TAGS:    allow_dup
SUBST:   y : .+
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...x...x...
...x...x...
...xxyxx...
xxx.....xxx
..x.....x..
..y.....y..
..x.....x..
xxx.....xxx
...xxyxx...
...x...x...
...x...x...
ENDMAP

NAME:    v_misc_26
TAGS:    allow_dup
SHUFFLE: abcd+
SUBST:   u:xxx., y:x..., U:x, a:x, b:x, c:x, d:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...c...c...
...a...b...
..+x...x+..
dbx.....xad
....yuy....
....uUu....
....yuy....
dax.....xbd
..+x...x+..
...b...a...
...c...c...
ENDMAP

NAME:    v_misc_27
TAGS:    allow_dup
SHUFFLE: abc+
SUBST:   a:x, b:x, c:x
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
....x..x....
...+x..x+...
cbax....xabc
............
............
cbax....xabc
...+x..x+...
....x..x....
ENDMAP

NAME:    v_misc_28
TAGS:    allow_dup
SHUFFLE: a+
SUBST:   +:++., a:.
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
....x..x....
....x..x....
....x..x....
...ax..xa...
xxxx+..+xxxx
............
............
xxxx+..+xxxx
...ax..xa...
....x..x....
....x..x....
....x..x....
ENDMAP

NAME:    v_misc_29
TAGS:    allow_dup
SUBST:   +:.++
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
....x..x....
....x..x....
....x..x....
...xx..xx...
...x....x...
...+....+...
...x....x...
...xx..xx...
....x..x....
....x..x....
....x..x....
ENDMAP

NAME:    v_misc_30
TAGS:    allow_dup
: vaults_room_setup(_G, ".", "small")
NSUBST:  . = 1:( / *:.
MAP
...x...x...
...........
...x...x...
x.xxxxxxx.x
...x...x...
...........
...x...x...
x.xxxxxxx.x
...x...x...
...........
...x...x...
ENDMAP

NAME:    v_misc_31
TAGS:    vaults_room luniq_cells
WEIGHT:  5
SUBST:   0 = 0009..
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
NSUBST:  w = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
NSUBST:  . = 1:( / *:.
MAP
...........
...........
..xux+xzx..
..u0x0x0z..
..xxxxxxx..
..+0xxx0+..
..xxxxxxx..
..y0x0x0w..
..xyx+xwx..
...........
...........
ENDMAP

NAME:    v_misc_32
TAGS:    vaults_room luniq_cells
WEIGHT:  5
SUBST:   0 = 0009..
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
NSUBST:  w = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
NSUBST:  . = 1:( / *:.
MAP
...........
...........
..xxxxxxx..
..x0z0y0x..
..xzx+xyx..
..x0+.+0x..
..xux+xwx..
..x0u.w0x..
..xxx+xxx..
...........
...........
ENDMAP

NAME:    v_misc_33
TAGS:    allow_dup
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
NSUBST:  w = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
: vaults_room_setup(_G, "'", "small")
NSUBST:  . = 1:( / *:.
MAP
..............
..............
..xxxx..xxxx..
..x''w..z''x..
..x''w..z''x..
..xwwx..xzzx..
..............
..............
..xuux..xyyx..
..x''u..y''x..
..x''u..y''x..
..xxxx..xxxx..
..............
..............
ENDMAP

NAME:    v_rooms_1
TAGS:    vaults_orient_n vaults_orient_s vaults_orient_w
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
NSUBST:  w = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
NSUBST:  s = 1:+ / *:x
NSUBST:  t = 1:+ / *:x
: vaults_room_setup(_G, ".", "large")
NSUBST:  . = 1:( / *:.
MAP
...x..x.....x.x......
...y..z.....z.w......
...y..xzzzzzx.w......
xyyx..........w......
.......xtttx..xxxwwwx
xssssx.t...t...u.....
.....s.t...t...u.....
.....s.xtttx...u.....
.....x.........u.....
ENDMAP

NAME:    v_rooms_2
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
NSUBST:  w = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
NSUBST:  s = 1:+ / *:x
NSUBST:  t = 1:+ / *:x
: vaults_room_setup(_G, ".", "large")
NSUBST:  . = 1:( / *:.
MAP
....x..x...x.x...x...
....+..x...x.x...u...
....xyyxx+xx.x...u...
xyyxx........xuuux...
...+.............t...
...x....xxwwwx...t...
xxxx.xzzx....x.xsxttt
...+.z..w....x.s.....
...x.z..w....x.s.....
ENDMAP

NAME:    v_rooms_3
TAGS:    vaults_orient_n vaults_orient_s
NSUBST:  y = 1:+ / *:x
NSUBST:  z = 1:+ / *:x
NSUBST:  w = 1:+ / *:x
NSUBST:  u = 1:+ / *:x
NSUBST:  s = 1:+ / *:x
NSUBST:  t = 1:+ / *:x
: vaults_room_setup(_G, ".", "medium")
MAP
...x.x....x......
...y.x....s......
...y.xttttx......
...y......s......
...y......xxssssx
xyyxux...........
.....u.xwwx.xzzzx
.....u.w..w.z....
.....u.w..w.z....
.....x.x..x.x....
ENDMAP

NAME:    v_rooms_4
TAGS:    allow_dup
: vaults_room_setup(_G, ".", "medium")
NSUBST:  . = 1:( / *:.
MAP
.......x.....
.......x.....
.......x.....
.......x.....
.......x.....
xxxxxx+x.....
.....+.+.....
.....x+xxxxxx
.....x.......
.....x.......
.....x.......
.....x.......
.....x.......
ENDMAP

NAME:    v_rooms_5
TAGS:    allow_dup
: vaults_room_setup(_G, ".", "large")
NSUBST:  . = 1:( / *:.
MAP
.....x..x.....
.....+..x.....
.....x..x.....
.....x..x.....
.....x..x.....
xxxxxx..xxxx+x
..............
..............
x+xxxx..xxxxxx
.....x..x.....
.....x..x.....
.....x..x.....
.....x..+.....
.....x..x.....
ENDMAP

NAME:    v_rooms_6
TAGS:    allow_dup
: vaults_room_setup(_G, ".", "large")
NSUBST:  . = 1:( / *:.
MAP
....x........+....
....+........x....
....xxxxxxxxxx....
....x........x....
....x........x....
....+........+....
....+........+....
....x........x....
....x........x....
....xxxxxxxxxx....
....+........x....
....x........+....
ENDMAP

NAME:   hangedman_vaults_slither
SUBST:  b : aX., B : AX., c : aC..., C : Ax..., a : Ax., A : xx., X : xx.
: vaults_room_setup(_G, "0", "large")
MAP
        x........x............
        x.a..a.a.x.B..CC.0.CC@
        x.a......x.......C....
        x.......Cx.B.xxxxxxxxx
        x.a.xa...x...x
        x...x0..BxB0Bx
        xb0bxb..0x...x
        x...x...Ax.A.x
xxxxxxxxx.b.xc.......x
....c.......x......A.x
@cc.0.cc..b.x.A.A..A.x
............x........x
ENDMAP

NAME:    hangedman_vaults_pinch
TAGS:    vaults_room
SHUFFLE: ac, AC
SUBST:   b : axX..., B : AxX..., c : ax, C : Ax, a : Axx., A : xxx.
SUBST:   d : x.., D : x.., X : x
: vaults_room_setup(_G, "0", "small")
MAP
      x.......
      x.D..BA.
      x....CB.
      x..BC...
      x..AB...
      x.0...D.
xxxxxxx0......
.......xxxxxxx
.d...0.x
...ba..x
...cb..x
.bc....x
.ab..d.x
.......x
ENDMAP

NAME:    hangedman_vaults_stagger
: vaults_room_setup(_G, ".", "custom")
SHUFFLE: abc, ABC, de / de / ed, DE / DE / ED
NSUBST:  a = 1:1 / 1:0 / *:.
SUBST:   A = 0.., bBcC = ., dD = +, eE = x
MAP
.........xxxx
.........xa.x
..xxeddexx..x
..xc........xxxx
xxx.....bb.cxA.x
  x..xxDEEDxx..x
  x.axC.BB.....xxx
  xxxx........Cx..
     x..xxeddexx..
     x.Ax.........
     xxxx.........
ENDMAP

NAME:    hangedman_vaults_variations
SHUFFLE: abc, ABC, 12
: vaults_room_setup(_G, "0", "custom")
NSUBST:  1 = 1:1 / 1 = 0. / *:., 2 = 1:0 / * = 0.
SUBST:   aA : x., bB : x:1 .:9, cC = .
MAP
     x...x
     xa.ax
     x...xxxxx
     x.....11x
     x..bc..1x
    xx....(..x
xxxxx+xxxx.c.xxx
.A.....22x.b..a.
....BC..2x......
.A....(..x....a.
xxxxxx.C.+xxxxxx
     x.B.xx
     x...x
     x...x
     xA.Ax
     x...x
ENDMAP

NAME:    hangedman_vaults_unwind
SHUFFLE: ABCD
SUBST:   A : x:90 ., B : xx., C : x., D : x.., E : x .:90
: vaults_room_setup(_G, ".", "custom")
NSUBST:  0 = 1:1 / 1:0 / * = 0:6 .:4
MAP
     x..................
     x......E...........
     x...D..x...........
     x.....C...D........
     x....0BA0..........
     x.Ex.AxxBC...xxxxxx
xxxxxx...CBxxA.xE.x
..........0AB0....x
........D...C.....x
...........x..D...x
...........E......x
..................x
ENDMAP

NAME:    hangedman_vaults_stitches
TAGS:    vaults_room
SUBST:   b : aX., B : AX., c : aC..., C : Ax..., a : Ax., A : xx., X : xx.
: vaults_room_setup(_G, "0", "large")
MAP
     x.....x     x.......
     x.b...x     x...A...
     x.0c..x     x.A.0.A.
     x...b.xxxxxxx.......
xxxxxx......0......xxxxxx
.......xxxxxxx.B...x
.a.0.a.x     x..C0.x
...a...x     x...B.x
.......x     x.....x
ENDMAP

NAME:    hangedman_vaults_nodes
SUBST:   a : xx., b : xx., A : x., B : x.
: vaults_room_setup(_G, "0", "large")
MAP
    x..............x
    x..B.A....a.b..x
    x.A0..B..b..0a.x
    x.B..0A..a0..b.x
xxxxx..A.B....b.a..xxxxx
........................
...ba...xxxxxxxx...AB...
..a.0b..x      x..B0.A..
..b..a..x      x..A..B..
...ab...x      x...BA...
........x      x........
ENDMAP

NAME:    hangedman_vaults_corner
SHUFFLE: abc
SUBST:   a = x, bc = ., A : x., B : x., C : x., D : x., E : x.
: vaults_room_setup(_G, "0", "medium")
MAP
.......abc.....
...B...abc..E..
...A...abc..D..
.BA0AB.abc.C.C.
...A...abc.C0C.
...B...abc..D..
.......abc..E..
aaaaaaa.0......
bbbbbbb0xxxxxxx
ccccccc.x
........x
...CC...x
.ED.0DE.x
...CC...x
........x
ENDMAP

NAME:    hangedman_vaults_hat
SHUFFLE: defg, =-
SUBST:   a = x.., b : x., c : x., d : x., e : x.., f : x.., g : x...
SUBST:   = = x, - = +, + : +:19 .:1
: vaults_room_setup(_G, "0", "large")
MAP
       x...x
       x.a.x
       x.0.x
    xxxxx+xxxxx
    x.........x
    x0b.c.c.b0x
    x.........x
xxxxxxx=-x-=xxxxxxx
.....0.......0.....
.d..e..f.g.f..e..d.
...................
ENDMAP

NAME:   hangedman_vaults_capsules
SUBST:  A : x..., B : x.., C : x., D : xx.
: vaults_room_setup(_G, "0", "small")
MAP
 xxx......
xxA..x.DC.
xA0..x..D.
x..xxx0...
...xBBxxx.
.xxxBBx...
....xxx..x
.D..x..0Ax
.CD.x..Axx
......xxx
ENDMAP

NAME:    hangedman_vaults_stream
SHUFFLE: ab, AB
SUBST:   aA : x, bB : ., c : x., C : x.
: vaults_room_setup(_G, "0", "large")
MAP
  x............
  x..A..0......
xxxC.BABBAABBA.
..C0..BAABBAABA
....c......0..B
.ab..c.........
..ab..xxxxx....
.0ba..xxxxxxxxx
..ba..xx
..ab..xx
..ab..xx
..ba0..x
..ba...x
..ab...x
...ab..x
ENDMAP

NAME:    hangedman_vaults_river_flow
SHUFFLE: abcdefghij
SUBST:   ab = x, c : xx., d : x., e : x:1 .:9, fghij = .
: vaults_room_setup(_G, "0", "small")
MAP
      x.......x
      xfee....x
      x....ffex
xxxxxxx.......x
.........gh....
.ab.0.cd....gh.
....ab.0.cd....
.gh....ab.0.cd.
....gh.........
x.......xxxxxxx
xeef....x
x....effx
x.......x
ENDMAP

NAME:    hangedman_vaults_trim
TAGS:    allow_dup
SHUFFLE: abcd / abcd / dcba / badc
SUBST:   aA : xx., bB : x., cC : x., dD : x.
: vaults_room_setup(_G, "0", "small")
MAP
.x.....x.....x..
..0AB0...ab.....
.....CD...0cd0..
..x.....x.....x.
ENDMAP

NAME:    hangedman_vaults_cutoff
TAGS:    allow_dup
SHUFFLE: aA / aA / Aa, bB / bB / Bb, cC / cC / Cc, dD / dD / Dd, eE / eE / Ee
SUBST:   a : x., b : x., c : x., d : x., e : x., ABCDE = .
: vaults_room_setup(_G, "0", "small")
MAP
...x.......x.......
.A.x.B.(.C.x.D.0.E.
.a.x.b.x0c0x.d.x.e.
.A.0.B.x.C.(.D.x.E.
.......x.......x...
ENDMAP

NAME:    hangedman_vaults_locks
SHUFFLE: ABCDEF, +-, =~
SUBST:   A : x:9 .:1, B : xx., C : x., D : x., E : x.., F : x...
SUBST:   -~ = x, = = +
: vaults_room_setup(_G, "0", "small")
MAP
  xxxxx.........xxxxx
  x...x.E..F..E.x...x
  x.B.+....(....=.B.x
xxx.0.x--x.0.x~~x.0.xxx
.........+.F.=.........
.A..C..D.x...x.D..C..A.
.........xxxxx.........
ENDMAP

NAME:    hangedman_vaults_slice
TAGS:    vaults_room allow_dup
SHUFFLE: ABCDEF, abde / abde / baed
SUBST:   aA : x:9 .:1, bB : xxx.., C : x., dD : x.., eE : x:1 .:9, F : .
: vaults_room_setup(_G, "0", "small")
MAP
................
.D.(..E..0xx.ba.
...0xx.CC.Fx0...
.AB.Fx0..e..(.d.
................
ENDMAP

NAME:    hangedman_vaults_maws
TAGS:    allow_dup
SHUFFLE: abcd, ABCD
SUBST:   abAB = ., c = xx., d = x.., C = xx., D = x.., E = x., F = x.
: vaults_room_setup(_G, "0", "small")
MAP
........xxxxx
.E0F........x
xxxxx..abcd0x
x.....(.....x
x0ABCD..xxxxx
x........E0F.
xxxxx........
ENDMAP

NAME:    hangedman_vaults_nails
TAGS:    allow_dup
SHUFFLE: ab / ab / ab / ba, cd / cd / cd / dc
SUBST:   aA : x:9 .:1, bB : x., cC : x.., dD : x..
: vaults_room_setup(_G, "0", "small")
MAP
...............
.d.c.d.(.......
...b.....BAxAB.
...a0..0..0A...
.baxab.....B...
.......(.D.C.D.
...............
ENDMAP

NAME:    hangedman_vaults_restitches
TAGS:    allow_dup
SHUFFLE: aAeE / aAeE / AaEa, bBfF / bBfF / BbFf
SHUFFLE: cCgG / cCgG / CcGg, dDhH / dDhH / DdHh
SHUFFLE: eEfFgGhH / eEfFgGhH / gGhHeEfF / hHgGfFeE
SUBST:   ae : x:5 .:3, bf : x:5 .:3, cg : x:5 .:3, dh : x:5 .:3
SUBST:   AE : x:7 .:3, BF : x:7 .:3, CG : x:7 .:3, DH : x:7 .:3
: vaults_room_setup(_G, "0", "small")
MAP
..............
.....B.....H..
.AaA.b0GgG0h..
.....B.....H..
..D.....F.....
..d0CcC0f.EeE.
..D.....F.....
..............
ENDMAP

NAME: ontoclasm_vaults_eye
: vaults_room_setup(_G, "0", "small")
SUBST: ( = ((0.
MAP
  .....
 ..xxx..
..xxxxx..
...0.0xx.
.x..(..x.
.xx0.0...
..xxxxx..
 ..xxx..
  .....
ENDMAP

NAME: grunt_vaults_swirl
TAGS: vaults_room
KMONS: 0 = 0 band
NSUBST: 0 = 2:0 / *:.
MAP
 xx.......xx
xx....xxxx.xx
x...xxx.0xx.x
...xxx+xx.xx.
...xx...xx.x.
..xx..0..xx..
..xx.0(0.xx..
..xx..0..xx..
.x.xx...xx...
.xx.xx+xxx...
x.xx0.xxx0..x
xx.xxxx....xx
 xx.......xx
ENDMAP

NAME: grunt_vaults_twisty
TAGS: vaults_room
SHUFFLE: ABCD
SHUFFLE: Aa, Bb, Cc, Dd
NSUBST: A = 1:+ / *:x
NSUBST: B = 1:+ / *:x
NSUBST: C = 1:+ / *:x
NSUBST: D = 1:+ / *:x
SUBST: abcd = .
NSUBST: 0 = 2:0 / *:.
KMONS: 0 = 0 band
MAP
 xx....xx
xx..xx..xx
x0.xxxx0.x
x0.xxxxx..
xx..xxxxx.
xxx..xxxxx
xxxx00xxxx
xxxxx..xxx
.xxxxx..xx
..xxxxx.0x
x..xxxx.0x
xx0.xx..xx
 xx....xx
ENDMAP

NAME: grunt_vaults_funnel
TAGS: vaults_room
KMONS: 0 = 0 band
MAP
    xxx.x
  xxx...x
 xx.....x
......xxx
..(.0.+..
......xxx
 xx.....x
  xxx...x
    xxx.x
ENDMAP

NAME: grunt_vaults_trifunnel
TAGS: vaults_room
KMONS: 0 = 0 band
MAP
    xxx.xxxxxxx.xxxxxxx.x
  xxx...xxxxx...xxxxx...x
 xx.....xxx.....xxx.....x
......xxx.....xxx.....xxx
....0.+...(.0.+.....0....
......xxx.....xxx.....xxx
 xx.....xxx.....xxx.....x
  xxx...xxxxx...xxxxx...x
    xxx.xxxxxxx.xxxxxxx.x
ENDMAP

NAME: ontoclasm_vaults_chip
TAGS: vaults_room allow_dup
SUBST: P = 0. , G : ...G
KMONS: 0 = 0 band
MAP
.x...x.
.xx.xx.
..G.G..
.P.0.P.
..G.G..
.xx.xx.
.x...x.
ENDMAP

NAME:   dpeg_vaults_monster_box
TAGS:   vaults_room
MONS:   0 band
SUBST:  - : @.., _ : @..
SUBST:  b : xxxxb0009.
NSUBST: 9 = 1:S / *:9
KFEAT:  S = armour shop / weapon shop
NSUBST: . = 1:1 / * = 0........
MAP
..@@..
..bb..
-.bb.-
..bb..
..__..
ENDMAP

NAME:   dpeg_vaults_monster_row
TAGS:   vaults_room
SUBST:  0 : 0000000z, z : z., 0 = 0009..
KMONS:  z = human skeleton
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxx
xx00xx00xx00xx00xx00xx00xx
xx..xx..xx..xx..xx..xx..xx
..........................
ENDMAP

NAME: nicolae_vaults_mini_display_case
TAGS: vaults_room vaults_orient_w no_monster_gen
SUBST: % = %%$*
MAP
......
.xxxx+
.m%+.0
.m%x0.
.xxxx+
......
ENDMAP

NAME: nicolae_vaults_three_branches
TAGS: vaults_room
SHUFFLE: (%
MONS: 0 band
NSUBST: 0 = 1:1 / 2 = 0.. / *:.
MAP
xxxxxx...
x.%xxx.(.
x%%.xxx..
xx.00xxx.
xxx00.xx.
xxxx...x.
..xxx.x..
.(.xxx.(.
.........
ENDMAP

NAME: nicolae_vaults_triangles
TAGS: vaults_room
SUBST: 0 = 0..., ( = (((0
MAP
xxxxxxx.xxxxxxx
x....x.(.x....x
x.(.x.....x.(.x
x..xxxx+xxxx..x
x.xxx0...0xxx.x
xx.x0x.0.x0x.xx
x..x..x.x..x..x
.(.+.0.x.0.+.(.
x..x..x.x..x..x
xx.x0x.0.x0x.xx
x.xxx0...0xxx.x
x..xxxx+xxxx..x
x.(.x.....x.(.x
x....x.(.x....x
xxxxxxx.xxxxxxx
ENDMAP

NAME: nicolae_vaults_twisting_passages
TAGS: vaults_room
SUBST: 0 = 00.
MAP
xxxx.......xxxx
x..xxxx.xxxx..x
x.0...x0x...0.x
xx.xx.....xx.xx
.x.xxx...xxx.x.
.x..xxx(xxx..x.
.xx..xxxxx..xx.
..0..(xxx(..0..
.xx..xxxxx..xx.
.x..xxx(xxx..x.
.x.xxx...xxx.x.
xx.xx.....xx.xx
x.0...x0x...0.x
x..xxxx.xxxx..x
xxxx.......xxxx
ENDMAP

NAME:     vaults_mumra_minichess
TAGS:     vaults_room
NSUBST:   . = 12 = 0. / *:.
MAP
  ..xx..
  ..xx..
..xx..xx..
..xx..xx..
xx..xx..xx
xx..xx..xx
..xx..xx..
..xx..xx..
  ..xx..
  ..xx..
ENDMAP

NAME:     vaults_mumra_minichess_inversion
: vaults_room_setup(_G, ".", "small")
SUBST:    . = ......0
MAP
    ..
    ..
  ..xx..
  ..xx..
..xx..xx..
..xx..xx..
  ..xx..
  ..xx..
    ..
    ..
ENDMAP

NAME:     vaults_mumra_hex
: vaults_room_setup(_G, ".", "small")
SUBST:    . = .........0
MAP
   .....
  .......
 .........
.....(.....
 .........
  .......
   .....
ENDMAP

NAME:     vaults_mumra_hexcomb
TAGS:     vaults_room
SUBST:    0 = 0..
MAP
     ...
   x.000.x
 ...x...x...
0.(.0xxx0.(.0
 ...x...x...
   x.000.x
     ...
ENDMAP

NAME:    hangedman_vaults_snaps
TAGS:    vaults_room
MONS:    0 band
SHUFFLE: X+ / X+ / +X, 1' / 1' / '1
NSUBST:  1 = 1:1 / 1:000.
SUBST:   X : xx+, ' = .
MAP
.......xxx
........1x
.........x
x..xX+x..xxxx
x..x..x'.x..x
x..x.'x..x..x
xxxx..x+Xx..x
   x.........
   x1........
   xxxx......
ENDMAP

NAME: nicolae_vaults_alarming
TAGS: vaults_room
NSUBST: s = 1:S / *:.
KITEM: i = any
KMONS: S = vault sentinel
KFEAT: i = alarm trap / .
MAP
xxsxsxx
xi...ix
s.....s
x..(..x
s.....s
xi...ix
xxsxsxx
ENDMAP

NAME: nicolae_vaults_arrows
TAGS: vaults_room
SUBST: $ = $:27 %:9 *:3 |:1
KMONS: 0 = 0 band
MAP
xxxxxxxxx...xxxxxxxxx
x......$n...n$......x
x.0.xxxxx...xxxxx.0.x
x....xx...0...xx....x
x.x...xx.....xx...x.x
x.xx...xx...xx...xx.x
x.xxx...xx.xx...xxx.x
x$x.xx...x+x...xx.x$x
xnx..xx.......xx..xnx
......xx.....xx......
...0...+..0..+...0...
......xx.....xx......
xnx..xx.......xx..xnx
x$x.xx...x+x...xx.x$x
x.xxx...xx.xx...xxx.x
x.xx...xx...xx...xx.x
x.x...xx.....xx...x.x
x....xx...0...xx....x
x.0.xxxxx...xxxxx.0.x
x......$n...n$......x
xxxxxxxxx...xxxxxxxxx
ENDMAP

NAME: nicolae_vaults_big_ls
TAGS: vaults_room
SUBST: g : xg
NSUBST: a = 1:+ / *:x
NSUBST: b = 1:+ / *:x
NSUBST: c = 1:+ / *:x
NSUBST: d = 1:+ / *:x
NSUBST: e = 1:+ / *:x
NSUBST: f = 1:+ / *:x
NSUBST: g = 1:+ / *:x
NSUBST: h = 1:+ / *:x
NSUBST: i = 1:+ / *:x
NSUBST: j = 1:+ / *:x
NSUBST: k = 1:+ / *:x
NSUBST: l = 1:+ / *:x
SUBST: x = x:80 n:10 +:5
SUBST: . = .:75 %:5 0:5
KMONS: 0 = 0 band
MAP
x.a.b.c.d.e.x
..a.b.c.d.e..
aaa.b.c.d.eee
....b.c.d....
bbbbb.c.ddddd
......c......
ffffffxgggggg
......j......
hhhhh.j.kkkkk
....h.j.k....
iii.h.j.k.lll
..i.h.j.k.l..
x.i.h.j.k.l.x
ENDMAP

NAME: nicolae_vaults_border_crossing
TAGS: vaults_room
SHUFFLE: AB
KMONS: W = vault warden
SUBST: G : xxx...GTb, A : +, B : +x
KMONS: 1 = 0 band
MAP
x.1.0.x
xx...xx
xG.W.Gx
xxABAxx
xG.W.Gx
xx...xx
x.0.1.x
ENDMAP

NAME: nicolae_vaults_stairing_the_circle
TAGS: vaults_room
NSUBST: ( = 1:0 / 2:0( / 2:0(( / *:(.
KMONS: 0 = 0 band
MAP
  xxx.....xxx
 xx....(....xx
xx..(.....(..xx
x.....xxx.....x
x.(.xxxxxxx.(.x
....xxxxxxx....
...xxxxxxxxx...
.(.xxxxxxxxx.(.
...xxxxxxxxx...
....xxxxxxx....
x.(.xxxxxxx.(.x
x.....xxx.....x
xx..(.....(..xx
 xx....(....xx
  xxx.....xxx
ENDMAP

NAME: nicolae_vaults_what_the_h
TAGS: vaults_room
SUBST: % = %$
KMONS: 0 = 0 band
MAP
...........
....x0x....
..(.xxx.(..
....x%x....
.xxx...xxx.
.0x%.(.%x0.
.xxx...xxx.
....x%x....
..(.xxx.(..
....x0x....
...........
ENDMAP

NAME: nicolae_vaults_windows_and_doors_thing
TAGS: vaults_room no_monster_gen
SHUFFLE: AC/BD, EF
SUBST: B = m, C = 0, D = %, E = +, F : xxxm
NSUBST: A = 1:+ / *:x
KMONS: 0 = 0 band
MAP
...........
.xAxBxxxxx.
.x.xDFC..A.
.x.E.xxExx.
.xCx....DB.
.xFx.(.xFx.
.BD....xCx.
.xxExx.E.x.
.A..CFDx.x.
.xxxxxBxAx.
...........
ENDMAP

NAME: nicolae_vaults_yaktaur_gun_rack
TAGS: vaults_room no_monster_gen no_item_gen
MONS: yaktaur w:8 / yaktaur band w:4 / yaktaur captain w:2 / yaktaur captain band w:1
KITEM: b = bolt w:3 / bolt good_item w:2
KITEM: c = arbalest w:8 / arbalest good_item w:1 / triple crossbow w:1
MAP
xxxxxxx
xcccccx
x......
x.1....
x......
xbbbbbx
xxxxxxx
ENDMAP

NAME: nicolae_vaults_ninety_degrees
TAGS: vaults_room vaults_orient_s vaults_orient_w
NSUBST: a = + / x, b = + / x
SUBST: ( = (.00%%
MAP
...
......
.(......
.....(...
aaaa......
...aaa..(..
.....aa.....
.(....aa....
....(..aa.(..
bbb..(..a....
..bb....aa...
...bb....a....
.(..b.(..a.(..
....b....a....
ENDMAP

NAME: nicolae_vaults_sealed_display
WEIGHT: 5
TAGS: vaults_room no_windows
KMASK: >* = no_monster_gen
KMONS: 0 = 0 band / 0
MAP
xxxxxxx
x..%x>x
x+xxx+x
x..x**x
x.0x**x
x..xmmx
x.....x
x.....x
xxxx..x
ENDMAP

NAME: nicolae_vaults_puzzle_piece
TAGS: vaults_room allow_dup
SUBST: A : ._, B : ._, C : ._, D : ._, ) = )))0
KMONS: 0 = 0 band
CLEAR: _
MAP
        AAA
       AAAAA
       AAAAA
   ....AAAAA....
   ....AAAAA....
   ..)..AAA..)..
   .............
 DDDD.........BBBB
DDDDDD.......BBBBBB
DDDDDD...)...BBBBBB
DDDDDD.......BBBBBB
 DDDD.........BBBB
   .............
   ..)..CCC..)..
   ....CCCCC....
   ....CCCCC....
       CCCCC
       CCCCC
        CCC
ENDMAP

NAME: nicolae_vaults_disjoint_gnomons
TAGS: vaults_room allow_dup
NSUBST: A = + / x, B = + / x, C = + / x, D = + / x, E = + / x, F = + / x, \
        ) = 3:0 / 3:) / 3:% / 3:.%0 / *:.
MAP
...........
.)...)...).
...........
...xBBBBBBx
...A.......
.).A.)...).
...A.......
...A...xCCx
...A...C...
.).A.).C.).
...x...x...
           ...x...x...
           .).D.).F.).
           ...D...F...
           xDDx...F...
           .......F...
           .)...).F.).
           .......F...
           xEEEEEEx...
           ...........
           .)...)...).
           ...........
ENDMAP

NAME: nicolae_vaults_network_s
TAGS: vaults_room
SHUFFLE: Aa/Bb/Cc/Dd/Ee
SUBST: Aa = ., bcde = %, % = .....%%000
NSUBST: B = . / x, C = . / x, D = . / x, E = . / x, F = . / x, G = . / x, \
        H = . / x, I = . / x, J = . / x, K = . / x
KITEM: 0 = nothing / any w:5
KMONS: 0 = 0 / 0 band w:5
MAP
    x..........
    x..........
xxxxx.xHxDxGx..
..K%K.H%xdx%G..
..xxx.xxxDxxx..
..AaA.CcC.EeE..
..xxxBxxx.xxx..
..J%xbx%I.F%F..
..xJxBxIx.xxxxx
..........x
..........x
ENDMAP

NAME: nicolae_vaults_network_barrier
TAGS: vaults_room vaults_orient_e vaults_orient_w
NSUBST: % = 1:0 / 5 = ....0% / * = .
NSUBST: AB = 1:., BCD = 1:., DEF = 1:., FGH = 1:., HIJ = 1:., JK = 1:., \
   LM = 1:., MNO = 1:., OPQ = 1:., QRS = 1:., STU = 1:., UV = 1:., Z = 1:. / *:x
NSUBST: ab = 1:., bcd = 1:., def = 1:., fgh = 1:., hij = 1:., jk = 1:., \
   lm = 1:., mno = 1:., opq = 1:., qrs = 1:., stu = 1:., uv = 1:., z = 1:. / *:x
SUBST: ABCDEFGHIJKLMNOPQRSTUVabcdefghijklmnopqrstuv = x
KITEM: 0 = nothing / any w:5
KMONS: 0 = 0 / 0 band w:5
MAP
...A%Z%L...a%z%l...
...xBxMx...xbxmx...
...C%Z%N...c%z%n...
...xDxOx...xdxox...
...E%Z%P...e%z%p...
...xFxQx...xfxqx...
...G%Z%R...g%z%r...
...xHxSx...xhxsx...
...I%Z%T...i%z%t...
...xJxUx...xjxux...
...K%Z%V...k%z%v...
ENDMAP

NAME: nicolae_vaults_network_square
TAGS: vaults_room
SHUFFLE: Aa/Bb/Cc/Dd, Ee/Ff
SUBST: AaBbCcEe = ., df = %
NSUBST: % = 1:0 / 5 = ...0% / * = ......%
NSUBST: D = . / x, F = . / x, G = . / x, H = . / x, I = . / x, J = . / x, \
        K = . / x, L = . / x, M = . / x, N = . / x, O = . / x, P = . / x, \
        Q = . / x, R = . / x, S = . / x, T = . / x, U = . / x
KITEM: 0 = nothing / any w:5
KMONS: 0 = 0 / 0 band w:5
MAP
.............
.xTxExFxGxHx.
.T%xexfx%x%H.
.xxxExFxGxxx.
.S%S.AaA.I%I.
.xxxDxUxBxxx.
.R%RdU%UbJ%J.
.xxxDxUxBxxx.
.Q%Q.CcC.K%K.
.xxxOxNxMxxx.
.P%x%x%x%x%L.
.xPxOxNxMxLx.
.............
ENDMAP

NAME: nicolae_vaults_network_periphery
TAGS: vaults_room
SUBST: % = .....%%000
NSUBST: A = . / x, B = . / x, C = . / x, D = . / x, E = . / x, F = . / x, \
        G = . / x, H = . / x, I = . / x, J = . / x, K = . / x, L = . / x
NSUBST: M = x / ., N = x / ., O = x / ., P = x / .
KITEM: 0 = nothing / any w:5
KMONS: 0 = 0 / 0 band w:5
MAP
.M.M.M.M.....
.xAxBxCx.xDxN
.A%x%x%C.D%D.
.xAxBxCx.xxxN
.........E%E.
PxLx.....xxxN
.L%L..)..F%F.
Pxxx.....xFxN
.K%K.........
Pxxx.xIxHxGx.
.J%J.I%x%x%G.
PxJx.xIxHxGx.
.....O.O.O.O.
ENDMAP

NAME: nicolae_vaults_network_star
TAGS: vaults_room
SUBST: % = ...%00
NSUBST: % = 1:0 / 7 = ...%00 / * = .....%
NSUBST: A = . / x, B = . / x, C = . / x, D = . / x, E = . / x, F = . / x, \
     G = . / x, H = . / x, I = . / x, J = . / x, K = . / x, L = . / x, M = . / x
KITEM: 0 = nothing / any w:5
KMONS: 0 = 0 / 0 band w:5
MAP
.............
.)...xBx...).
.....B%B.....
...xAxIxCx...
...A%I%I%C...
.xHxLxMxJxDx.
.H%L%M%M%J%D.
.xHxLxMxJxDx.
...G%K%K%E...
...xGxKxEx...
.....F%F.....
.)...xFx...).
.............
ENDMAP

NAME: nicolae_vaults_network_quincunx
TAGS: vaults_room
SUBVAULT: A : nico_quincunx
SUBVAULT: B : nico_quincunx
SUBVAULT: C : nico_quincunx
SUBVAULT: D : nico_quincunx
SUBVAULT: E : nico_quincunx
MAP
...................
.........).........
...................
...xAAAx...xBBBx...
...AAAAA...BBBBB...
...AAAAA...BBBBB...
...AAAAA...BBBBB...
...xAAAxCCCxBBBx...
.......CCCCC.......
.).....CCCCC.....).
.......CCCCC.......
...xDDDxCCCxEEEx...
...DDDDD...EEEEE...
...DDDDD...EEEEE...
...DDDDD...EEEEE...
...xDDDx...xEEEx...
...................
.........).........
...................
ENDMAP

NAME: nicolae_vaults_network_quinsquares
TAGS: vaults_room
SUBVAULT: A : nico_quincunx
SUBVAULT: B : nico_quincunx
SUBVAULT: C : nico_quincunx
SUBVAULT: D : nico_quincunx
SUBVAULT: E : nico_quincunx
NSUBST: a = x / ., b = x / ., c = x / .
MAP
.............
.xAAAxaxBBBx.
.AAAAA.BBBBB.
.AAAAAaBBBBB.
.AAAAA.BBBBB.
.xAAAxaxBBBx.
.b.b.b.......
.xDDDxcxEEEx.
.DDDDD.EEEEE.
.DDDDDcEEEEE.
.DDDDD.EEEEE.
.xDDDxcxEEEx.
.............
ENDMAP

NAME: nicolae_vaults_network_quincunx_subvault
TAGS: unrand nico_quincunx allow_dup
SUBST: % = ....%0
NSUBST: BDF = 1:x, ABHI = 1:., KFJE = 1:., CDIJ = 1:.
SUBST: ABCDEFGHIJK = x
KITEM: 0 = nothing / any w:5
KMONS: 0 = 0 / 0 band w:5
MAP
 .xA
G%H%B
xKxIx
F%J%C
 ExD
ENDMAP

NAME: nicolae_vaults_bisected_exclaves
TAGS: vaults_room opaque no_tele_into
WEIGHT: 2
SHUFFLE: abcdefghijk
SUBST: abcd = m, e : xm, f : xm, ghijk = x, % = %%0
MAP
.....a.....
.xex.x..)..
.f%d.b.....
.x.xcx.xix.
.g...0.j%h.
.x.xkxkx.x.
.h%j.0...g.
.xix.xcx.x.
.....b.d%f.
..)..x.xex.
.....a.....
ENDMAP

NAME: nicolae_vaults_inception_corners
TAGS: vaults_room
WEIGHT: 3
SHUFFLE: abcdef
SUBST: a = +, bcdef = x, ) = )00. %:5, % = %., 0 = 0.
MAP
......fx....xf......
.)...de......ed...).
...%bc..)..)..cb%...
..%xa..........ax%..
..ba            ab..
.dc.            .cd.
fe..            ..ef
x...            ...x
..).            .)..
....            ....
....            ....
..).            .)..
x...            ...x
fe..            ..ef
.dc.            .cd.
..ba            ab..
..%xa..........ax%..
...%bc..)..)..cb%...
.)...de......ed...).
......fx....xf......
ENDMAP
