##############################################################################
# mini.des: This is the place where minivaults should go. These are defined
#           without any ORIENT line. Vaults with ORIENT lines are stored in
#           either float.des or large.des.
#
#           All maps dealing with the Vault branch system, including Vaults:8
#           reside in vaults.des.
###############################################################################

##############################################################################
# Some notes on minivaults for designers:
#
# *Cannot* place 8,9 or 0 monsters in branch vaults which neither use the
# normal mons_level function or are around level 35, or generation will crash.
#
# Minivaults were traditionally drawn after rotating the vault by 90 degrees
# anticlockwise. Under the new dungeon vault handling, the map may be freely
# rotated and mirrored to any position (20061105).
#
# Minivaults were traditionally 12x12 (hardcoded limitation in dungeon.cc).
# Under the new rules they can be any size, but the smaller the better. I'd
# recommend no larger than 35x30 or so.
#
# Minivaults must NOT have an ORIENT: attribute. Including an ORIENT: attribute
# makes the map a normal vault, and mayhem can result.
#
###############################################################################



# Default depth for minivaults. If your minivault is suitable for one of the
# branches, add it via DEPTH: Lair or similar.
default-depth: D:8-27

##############################################################################
# Minivault balancer
#
NAME: mini_dummy
DEPTH: 1-50, !D:1-27
TAGS: dummy
WEIGHT: 90
MAP
.
ENDMAP

###########################################################################
# Small areas with translucent rock (glass) columns which you can duck
# behind, but still see the monster you're ducking from (and they can
# still see you)
#
NAME:   glass_columns_a
DEPTH:  D, Elf, Crypt
TAGS:   extra luniq_mini
WEIGHT: 5
MAP
.....
.m.m.
.....
.m.m.
.....
ENDMAP

NAME:   glass_columns_b
DEPTH:  D, Elf, Crypt
TAGS:   extra luniq_mini
WEIGHT: 3
MAP
.......
.m.m.m.
.......
.m.m.m.
.......
.m.m.m.
.......
ENDMAP

NAME:   glass_columns_c
DEPTH:  D, Elf, Crypt
TAGS:   extra luniq_mini
WEIGHT: 2
MAP
.........
.m.m.m.m.
.........
.m.m.m.m.
.........
.m.m.m.m.
.........
.m.m.m.m.
.........
ENDMAP

##########################################################
# A feature encased in glass, for flavour.
#
NAME:  feat_on_display
DEPTH: D, Elf, Crypt, Vault
TAGS:  extra luniq_mini
SUBST: ? = TUl
TAGS:  no_monster_gen no_item_gen
MAP
.....
.mmm.
.m?m.
.mmm.
.....
ENDMAP

#######################################################################
# An item encased in glass.  If the player wants it, it can be dug out.
#
NAME:   item_on_display_a
DEPTH:  D, Elf, Crypt, Vault
TAGS:   extra luniq_mini
WEIGHT: 9
SUBST:  % = %%%*
TAGS:   no_monster_gen no_item_gen
MAP
.....
.mmm.
.m%m.
.mmm.
.....
ENDMAP

#####################################################################
# A good item encased in transparent stone.
#
NAME:   item_on_display_b
DEPTH:  D, Elf, Crypt, Vault
TAGS:   extra luniq_mini
WEIGHT: 1
SUBST:  * = ***|
TAGS:   no_monster_gen no_item_gen
MAP
.....
.nnn.
.n*n.
.nnn.
.....
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:   no_wall_fixup extra luniq_mini
DEPTH:  D:8-27, Elf, Crypt, Vault
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, Elf, Crypt, Vault
TAGS:   no_wall_fixup extra luniq_mini
: 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

##############################################################################
# Sigmund's army
# Sigmund has been educating the oppressed masses in guerrilla warfare.
#
NAME:    sigmund_army
DEPTH:   D:2-6
TAGS:    extra luniq_mini
MONS:    gnoll;scythe.robe, hobgoblin;scythe.robe, orc;scythe.robe
SUBST:   n = 1:20 n:5
KMONS:   n = Sigmund, gnoll;scythe.robe / hobgoblin;scythe.robe / orc;scythe.robe
SHUFFLE: x+1 / x+1 / x+1 /y-5
SUBST:   -=y, y=5, 5=1..
SHUFFLE: 123444
SUBST:   4=1223.., 1=1., 3=33.
MAP
xxxxx
x1n1x
x111x
xx+xx
 ...
ENDMAP

##############################################################################
# Eino's jars
#
NAME:    jars
DEPTH:   D:4-14
TAGS:    mini_float extra luniq_mini
SHUFFLE: 11%
: if you.absdepth() >7 then
MONS:    killer bee / nothing w:5
SUBST:   % = %*
: else
MONS:    giant mosquito / nothing
: end
MAP
xxxxxx
x1111x
x1111x
x++++x
@....@
ENDMAP

###################################
# pond with fungi
#
NAME:  fungi_pond__lemuel
DEPTH: D:8-20, Lair
TAGS:  allow_dup extra luniq_mini
MONS:  fungus, wandering mushroom
SUBST: 1 = . 1 2:4
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

#############################################
# Elven Outpost
#
# 50-50 chance of spiral arms, 50-50 chance of a moat
# No loot but the elves' gear, but at the depth this appears that may be good
#
NAME:    elves_outpost_lemuel
DEPTH:   D:14-20, Orc:3-, Elf
MONS:    deep elf soldier / w:4 deep elf fighter
MONS:    w:20 deep elf mage / deep elf conjurer / deep elf summoner
SHUFFLE: ?:/bb, :;/ww
SUBST:   ?=., :=., ;=.
MAP
.?.....???..
?.;;;::;;;?.
?;;::;;;;;;.
?;;bbbbbb:;.
.:;b1111b:;.
.:;.1221>;:.
.;:b1111b;:.
.;:bbbbbb;;?
.;;;;;;::;;?
.?;;;::;;;.?
..???.....?.
ENDMAP

################################################################################
# Necromancer has a house with a fridge (and a nice garden) (Eino)
#
NAME:  eino_house_with_fridge
DEPTH: D:8-20, Lair:2-10, Vault:1-4
TAGS:  no_monster_gen no_item_gen mini_float
MONS:  necromancer / patrolling necromancer, plant
MONS:  rat simulacrum / hound simulacrum / sheep simulacrum / bear simulacrum
MAP
............
.xxxxxxxxxx.
.x333x..%%x.
.x333+..xxx.
.x333x....x.
.xxxxx.3..x.
.....x..13x.
.2T2.+....x.
.....xxxxxx.
............
ENDMAP

########################################################################
# Small gnoll camp 1
#
NAME:   eino_small_gnoll_camp_1
DEPTH:  D:3-10
WEIGHT: 5
TAGS:   uniq_gnoll_camp no_monster_gen patrolling
MONS:   gnoll
# a "gnoll seargeant" with guaranteed good gear
MONS:   gnoll ; potion of healing | potion of heal wounds \
              . whip ego:reaching | whip good_item no_uniq | \
                spear ego:reaching | glaive \
              . scale mail | chain mail
MONS:  jackal / hound
MAP
xxxxxxxxxx
x..3..xTxx
x..313..xx
+....2..>x
x..1..x%xx
x...31x%xx
xxxxxxxxxx
ENDMAP

########################################################################
# Small gnoll camp 2
#
NAME:   eino_small_gnoll_camp_2
DEPTH:  D:3-10
WEIGHT: 5
TAGS:   uniq_gnoll_camp mini_float no_monster_gen patrolling
MONS:   gnoll
# a "gnoll seargeant" with guaranteed good gear
MONS:   gnoll ; potion of healing | potion of heal wounds \
              . whip ego:reaching | whip good_item no_uniq | \
                spear ego:reaching | glaive . scale mail | chain mail
MONS:   jackal / hound
MAP
xxxxxxxxxx
xxxx33+%%x
xxx...x*$x
xxx...xxxx
xxxx.3.xxx
x21+...1.x
x11x..1..x
xxxx....xx
xxxx..xxxx
xxxx..xxxx
xx......xx
xx......xx
ENDMAP

#############################################################################
# Centaur isle (Lemuel)
#
NAME:  centaur_isle
TAGS:  no_monster_gen no_pool_fixup no_rotate
SUBST: ? = *$
DEPTH: D:6-12, Shoal
MONS:  centaur
MAP
          wwww
       wwwwwwww
    wwwwwwwwwwwwwww
 wwwwwwwwwwwwwwwwwwwww
wwwwwwww..wwwwwwwwwwwww
wwwwww.11...wwwwwwwwwww
wwwww........wwwwwwwwww
wwwww...x=x..wwwwwwwwww
wwww..11x.x..wwwwwwwww
 www...xx>x11wwwwwwwww
 www..xx??x.wwwwwwwww
 wwww.xx??x.wwwwwww
  wwww.xxxx.wwwwww
   wwwwww..wwwww
    wwwwwwwwwww
       wwwwww
ENDMAP

#################################
# Another Ice Statue vault
#
NAME:  ice2_lemuel
DEPTH: D:12-26, Lair, Swamp, Coc
TAGS:  no_pool_fixup no_monster_gen
SUBST: T = TU
SUBST: W = w:20 W .:5
MONS:  ice statue
MONS:  ice devil w:5 / blue devil w:5 / ice dragon / freezing wraith /\
       nothing w:30
MONS:  white imp / ice beast w:30 / polar bear / nothing w:50
MONS:  white imp / ice beast w:30 / polar bear / nothing w:50
KFEAT: 2 = >
KFEAT: 4 = >
SUBST: | = ||****%%%%
MAP
T..................T
..WWW..........WWW..
.WWWWW........WWWWW.
WWWWWWwww..wwwWWWWWW
WWW3WwwwwwwwwwwW3WWW
WW343wwwwwwwwww343WW
.WW3WwwwwwwwwwwW3WW.
.WWWWwwwwwwwwwwWWWW.
..WWWwww||||wwwWWW..
...WWwww|12|wwwwW...
..WWWwww||||wwwWWW..
.WWWWwwwwwwwwwwWWWW.
.WW3WwwwwwwwwwwW3WW.
WW343wwwwwwwwww343WW
WWW3WwwwwwwwwwwW3WWW
WWWWWWwww..wwwWWWWWW
.WWWWW........WWWWW.
 .WWW..........WWW..
T..................T
ENDMAP

#############################################################################
# Oklob assault
# statistically, three oklobs
#
NAME:    oklob_1
DEPTH:   D:16-27, Lair:4-
TAGS:    allow_dup
MONS:    plant, oklob plant
SUBST:   ? = 1 2:5 '
SHUFFLE: '"
SUBST:   ' : w .:5
SUBST:   " = .
MAP
   ...........
  .............
 .....'''''.....
.....''???''.....
....''?????''....
....''?????''....
.....''???''.....
 .....'''''.....
  .............
   ...........
ENDMAP

################################
# Treasure trove with Zot trap
#
NAME:    zot_lemuel
DEPTH:   D:10-27, Elf, Vault, Crypt
TAGS:    allow_dup
NSUBST:  Z = 4=. / z
KFEAT:   z = zot trap
SUBST:   *: *$
WEIGHT:  3
MAP
xxxxxxxxxx
xxxxxxx**x
@ZZZZZ=**x
xxxxxxx**x
xxxxxxxxxx
ENDMAP

###################################
# Don't you wish you knew apportation?
#
NAME: baited_tele_trap
DEPTH: !Temple, !Slime
KITEM: x = any good_item, any good_item/nothing, any good_item/nothing
KFEAT: x = teleport trap
MAP
x
ENDMAP

#####################################
# Closed beehive
#
# Should work without explicit floor margin (dp)
#
NAME:  hive_lemuel
DEPTH: D:9-27,Hive:*
MONS:  killer bee, yellow wasp, red wasp, spiny worm
SUBST: ? : .w
SUBST: 1 = 1 a:2
SUBST: 1 : 1:15 2 3:2 4:1
SUBST: * : * R:3
KITEM: R = w:2 honeycomb / w:1 royal jelly
MAP
  ????????
 ??????????
???aaaaaa???
??aaaaaaaa??
??aa1111aa??
??aa1**1aa??
??aa1**1aa??
??aa1111aa??
??aaaaaaaa??
???aaaaaa???
 ??????????
  ????????
ENDMAP


###############################################
# Zaba's ant hill
#
NAME:   anthell
DEPTH:  D:12-19, Lair:2-, Hive
TAGS:   no_rotate
MONS:   queen ant, soldier ant, giant ant, soldier ant / w:20 giant ant
SUBST:  ? = . x
MAP
     ?  ? ? ?  ?
   ??x?x?x?x?x?x??
  ??x?3?.?3?.?3?x??
 ??x.?..3.?.3.?.4x??
 ?x?4444?.2?....4?x?
?x?..?....?..?2?43?x?
 ?33.4?..?2?..?.433?
?x?3?...?212?...?3?x?
 ?334.?..?2?..?4.33?
?x?34?2?..?....?..?x?
 ?x?4....?2.?4444?x?
 ??x4.?.3.?.3..?.x??
  ??x?3?.?3?.?3?x??
   ??x?x?x?x?x?x??
     ?  ? ? ?  ?
ENDMAP


###############################################
# Zaba's other ant hill
#
NAME:  antful_of_joy
DEPTH: D:10-17, Lair, Hive
TAGS:  no_rotate
MONS:  queen ant, giant ant w:5 / soldier ant, giant ant / nothing w:5
KFEAT: ^ = alarm trap / .
MAP
    xxxxxxxxxxx
   xx333xxx333xx
   x33333x33333x
  xxx...xxx...xxx
 xxx..x..x..x..xxx
xx.2.xxx222xxx.2.xx
x.333.x32123x.333.x
xx...xxx222xxx...xx
 xxx..x.3x3.x..xxx
  xxx.^.xxx.^.xxx
   x.....x.....x
   xx...xxx...xx
    xxx33x33xxx
      xx.^.xx
       x+++x
ENDMAP

###############################################
# My mission is to annoy. -LP
#
NAME:   lemuel_jelly_drop_a
MONS:   jelly
TAGS:   uniq_jelly_drop
WEIGHT: 5
KFEAT:  a = teleport trap
DEPTH:  D:8-27
MAP
..............
...vvvvvvvv...
..vv......vv..
.vv.vvvvvv.vv.
.v1v.....vv.v.
.vvvvvvvv.v.v.
.vav111111vav.
.v.v.vvvvvvvv.
.v.vv.....v1v.
.vv.vvvvvv.vv.
..vv......vv..
...vvvvvvvv...
..............
ENDMAP

##############################################################
# Aren't you glad you're a merfolk/a high-level kenku/wearing
# those boots of levitation?
#
NAME:   water_maze_lemuel
TAGS:   no_pool_fixup uniq_water_maze_lemuel
WEIGHT: 5
ITEM:   ring of teleportation / scroll of teleportation q:3
DEPTH:  D:5-27
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-27, Swamp
KMONS:  * = fungus
KFEAT:  * = *
NSUBST: a = 1:= / *:x
NSUBST: b = 1:= / *:x
NSUBST: c = 1:= / *:x
NSUBST: d = 1:= / *:x
MAP
  wwwwwwww
 wwwwwwwwww
wwxaxwwxbxww
wwa*awwb*bww
wwxaxwwxbxww
wwwwwwwwwwww
wwwwwwwwwwww
wwxdxwwxcxww
wwd*dwwc*cww
wwxdxwwxcxww
 wwwwwwwwww
  wwwwwwww
ENDMAP

###############################################
# This is probably a get-off-the-level vault. -LP
#
NAME:  aerie
DEPTH: D:12-26
MONS:  insubstantial wisp, ball lightning, vapour, air elemental
TAGS:  no_monster_gen
SUBST: .:..w
SUBST: 1 = 1 w:3, 2= 2 w:3, 3 = 3 w:3, 4 = 4 |:3
MAP
    bbbbbbbbbb
  bbb11211211bbb
 bb.12bbbbbb21.bb
bb..bbb2323bbb..bb
b..bb...bb...bb.1b
b.bb..bbbbbb..bb.b
b.b..bb2323bb..b1b
b.b.bb23bb23bb.b.b
b.b.b..bbbb..b.b1b
b.b.b.bb44bb.b.b.b
b2b2b3b4444b3b2b2b
b.b.b.b4444b.b.b.b
b.b.b.bb44bb.b.b1b
b.b.b2323bb..b.b.b
b.b.bbbbbb..bb.b1b
b.b..bbb...bb..b.b
b.bb..bb.bbb..bb1b
b..bb....b...bb..b
bb..bbbbbb.bbb..bb
 bb.12bbbb2b111bb
  bbb123321b.bbb
    bbbbbbbb@b
ENDMAP

##############################################################################
# Greed's colour
#
NAME:    david_greed
WEIGHT:  4
DEPTH:   D:10-26, Vault, Elf
ITEM:    nothing / any good_item
MONS:    silver statue / orange crystal statue / ice statue
SHUFFLE: d|
MAP
xxxxxxxxx
xbbbbbbbx
xb1...1bx
xb.....bx
xb.....bx
xbb.|.bbx
xxb.d.bxx
xxb...bxx
xxb...bxx
xxb.*.bxx
xxb...bxx
xxx@I@xxx
ENDMAP

##############################################################################

NAME: minivault_1
TAGS: allow_dup extra luniq_mini
MAP
............
..xxxx=xxx..
.xx..x...xx.
.x....x...x.
.x...x....x.
.xx.x*x.x.=.
.=.x.x*x.xx.
.x....x...x.
.x...x....x.
.xx...x..xx.
..xxx=xxxx..
............
ENDMAP

###################################

NAME: minivault_4
TAGS: allow_dup extra luniq_mini
MAP
............
....xwxx....
..xxxwwxwx..
..xwwwwwwx..
.xwwxwwxwxx.
.xwwwwwwwwx.
.xwwxwwwxww.
.xxwwwwwwxx.
..wwwwxwwx..
..xxxwwxxw..
....xxww....
............
ENDMAP

###################################

NAME: minivault_5
TAGS: allow_dup extra luniq_mini
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

###################################
# Wizard's laboratory
#
NAME:  laboratory
MONS:  wizard, small abomination, large abomination
MAP
ccccccc+cc
c........c
c........c
c..1.....c
c........c
cc+ccccccc
c***c3232c
c|**+2223c
c||*c3322c
cccccccccc
ENDMAP

###################################
# Beehive minivault
#
NAME: minivault_7
TAGS: allow_dup
MONS: patrolling queen bee, patrolling killer bee, killer bee larva
KITEM: R = w:2 honeycomb / w:1 royal jelly
MAP
............
....aaaa....
..a2a2aaaa..
..aaRa3a2a..
.aa2aRa2aaa.
.a3aRa1aRa2.
.aa3aRaRa2a.
.aaa2a2a3aa.
..a3aRa2aa..
...aa2aa2a..
....aaaa....
............
ENDMAP

###################################
# Lava pond
#
NAME: minivault_8
TAGS: allow_dup
MONS: patrolling molten gargoyle
SUBST: F = G:100 F:1
KMONS: F = orange crystal statue / silver statue / ice statue
MAP
x.x.x.x.x.x.
.c.c.c.c.c.x
x...l1l...c.
.c.llllll..x
x.lllllll1c.
.c.llFGll..x
x..llGFll.c.
.c1lllllll.x
x..llllll.c.
.c...l1l...x
x.c.c.c.c.c.
.x.x.x.x.x.x
ENDMAP

###################################
# Evil zoo
#
# The marker affects find_connected_range() so that each door opens and
# closes separately rather than all of them joining together into a huge
# gate that opens all at once.
#
NAME:   minivault_9
TAGS:   allow_dup
DEPTH:  D:15-27, Elf, Vault, Crypt, Dis, Geh, Tar, Coc
MARKER: X = lua: props_marker { connected_exclude="true" }
SUBST:  X = =
MAP
XXXXXXXXXX
XxXXXXXXXX
XXXXXXXXXX
XXX8888XXX
XXX8998XXX
XXX8998XXX
XXX8888XXX
XXXXXXXXXX
XXXXXXXXXX
XXXXXXXXXX
ENDMAP

###################################

NAME: minivault_10
TAGS: mini_float extra luniq_mini
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
TAGS:    extra luniq_mini
SHUFFLE: bcva
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

###################################
# Closed-box minivault
#
NAME:  minivault_12
DEPTH: D:8-26
MAP
............
.xxxxxxxxxx.
.x>9$9$9$<x.
.x.$9$9$.$x.
.x$.****$.x.
.x.$*||*.$x.
.x$.*||*$.x.
.x.$****.$x.
.x$9$9$9$.x.
.x<$9$9$9>x.
.xxxxxxxxxx.
............
ENDMAP

###################################
# Little trap spiral
#
NAME: minivault_13
SHUFFLE: AB, CD, EH/FG
KFEAT: ACEH = any trap
KITEM: ABCD = gold / nothing
SUBST: F = G:100 F:1
KMONS: F = orange crystal statue / silver statue / ice statue
MAP
............
.xxxxxxxxxx.
.=.Ax.C=.9x.
.x.B=.Dx..x.
.xxxxxxxx=x.
.x.8+|0x8.x.
.x8$x.|x..x.
.xx=xxxx=xx.
.x.9=EFx..x.
.x..xGH=9.x.
.xxxxxxxxxx.
............
ENDMAP

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

###################################
# Lava pond
#
NAME:  minivault_15
TAGS:  extra luniq_mini
KMONS: 1 = silver statue / ice statue
KFEAT: 1 = <
MAP
.........
...lll...
..vvlvv..
.lv|*|vl.
.ll*1*ll.
.lv|*|vl.
..vvlvv..
...lll...
.........
ENDMAP

###################################

NAME:    minivault_16
TAGS:    allow_dup extra luniq_mini
WEIGHT:  40
# as this replaces the former statue only minivaults
SHUFFLE: G111
MONS:    orange crystal statue / silver statue / ice statue
MAP
...........
...........
...........
...........
...........
.....G.....
...........
...........
...........
...........
...........
ENDMAP

###################################

NAME: minivault_19
TAGS: allow_dup extra luniq_mini
MAP
............
.xx......xx.
.xxx....xxx.
..xxx..xxx..
...xxxxxx...
....xxxx....
....xxxx....
...xxxxxx...
..xxx..xxx..
.xxx....xxx.
.xx......xx.
............
ENDMAP

###################################

NAME: minivault_20
TAGS: allow_dup extra luniq_mini
MAP
............
.xxxx..xxxx.
.x........x.
.x..xxxx..x.
.x.x....x.x.
...x.x9.x...
...x.9x.x...
.x.x....x.x.
.x..xxxx..x.
.x........x.
.xxxx..xxxx.
............
ENDMAP

###################################

NAME:  minivault_21
TAGS:  allow_dup extra luniq_mini
DEPTH: D:8-26
MAP
............
.~xxxxxxxx~.
.x........x.
.x.cccccc.x.
.x.c|..<c.x.
.x.c.**.c.x.
.x.c.**.c.x.
.x.c>..|c.x.
.x.cccccc.x.
.x........x.
.~xxxxxxxx~.
............
ENDMAP

###################################

NAME: minivault_22
TAGS: allow_dup extra luniq_mini
SUBST: $ : $ *:5
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: allow_dup extra luniq_mini
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: allow_dup extra luniq_mini
MAP
............
....xxxx....
....xxxx....
....xxxx....
.xxxx.x.xxx.
.xxx.x.xxxx.
.xxxx.x.xxx.
.xxx.x.xxxx.
....xxxx....
....xxxx....
....xxxx....
............
ENDMAP

###################################

NAME: minivault_25
TAGS: allow_dup extra luniq_mini
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_25_ag
TAGS:    allow_dup extra luniq_mini
SHUFFLE: XY, ABCDE
SUBST:   X=x, Y=+
SUBST:   A=?, B=%%%*, C=T, D=0009, E=89
MAP
............
.xxXxxxxxxx.
.x........x.
.x.xYxxxx.Y.
.x.x....X.x.
.x.x.AA.x.x.
.x.x.AA.x.x.
.x.X....x.x.
.Y.xxxxYx.x.
.x........x.
.xxxxxxxXxx.
............
ENDMAP

###################################

NAME: minivault_26
TAGS: allow_dup extra luniq_mini
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: allow_dup extra luniq_mini
MAP
............
.x.xxxxxxxx.
.x........x.
.xxxxxxxx.x.
.x........x.
.x.xxxxxxxx.
.x........x.
.xxxxxxxx.x.
.x........x.
.x.xxxxxxxx.
............
ENDMAP

###################################

NAME: minivault_28
TAGS: allow_dup
MAP
...........
.xxxx.xxxx.
.x.......x.
.x..999..x.
.x.9...9.x.
...9.I.9...
.x.9...9.x.
.x..999..x.
.x.......x.
.xxxx.xxxx.
...........
ENDMAP

###################################
# Anthill
#
NAME: minivault_29
TAGS: allow_dup
MONS: patrolling queen ant, patrolling soldier ant
MONS: patrolling giant ant, ant larva
MAP
.3......3...
...x.xx.x.2.
.xxx2xxxxx..
.xxxx42xxx2.
.2xx243432x3
.xx421424xx.
3xx423242x..
.x2x3243xxx.
.x2xx42422x.
..xxxxxxxx2.
...x2xxxx3..
.3.......33.
ENDMAP

##############################
# Worms!
#
NAME:  worms_lemuel
DEPTH: D:6-15, Lair, Swamp, Hive
TAGS:  no_rotate
SUBST: W = W:20 w
: if you.absdepth() > 13 then
SUBST: 1 = 1:200 2
:end
KFEAT: 1 = W
KFEAT: 2 = W
KMONS: 1 = w:20 worm / swamp worm
KMONS: 2 = brain worm
MAP
   WWWWWWW
 WWWWWWWWWWW
WWWxxxxxxxWWW
WWWx11111xWWW
WWWx11111+WWW
WWWx11111xWWW
WWWxxxxxxxWWW
 WWWWWWWWWWW
   WWWWWWW
ENDMAP

###################################
# Solitary fountain
#
NAME:  solitary_fountain
DEPTH: D, Elf, Vault
TAGS:  allow_dup extra luniq_mini
SUBST: ?=TUV
KMASK: T = no_monster_gen
KMASK: U = no_monster_gen
MAP
.....
.....
..?..
.....
.....
ENDMAP

###################################
# Fountainhead
#
NAME:  fountainhead
TAGS:  allow_dup extra luniq_mini
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

###################################
# Billiards (David Ploog)
#
NAME:    billiards
MONS:    orc wizard, deep elf conjurer
SHUFFLE: 1*/2d
SUBST:   * = * |:1 %:4
SUBST:   d = * |
NSUBST:  X = + / x
MAP
.............
.xxxxxxxxxxx.
.x*1......bx.
.x1.......bx.
.x..bbbbb+bx.
.x..bxxxb.bx.
.x..bbbbb.bx.
.x..+......x.
.xbbbbbbb..X.
.xxxxxxxxxXx.
.............
ENDMAP

##############################################################################
# Dispersion (David)
#
NAME:  dispersion
TAGS:  allow_dup
DEPTH: D:13-26, Vault
SUBST: Y = 89
KITEM: 8 = % / * / w:1 |
KITEM: 9 = % / * / w:1 |
KFEAT: 8 = 8
KFEAT: 9 = 9
KFEAT: X = teleport trap
KFEAT: Z : teleport trap / w:30 x
SHUFFLE: xcvb
MAP
............
............
...xxxxxx...
..x......x..
..x.ZXXZ.x..
..x.XYYX.x..
..x.XYYX.x..
..x.ZXXZ.x..
..x......x..
...xxxxxx...
............
............
ENDMAP

##############################################################################
# Things aren't always what they seem (Lemuel)
#
# Intentionally moved this deeper because explore will gladly run into the
# room, and being hit by multiple mimics is un-fun.
# Slight tweak by having a fraction (unknown to the player) of items be
# real. (dp)
#
NAME:  fake_naga_vault
DEPTH: D:15-26, Vault, Elf, Snake
MONS:  mimic, patrolling guardian naga
ITEM:  any good_item
: local b = crawl.random2(10)
: if b > 7 then
SUBST: 1 = 1d
: elseif b > 1 then
SUBST: 1 = 111d
: end
MAP
...........
.xxxxxxxxx.
.x1111111x.
.x1111111x.
.x1111111x.
.x11.2.11x.
.xxxx+xxxx.
...........
ENDMAP

##############################################################################
# Supply closet (Lemuel)
#
NAME:   supply_closet
DEPTH:  D:1-9
TAGS:   no_monster_gen allow_dup extra luniq_mini
ITEM:   potion of water w:20 / bread ration / meat ration / arrow /\
        bolt / spear / any potion w:5
NSUBST: x = 1:= / *:x
SUBST:  = = +===
MAP
......
.x?xx.
.xddx.
.xddx.
.xxxx.
......
ENDMAP

##############################################################################
# Columned hall (Lemuel)
#
NAME: columns_hall
TAGS: extra luniq_mini
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@...........................@
..x..x..x..x..x..x..x..x..x..
@...........................@
..x..x..x..x..x..x..x..x..x..
@...........................@
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

###############################################################################
## Wet chambers - two mutually exclusive versions (Onia Ninara)
##
#NAME:    onia_ninara_007_chamber_of_wet_secrets
#DEPTH:   D:8-13
#TAGS:    no_monster_gen no_pool_fixup
#KMONS:   1 = centaur
#KMONS:   2 = water moccasin
#KMONS:   3 = electric eel
#ITEM:    bread ration/meat ration/royal jelly/potion of porridge, good_item cloak/any book
#SHUFFLE: !;
#SUBST:   " = .:80 W:30
#SUBST:   ; = .:80 W:30
#SUBST:   ! = w:20 W ? c
#KFEAT:   3 = w
#KFEAT:   2 = W / .
#KFEAT:   1 = W / . w:30
#KFEAT:   d = W / .
#KFEAT:   e = W / .
#KFEAT:   ? = spear trap / blade trap
#MAP
#.........
#.ccccccc.
#.c?;2Wdc.
#.ccWccec.
#.c.w"c3c.
#.c"w"ccc.
#.c>w!;!c.
#.c"w!!;c.
#.c.w!;!c.
#.c1w?T!c.
#.c$w;!!c.
#.cccc=cc.
#.........
#ENDMAP
#
#NAME:    onia_ninara_008_deeper_chamber_of_wet_secrets
#DEPTH:   D:20-26
#TAGS:    no_monster_gen no_pool_fixup
#KMONS:   1 = yaktaur captain
#KMONS:   2 = grey snake
#KMONS:   3 = storm dragon
#ITEM:    potion of cure mutation/potion of gain dexterity/potion of gain strength
#ITEM:    potion of gain intelligence/potion of experience/w:40 potion of heal wounds
#SHUFFLE: de, !;
#KFEAT:   3 = w / .
#KFEAT:   | = W / .
#KFEAT:   d = W / .
#KFEAT:   e = W / .
#KFEAT:   2 = W
#SUBST:   ; = .:80 W:30
#SUBST:   " = .:80 W:30
#SUBST:   ! = w:20 W ? c
#KFEAT:   ? = zot trap
#MAP
#.........
#.ccccccc.
#.c?.2Wdc.
#.ccWcc|c.
#.c"w"c3c.
#.c"w"ccc.
#.c"w!;!c.
#.c"w!?;c.
#.c"w!!;c.
#.c1w;U!c.
#.c$w!!;c.
#.cccc=cc.
#.........
#ENDMAP


##############################################################################
# Loot vs monsters (Onia Ninara)
#
NAME:    onia_ninara_009_dug_in_and_dangerous
TAGS:    allow_dup
DEPTH:   D:8-26, Vault
SHUFFLE: vcb, AB?/CD!, d<>, de
SUBST:   A=9, B=8, C=1, D=9
SUBST:   ? = %:10 *:50 |:60
SUBST:   ! = %:90 *:30 |:10
ITEM:    wand of digging / wand of disintegration
ITEM:    ring of teleportation / stone of earth elementals
MAP
...........
.vvnvvvnvv.
.vAAABAAAv.
.xxxxxxxxx.
.v???d???v.
.vvnvvvnvv.
.....@.....
ENDMAP

#############################
# Pond minivault
#
NAME:  pond
DEPTH: D:8-27, Lair
MONS:  plant w:30 / fungus
MONS:  giant frog w:30 / giant toad / snake / rat / green rat / swamp drake w:2
MONS:  giant mosquito
SUBST: ! : w.
SUBST: 2 : 23
SUBST: 2 = 2.
SUBST: 3 = 3.
SUBST: . = . 1:1
KFEAT: ? = *
KMONS: ? = plant
TAGS:  no_monster_gen
MAP
..wwwww...
.wwwwwwww2
.wwwwwwwww
.2wwwwwwww
..ww222ww.
.wwww222w.
wwww!!22ww
www!!!?ww.
.ww!!!www.
.2w!!!ww2.
....!!w...
ENDMAP

##############################
# Cookie
#
NAME:    onia_ninara_cookie
SHUFFLE: ABCDEF
SUBST:   A : !, B : !, C : !, D : !, E : !, F : =, G : ~ l:50 w:50 I
SUBST:   ! : xvcba
SUBST:   H = 0 . ~ , J = 1 0:100 $:20
ITEM:    any jewellery
MONS:    giant eyeball
MAP
...........
..!H!H!H!..
.!!B!A!F!!.
.HCJJJ!JEH.
.!!J!G!J!!.
.HDJ!d!JDH.
.!!J!J!J!!.
.HEJ!JJJCH.
.!!F!A!B!!.
..!H!H!H!..
...........
ENDMAP

##############################
# Secret library minivault
#
NAME:   library
DEPTH:  1-27
TAGS:   mini_float allow_dup extra luniq_mini
ITEM:   any book w:20 / any scroll / nothing
MAP
x=xx
xddx
xddx
xxxx
ENDMAP

#############################################################################
# Small statue alley (Eino)
#
NAME:   small_statue_alley_a
TAGS:   uniq_statue_alley extra luniq_mini
DEPTH:  D:10-20
WEIGHT: 7
SUBST:  F = G:100 F:1
KMONS:  F = orange crystal statue / silver statue / ice statue
MAP
xxxcccccx
...G...G@
.G.F.G.G.
.G.G.F.G.
@G...G...
xcccccxxx
ENDMAP

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

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

#############################################################################
# Doghouse (Eino)
#
NAME:    doghouse
DEPTH:   D:4-8
TAGS:    extra luniq_mini
SHUFFLE: 1?T
SUBST:   T : T V:2
SUBST:   ? : 1:2 .
MONS:    hound / w:1 nothing / w:2 jackal
KMASK:   T = no_monster_gen
MAP
.......
.xx+xx.
.x...x.
.x?..x.
.x1.Tx.
.xxxxx.
.......
ENDMAP


#############################################################################
# Small intersection with statues (Eino)
#
NAME:    small_statue_intersection
DEPTH:   D:2-26, Elf, Crypt
TAGS:    mini_float allow_dup no_hmirror no_vmirror extra luniq_mini
MAP
xx.xx
xG.Gx
.....
xG.Gx
xx.xx
ENDMAP

#############################################################################
# Small chambers for nice items (Eino)
# not necessarily versions of the same vault
#
NAME:   small_chamber_a
TAGS:   mini_float allow_dup extra luniq_mini
DEPTH:  D:4-27
MAP
 xxxxx
xx...xx
x..*..x
x.....x
xx...xx
 x...x
ENDMAP

NAME:   small_chamber_b
TAGS:   mini_float extra luniq_mini
DEPTH:  D:8-27, Elf, Vault, Crypt
MAP
xxxxxxx
xxG.Gxx
x..|..x
x..9..x
xx...xx
xxT.Txx
xx...xx
xxT.Txx
ENDMAP

NAME:   tiny_chamber_a
TAGS:   mini_float allow_dup extra luniq_mini
DEPTH:  D:2-27, Elf, Vault, Crypt
MAP
xxxxx
x...x
x.*.=
x...x
xxxxx
ENDMAP

#######################################
# There's a sword stuck inside a stone. Some knights are milling around
# wondering how to get it out. If you had both Shatter and Apportation,
# you could become the monarch! Or not..... (by Shiori)
#
NAME:   sword_in_stone
TAGS:   mini_float patrolling
DEPTH:  5-26, !Lair, !Orc, !Tomb
NSUBST: k = 4=k / *= .:19 k:1
KITEM:  S = good_item long sword / good_item great sword / good_item katana /\
            good_item triple sword / good_item double sword
KFEAT:  S = known teleport trap
NSUBST: n = n/cbn
: if you.absdepth() < 10 then
SUBST: k = AWXYZ
: elseif you.absdepth() < 13 then
SUBST: k = ABCDE
: elseif you.absdepth() < 16 then
SUBST: k = CDEFG
: elseif you.absdepth() < 19 then
SUBST: k = FGHIJ
: elseif you.absdepth() < 22 then
SUBST: k = HIJKL
: else
SUBST: k = KLMNO
: end
KMONS: A = Blork the Orc / human; long sword | falchion . chain mail . shield
KMONS: B = Michael / human; great sword . banded mail|plate mail
KMONS: C = Urug / elf; sabre | long sword . leather armour . buckler | nothing
KMONS: D = Joseph / elf; long sword | scimitar . chain mail . shield
KMONS: E = Erica / orc knight
KMONS: F = Harold / orc knight
KMONS: G = Norbert / hell knight
KMONS: H = Jozef / hell knight
KMONS: I = Louise / wizard; long sword . robe | leather armour . shield
KMONS: J = Maud / necromancer; great sword . robe | leather armour
KMONS: K = Frances / deep elf knight
KMONS: L = Francis / deep elf knight
KMONS: M = Rupert / vampire knight
KMONS: N = Wayne / vault guard
KMONS: O = Frederick / draconian knight
KMONS: W = human; short sword . banded mail | chain mail . large shield
KMONS: X = human; scimitar . scale mail|chain mail . shield
KMONS: Y = human; sabre | long sword . robe | leather armour . buckler | nothing
KMONS: Z = orc; falchion | long sword . ring mail | scale mail . shield | nothing
MAP
kkkkkkk
kkkkkkk
kknnnkk
kknSnkk
kknnnkk
kkkkkkk
kkkkkkk
ENDMAP

##############################################################################
# A room of rats, twice
#
NAME:  rats_and_rats_again
TAGS:  mini_float
DEPTH: D:8-14
MONS:  shadow imp
MONS:  rat w:40 / grey rat w:40 / green rat w:12 / orange rat w:1 / nothing
MAP
...........
.xxx+++xxx.
.x2222222x.
.x2222222x.
.x2222222x.
.x2222222x.
.x2221222x.
.x2222222x.
.x2222222x.
.xxxxxxxxx.
...........
ENDMAP

################################################################################
# Some earlyish demon minivaults by Eino.
# The difficulty of most low-tier demons is severely inflated by the time the
# player gets to meet them. Here (using default depth) they aspire to be both
# challenging and flavourful.

### Red devils (4) can use weapons and armour.
#
NAME:    armed_red_devil_minivault
TAGS:    patrolling mini_float
KMASK:   l = no_monster_gen
SHUFFLE: 1234
MONS:    red devil; spear | trident . ring mail | scale mail
MONS:    red devil; hand axe | war axe . buckler | nothing . leather armour | \
         ring mail
MONS:    red devil; flail | demon whip . ring mail | scale mail
MONS:    red devil; falchion | sabre . shield | buckler | nothing . \
         leather armour | ring mail
MAP
...........
.ll.v.v.ll.
.l..v.v..l.
...vv.vv...
.vvv1.2vvv.
...........
.vvv3.4vvv.
...vv.vv...
.l..v.v..l.
.ll.v.v.ll.
...........
ENDMAP

### A rotting devil (4) & necrophages.
#
NAME:  rotting_minivault
TAGS:  patrolling mini_float
MONS:  rotting devil
MONS:  necrophage
MAP
...........
.cccc+cccc.
.c2c...c2c.
.c..1.1..c.
.c2c...c2c.
.cccc+cccc.
...........
ENDMAP

### Demonic crawlers (3) and beetles.
#
NAME:  crawler_minivault
TAGS:  patrolling mini_float
MONS:  demonic crawler
MONS:  giant beetle / boulder beetle w:8 / demonic crawler w:2 / \
       nothing
MAP
..........
.m.mmmmmm.
.mx.x.x.m.
.m.x2x2xm.
.mx2x1x.m.
.m.x1x2xm.
.mx2x2x.m.
.m.x.x.xm.
.mmmmmm.m.
..........
ENDMAP

### Hairy devils (4) and bears.
#
NAME: hairy_minivault
TAGS: patrolling
MONS: hairy devil / nothing w:20
MONS: black bear w:20 / grizzly bear / nothing w:20
MAP
xxxxxxxxxxxxx
@.....xxxxxxx
xxxxx..xxxxxx
xxxxxx.xxxxxx
xx1.x...x.1xx
x12.2...2.21x
x12.2...2.21x
xx1.x...x.1xx
xxxxxx.xxxxxx
xxxxxx..xxxxx
xxxxxxx.....@
xxxxxxxxxxxxx
ENDMAP

#######################################
# Statue in the mist (Lemuel)
#
NAME:    statue_in_the_mist
TAGS:    extra luniq_mini
MONS:    orange crystal statue / silver statue / ice statue
DEPTH:   9-
MARKER:  G = lua:fog_machine { cloud_type= "grey smoke", \
             pow_min = 10, pow_max = 20, delay_min = 15, delay_max = 35, \
             size = 3, walk_dist = 2, spread_rate= 25 }
SHUFFLE: G111
MAP
G
ENDMAP

#######################################
# Flamethrowers (Lemuel)
#
# No item generation for the sake of autoexplore.
#
NAME:   flamethrower_hall
DEPTH:  D:9-27, Vault, Elf, Geh
TAGS:   layout_rooms layout_city no_item_gen
MARKER: * = lua:fog_machine { cloud_type="flame", \
            pow_min = 25, pow_max = 50, delay = 150, \
            size = 2, walk_dist = 0, spread_rate= 40 }
COLOUR: * = red
SUBST:  * = .
SUBST:  $ : $$*|.c
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 number of flamethrower vaults (Lemuel)
#
# This next bunch are "flamethrowers" -- flame appears at the end of the
# little corridor and a couple turns later spreads out of it. If you see
# fire, get clear!
# Again, these rely on statues to halt autoexplore.
# Yes, you can cook monsters with it, but (1) you may get burned yourself
# and (2) no XP if it kills them.
#
NAME:   flamethrower_3
DEPTH:  D:12-27, Vault, Elf, Geh
TAGS:   allow_dup
MARKER: * = lua:fog_machine { cloud_type="flame", \
            pow_min = 20, pow_max = 40, delay = 150, \
            size = 1, walk_dist = 0, spread_rate= 75 }
COLOUR: * = red
SUBST:  * = .
MAP
.....
cc.cc
cc.cc
cc.cc
 c*c
 ccc
  c
ENDMAP

NAME:   flamethrower_2
DEPTH:  D:5-27, Vault, Elf, Geh
MARKER: * = lua:fog_machine { cloud_type="flame", \
            pow_min = 20, pow_max = 40, delay_min = 100, delay_max=200, \
            size = 1, walk_dist = 0, spread_rate= 75 }
COLOUR: n = red
SUBST:  * = .
MAP
...........
.xxxx.xxxx.
.xxxx.xxxx.
.xxxx*xxxx.
.xxxnnnxxx.
...*nGn*...
.xxxnnnxxx.
.xxxx*xxxx.
.xxxx.xxxx.
.xxxx.xxxx.
...........
ENDMAP

NAME:   flamethrower_1
DEPTH:  D:5-27, Vault, Elf, Geh
TAGS:   layout_rooms layout_city
MARKER: * = lua:fog_machine { cloud_type="flame", \
            pow_min = 20, pow_max = 40, delay = 150, \
            size = 1, walk_dist = 0, spread_rate= 75 }
COLOUR: * = red
SUBST:  * = .
MAP
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxGxxxxxx
.............
@...........@
.............
xxxxxx.xxxxxx
xxxxxx.xxxxxx
xxxxxx.xxxxxx
xxxxxx*xxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
ENDMAP

##############################################
# Old faithful (Lemuel)
#
# Little wisps of steam around the lava, and then occasionally a big
# eruption. No statue needed here - the steam does very little damage.
#
NAME:   old_faithful
DEPTH:  D, Lair, Geh
TAGS:   uniq_geyser no_monster_gen
MONS:   nothing,nothing
MARKER: 1 = lua:fog_machine { cloud_type="steam", \
            pow_min = 2, pow_max = 5, delay = 25, \
            size = 1, 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.
MAP
.......?.......
......&?.......
.......??......
..&&&&???......
&&&&?wwwww.....
&&?wwwwwwwww&&.
.wwwwwlwwwwwww&
..&wwl1lwwwww&&
...wwwl2lwww&&.
....wwwlww&&...
..!!wwwww......
..!!!www.......
.!!!!w!.....!..
..!!!w.....!!!.
...!!.......!!.
ENDMAP

##############################################
# Another geyser (Lemuel)
#
NAME:   another_geyser
DEPTH:  D, Lair
TAGS:   uniq_geyser no_monster_gen layout_rooms
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

#########################################################
# Ice Spiral I (Lemuel)
#
# There is a path to the center that the freezing clouds never appear on.
# It's pretty obvious. -LP
#
NAME:    ice_spiral
WEIGHT:  1
ORIENT:  float
TAGS:    no_item_gen no_monster_gen
MONS:    ice beast / nothing
ITEM:    nothing, nothing
SHUFFLE: 1ef
SUBST:   + : +=
SUBST:   * : *$
SUBST:   * = ***.|
MARKER:  1 = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 2, pow_max = 4, delay = 17, start_clouds = 1, \
             size = 1, walk_dist = 0, spread_rate= 0 }
MARKER:  e = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 2, pow_max = 4, delay = 19, start_clouds = 1, \
             size = 1, walk_dist = 0, spread_rate= 0 }
MARKER:  f = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 2, pow_max = 4, delay = 23, start_clouds = 1, \
             size = 1, walk_dist = 0, spread_rate= 0 }
MAP
mG++Gmmmmmmmmmmmmmmmmmm
m......f..1..1...e...fm
m....1...f..e..f...1..m
m......e..............m
m....f...............em
m......1..............m
m....1.....e.1.f......m
m...........f.e.1....1m
m......e..............m
m....e......***.......m
m......1....***.f....fm
m.....................m
m....f1..e1.f..1e.....m
m....................em
m.....................m
m.....................m
m....................1m
mf..1..e..f..e..f..e..m
mmmmmmmmmmmmmmmmmmmmmmm
ENDMAP

#########################################################
# Ice Spiral II (Lemuel)
#
# Wait for the freezing cloud to disappear, then run to the next gap, then
# wait. It creates an agreeable sense of tension. -LP
#
NAME:    ice_spiral_2
ORIENT:  float
DEPTH:   D:5-27, Vault
TAGS:    no_item_gen uniq_spiral layout_rooms layout_city
MONS:    nothing
ITEM:    nothing, nothing
SHUFFLE: Bb/Mm/Mm/Mm
COLOUR:  B = blue
SUBST:   M=. , m=n, B=. , b=c
SUBST:   + : +=
SUBST:   * : *$
MARKER:  1 = lua:fog_machine { cloud_type = "freezing vapour", \
              pow_min = 5, pow_max = 5, delay = 120, start_clouds = 1, \
              size = 1, walk_dist = 0, spread_rate= 0 }
MARKER:  e = lua:fog_machine { cloud_type = "freezing vapour", \
              pow_min = 9, pow_max = 9, delay = 200, start_clouds = 1, \
              size = 1, walk_dist = 0, spread_rate= 0 }
MAP
mG+Gmmmmmmmmmmmmmmmmm
mBBB111B111BeeeeeeeBm
mmmmmmmmmmmmmmmmmmmBm
m*****eeeeeee111B111m
mmmmmmmmmmmmmmmmmmmmm
ENDMAP

#################################################################
# Nasty fountain (Lemuel)
#
NAME:  nasty_fountain
DEPTH: D:11-27, 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 = 1, walk_dist = 1, spread_rate= 33 }
MAP
Y
ENDMAP

################################################################
# Flame loot I (Lemuel)
#
NAME:   flame_loot_1
DEPTH:  D, Elf, Vault, Zot
ITEM:   nothing
SUBST:  * = *.
SUBST:  * : *$
MARKER: d = lua:fog_machine { cloud_type = "flame", \
             pow_min = 10, pow_max = 10, delay = 10, \
             size = 1, walk_dist = 0, spread_rate= 0 }
KPROP:  d = force_exclude
KPROP:  ' = force_exclude
SUBST:  ' = .
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

#################################################################
# Flame loot II (Lemuel)
#
NAME:   Flame_loot_2
DEPTH:  D:9-27
ORIENT: float
ITEM:   nothing
SUBST:  * = |**...
SUBST:  * : *$
SUBST:  L = ll.
MONS:   molten gargoyle / firedrake / lindwurm / nothing w:20
MARKER: d = lua:fog_machine { cloud_type = "flame", \
             pow_min = 10, pow_max = 10, delay = 10, \
             size = 1, walk_dist = 0, spread_rate= 0 }
MAP
ccccc...ccccc
ccccc...ccccc
ccccc...ccccc
ccccc.d.ccccc
ccccc...ccccc
ccccc...ccccc
ccccc.d.ccccc
ccccc...ccccc
ccccc...ccccc
ccccc...ccccc
c...LLlLL...c
c..LLlllLL..c
c.LLll*llLL.c
cLLll***llLLc
cLll**1**llLc
cLlll***lllLc
cLLlll*lllLLc
c.LLlllllLL.c
c..LLlllLL..c
ccccccccccccc
ENDMAP

#################################################################
# Freeze loot (Lemuel)
# High T&D skill or a means of detecting secret doors is helpful here....
#
NAME:    freeze_loot_1
DEPTH:   D:12-27, 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 = 1, walk_dist = 2, spread_rate= 20 }
MARKER:  2 = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 1, pow_max = 10, delay = 95, \
             size = 1, walk_dist = 2, spread_rate= 20 }
MARKER:  3 = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 1, pow_max = 10, delay = 105, \
             size = 1, walk_dist = 2, spread_rate= 20 }
MARKER:  4 = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 1, pow_max = 10, delay = 115, \
             size = 1, 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

#################################################################
# Flames and gold (Lemuel)
# No safe path in this one -- just got to take your chances!
#
NAME:   flames_and_gold
DEPTH:  D:16-27
WEIGHT: 2
TAGS:   no_item_gen
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 = 1, 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 = 1, 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 = 1, walk_dist = 2, spread_rate= 0 }
MAP
.............
.............
.............
.............
......$......
.....$$$.....
....$$G$$....
.....$$$.....
......$......
.............
.............
.............
.............
ENDMAP

#################################################################
# Firewalk III (Lemuel)
#
NAME:    firewalk_3
TAGS:    uniq_firewalk
WEIGHT:  2
ORIENT:  float
ITEM:    nothing, nothing, nothing
SHUFFLE: def
MARKER:  d = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 4, delay = 39, start_clouds = 1, \
             size = 1, walk_dist = 2, spread_rate= 0 }
MARKER:  e = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 6, delay = 59, start_clouds = 1, \
             size = 1, walk_dist = 2, spread_rate= 0 }
MARKER:  f = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 8, delay = 79, start_clouds = 1, \
             size = 1, walk_dist = 2, spread_rate= 0 }
MAP
xxxxxxxG@Gxxxxxxx
x...............x
x...............x
x.d..e.....f..d.x
x...............x
x...............x
x...............x
x.e..f.....d..e.x
x...............x
x...............x
x...............x
x.f..d.....e..f.x
x...............x
x...............x
x...............x
x.d..e.....f..d.x
x...............x
x...............x
x......$$$......x
x.e.f..$$$..d.e.x
x......$$$......x
xxxxxxxxxxxxxxxxx
ENDMAP

#################################################################
# Flame stairs (Lemuel)
#
NAME:    flame_stairs_1
DEPTH:   D:9-26, Elf:2-6, Vault, Zot:1-4
ITEM:    nothing
SHUFFLE: {[ / ]}
MARKER:  d = lua:fog_machine { cloud_type = "flame", \
             pow_min = 10, pow_max = 10, delay = 10, \
             size = 1, walk_dist = 0, spread_rate= 0 }
MAP
cc@@@cc
cc...cc
cc...cc
cc.d.cc
cc...cc
cc...cc
c.....c
c.....c
c.....c
c{...[c
ccccccc
ENDMAP

#################################################################
# Freeze stairs (Lemuel)
#
NAME:    freeze_stairs_1
DEPTH:   D:9-26, Elf:2-6, Vault, Zot:1-4
ITEM:    nothing
SHUFFLE: {[ / ]}
MARKER:  d = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 10, pow_max = 10, delay = 10, \
             size = 1, walk_dist = 0, spread_rate= 0 }
MAP
cc@@@cc
cc...cc
cc...cc
cc.d.cc
cc...cc
cc...cc
cc...cc
cc...cc
c.....c
c.....c
c.....c
c{...[c
ccccccc
ENDMAP

#################################################################
# Spider temple (Joshua)
#
NAME:    spider_temple
DEPTH:   D:20-26
TAGS:	 no_rotate
MONS:    naga mage / naga w:5 / naga skeleton w:2
MONS:    wolf spider w:7 / giant mite w:3
MONS:    oklob plant
MONS:    jelly
MONS:    trapdoor spider / wolf spider
MONS:    guardian naga
MONS:    curse skull
# Randomise wall type: in 50% of maps, you cannot dig to the stairs.
SUBST:   x : xxxxxxvvvccb
# Hints at the important secret doors (red colour). On the one hand, we
# may be too nice here; on the other hand, that's spoily information.
# (red blood tiles at the claws)
COLOUR:  ' = red
FTILE:   ' = floor_rough_red
SUBST:   ' = .
# With 25% chance, have lava and curse skull instead of water and oklobs:
SUBST:   w : Ww.
SUBST:   w = W.
SHUFFLE: wU3 / wU3 / wU3 / l7L
SUBST:   L = l
# The legs are coloured and contain 10 spider monsters:
COLOUR:  " : white / yellow / brown
NSUBST:  " = 10:5 / *:"
SUBST:   " = .
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxx"""""""xxxxxxxxxxxxxx""""""xxxxx
xxxxx"xxxxxx"xxx..}...xxx"xxxxx"xxxxx
xxxxx=xxxxxxx"xx...)..xx"xxxxxx=xxxxx
xxxxx'xxxxxxxx"x..]...x"xxxxxxx'xxxxx
xx"""""""xxxxxx=......=xxxxx"""""""xx
x"xxxxxxx"xxwWxxxx+xxxxxW.x"xxxxxxx"x
xx"xxxxxxx=..wWWw.1...wWW.=xxxxxxx"xx
xxx"xxxxxxx.4WWW.2.2.WWWW.xxxxxxx"xxx
xxxx"xxxxxx..wWWw.W3WWWWw.xxxxxx"xxxx
xxxxx"xxxxx.1.wWWW3U3WWw2.xxxxx"xxxxx
xxxxxx=xxxx2.1.wWWW3WWw12.xxxx=xxxxxx
xxxxxx'xxxx.2.wWWWWWWw....xxxx'xxxxxx
x"""""""""=x..WW....WW...x="""""""""x
x"xxxxxxxxxxxxW...1...Wxxxxxxxxxxxx"x
x"xxx""""""""+W.4...4.W+""""""""xxx"x
x""='"xxxxxxxxxm.....mxxxxxxxxx"'=""x
xxxxx"x........x+xxxxx........x"xxxxx
....x"x........xWWWWWx........x"x....
....x"x........xxxxxWx........x"x....
....x"xx.......xxxWWWx.......xx"x....
....xx"xx.....xxxx+xxxx.....xx"xx....
.....xx"xx....x.......x....xx"xx.....
......xx"xx...x..262..x...xx"xx......
.......xx=xx..mx.....xm..xx=xx.......
........xx'x...xm+++mx...x'xx........
..................@..................
ENDMAP

#################################################################
# And for now, something woody (1KB)
#
NAME: forest_paths
DEPTH: D, Lair
FTILE:  . = floor_lair
FTILE:  t = floor_lair
FTILE:  0 = floor_lair
FTILE:  @ = floor_lair
FTILE:  * = floor_lair
MAP
tttttttttttttttttttttttttt@tttttttttttttttttttttt
tttttttttttttttttttttttttt...tttttttttttttttttttt
tttttttttttttttttttttttttttt..tttttttttttttt0}ttt
ttttttttt.tt......ttttttttttt..tttttttttttt..tttt
tttttttt.t...ttt.0.tttttttttt.tttttttttt...tttttt
tt......tttttttt...ttttttttttt.tttttt...ttttttttt
t.ttttttttttttttt....tttttttttt.tttt.tttttttttttt
@ttttttttttttttt..tttttttttttt..tt...tttttttttttt
ttttttttttttttt..tttttttttttttt....tttttttttttttt
tttttttttttttttt..ttttttttttttttt.ttttttttttttttt
tttttttttttttttt....tttttttttttt.tttttttttt...ttt
tttttttttttttttttt.....tttttttttt..ttttttt..*..tt
ttttttttttttttttttttt....ttttttttt.ttttttt.000.tt
ttttttttttttttttttttttt...tttttttt.ttttt......ttt
ttttttttttttttttttttttttt....tttt.ttttttt.tt.t0tt
tttttttttttttttttttttttttttt.....tttttttt.ttttttt
....ttttttttttttttttttttttt...tttttttttt.tttttttt
@....tttttttt...ttttttttttt...tttttttt..ttttttttt
ttttt..ttt....tt...tt........0.ttttt..ttttttttttt
ttttttt....ttttttt....ttttttt..ttt..ttttttttttttt
tttttttttttttttttttttttttttttt....ttttttttttttttt
ttttttttttttttttttttttttttttttttttttttttttttttttt
ENDMAP

#################################################################
# A poor man's Radiant Cavern (1KB)
#
# Without an amulet of rMut, in my tests, the cost was 4-6 bad
# mutations -- certainly not worth most of the loot.  With rMut,
# it's still a gamble.
#
NAME:  mutagenic_chamber
DEPTH: D:15-, Elf, Vault
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

##############################################################################
# The Horrible House of Horrid Horrors (by Mu.)
#
NAME:   horrible_house_mu
DEPTH:  D:16-25, Vault
KMONS:  g = boggart
KMONS:  h = unseen horror
KMONS:  R = rakshasa
KMONS:  V = vampire knight
KMONS:  8 = orange crystal statue
KMONS:  P = plant
SUBST:  p = P.
MAP
.....................
.pp...............pp.
.pcccccccccccccccccp.
..c.$$$|||.|||$$$.c..
..c..$$$.....$$$..c..
..c.g....lVl....g.c..
..c...llll.llll...c..
..c...lnll.llnl...c..
..c.hlllc.8.clllh.c..
..c...llcccccll...c..
..c...lllllllll...c..
..c.R..hlllllh..R.c..
..c.......l.......c..
..c...............c..
..c...............c..
.pccnnnccc+cccnnnccp.
.pp.....pPPPp.....pp.
.........ppp.........
ENDMAP

##############################################################################
# 'cuz we need more chaos weapons (1KB)
#
NAME:  crazy_cottage
DEPTH: D:2-7
MONS:  gnoll name:Crazy_Yiuf ; quarterstaff good_item ego:chaos . cloak
ITEM:  hammer
MAP
xxxxxxxxxxxxxxxx
xxtttttttxxtttxx
xxtttttttttttttx
....t.tttccccctx
.....t..tc...ctx
....tttt....1ctx
...ttttttc..dctx
xxtttttttccccctx
xxtttttttttttttx
xxxxxttttttttxxx
xxxxxxxxxxxxxxxx
ENDMAP