###############################################################################
# vaults.des: Entries to the Vaults branch. Branch endings for the whole
#             Vaults system, including Vaults:8, Hall of Blades. Crypt and
#             Tomb maps go to crypt.des.
#
# Note the regular (mini)vaults are no longer in vaults.des, they have been
# moved to mini.des, float.des and large.des. Portal vaults live in portal.des.
###############################################################################

##############################################################################
# Vaults entries
##############################################################################
# Dummy Vaults entry

NAME:   vaults_0_dummy
TAGS:   vault_entry
WEIGHT: 60
ORIENT: float
MAP
O
ENDMAP

##############################################################################
# Generic Vaults entry
#
NAME:    david_vaults_1
TAGS:    vault_entry
MONS:    weight:20 nothing / weight:30 human / necromancer / wizard
ORIENT:  float
SHUFFLE: !=
SUBST:   ! = x
SUBST:   ' : cxv
MAP
xxxxx.@.'''''
x...+...'...'
x...x...'...'
x!x=x111'...'
@.x.x111+.O.'
x.x.x111'...'
x.x.x...'...'
x.+.x...'...'
xxxxx.@.'''''
ENDMAP

##############################################################################
# Vault monsters near stair
#
NAME: david_vaults_2
TAGS: vault_entry
MONS: weight:40 nothing / weight:30 yaktaur / yaktaur captain
MONS: weight:70 nothing / weight:40 ogre / weight:20 two-headed ogre / ogre-mage
MONS: weight:100 nothing / shapeshifter
SHUFFLE: 123
ORIENT:  float
MAP
1111..@......
111..........
111..........
1............
@.....O.....@
.............
.............
.............
....@........
ENDMAP

##############################################################################
# Vaults patterns 0: vanguard
#
NAME:    david_vaults_3
TAGS:    vault_entry
ORIENT:  float
MONS:    human, human / Donald, human / Michael, human / Norris, human / Wayne
SHUFFLE: 2345
MAP
@..........@
....1131....
...1....1...
..1......1..
..2..O{..1..
..1..()..4..
..1......1..
...1....1...
....1511....
@..........@
ENDMAP

##############################################################################
# Vaults patterns I
#
NAME:    david_vaults_4
TAGS:    vault_entry
ORIENT:  float
SHUFFLE: 123456
MONS:    dragon / golden dragon / ice dragon / iron dragon / shadow dragon /\
         storm dragon
MONS:    freezing wraith / shadow wraith / wight / wraith
MONS:    deep troll / iron troll / rock troll / troll
MONS:    cyclops / ettin / fire giant / frost giant / hill giant /\
         stone giant / titan
MONS:    necromancer / shapeshifter / vault guard / wizard
MONS:    nothing
MONS:    shapeshifter / weight:30 nothing
SUBST:   1=.1, 2=.2, 3=.3, 4=.4, 5=.5, *:*.%
SUBST:   x : xcv
MAP
@..........@
.xxxxxxxxxx.
.x..12345.x.
.x.xxxxx..x.
.x.x***x..x.
.x.+**Ox..x.
.xxxxxxx..x.
...777....x.
.xx...xxxxx.
@..........@
ENDMAP

##############################################################################
# Vaults patterns II
#
NAME:   david_vaults_5
TAGS:   vault_entry
ORIENT: float
SUBST:  ! : ! .
SUBST:  ? : ? .
SUBST:  ? = .:30 0:10 9:4 8:1 %:10 *:4 |:1
SUBST:  ! = .:30 0:10 9:4 8:1 %:10 *:4 |:1
MAP
xxxxxxxxxxxxxx
xOx!x!x?x!x?xx
xx!x?x!x!x?x!x
x!x!x!x?x!x?xx
xx?x!x?x?x?x!x
x!x?x.x.x.x.xx
xx?x?x.x.x.x.x
x?x?x!x?x.x.xx
xx!x!x!x?x.x.x
xxxxxxxxxxxxx@
ENDMAP

##############################################################################
# The Guard of Blades
#
NAME:    erik_vaults_1
TAGS:    vault_entry
MONS:    dancing weapon
ORIENT:  float
SHUFFLE: vcxxx
MAP
.............
.............
.....v.v.....
....vvvvv....
.....1O1.....
....vvvvv....
.....v.v.....
.............
.............
ENDMAP

##############################################################################
# Above As Below
#
NAME:    erik_vaults_2
TAGS:    vault_entry
MONS:    vault guard
ORIENT:  float
SHUFFLE: vxxx, bcc
MAP
vvvvvv.vvvvvv
vvvvvv.vvvvvv
vvvvbb.bbvvvv
vvvvb111bvvvv
.....1O1.....
vvvvb111bvvvv
vvvvbb.bbvvvv
vvvvvv.vvvvvv
vvvvvv.vvvvvv
ENDMAP

##############################################################################
# Vaults specific vaults
##############################################################################

##############################################################################
# Jelly drop Vaults version
#
NAME:   lemuel_jelly_drop_b
MONS:   jelly
TAGS:   uniq_jelly_drop no_wall_fixup
WEIGHT: 5
KFEAT:  a = teleport trap
DEPTH:  Vault
MAP
vvvvvvvvvvvv
vvv......vvv
vv.vvvvvv.vv
v1v.....vv.v
vvvvvvvv.v.v
vav111111vav
v.v.vvvvvvvv
v.vv.....v1v
vv.vvvvvv.vv
vvv......vvv
vvvvvvvvvvvv
ENDMAP

##############################################################################
# The Hell Knights are playing the Vault tonight. Rock! \m/ (Shiori)
#
NAME:   metal_show
ORIENT: float
DEPTH:  Vault:3-
TAGS:   no_secret_doors no_monster_gen no_item_gen no_wall_fixup
COLOUR: M = magenta
COLOUR: K = magenta
FTILE:  M = floor_rough_red, K = floor_rough_red, # = floor_rough_red
MARKER: # = lua:fog_machine{\
            pow_max = 15, delay_min = 100, delay_max = 150, \
            size = 1, size_buildup_amnt = 10, \
            size_buildup_time = 1000 }
KFEAT:  # = fountain_blood
# the talent:
: if crawl.one_chance_in(10) then
NSUBST: M = M / K.
: else
SUBST:  M = .
: end
KMONS:  K = patrolling hell knight
KMONS:  M = patrolling Margery
# the staff-- manager and bartender:
KMONS:  S = human; robe
# the bouncers:
KMONS:  B: iron troll / cyclops / stone giant / minotaur / vault guard
# the fans:
SUBST:  F = 011112223334455679.........
MONS:   human; leather armour|ring mail . knife|club|ankus|whip|nothing
MONS:   elf; robe|leather armour . w:24 quarterstaff|w:1 lajatang|w:75 nothing
# these are Sludge Elves.
MONS:   ghoul / necrophage / rotting hulk / vampire
MONS:   wizard / necromancer
MONS:   big kobold / kobold demonologist
MONS:   deep elf fighter / w:5 deep elf knight / w:3 deep elf mage /\
        w:2 deep elf priest
MONS:   Ijyb / Blork the Orc / Urug / Erolcha / Snorg / Terence / Jessica /\
        Sigmund / Psyche / Michael / Erica / Norbert / Agnes / Maud /\
        Louise / Rupert / Wayne / Duane / Norris / goblin
KITEM:  ! = any potion / potion of confusion, \
            any potion / potion of paralysis, any potion / potion of slowing
KITEM:  $ = q:132 gold / q:66 gold / q:33 gold
MAP
@...............
.vvvvvvvvvvvvv..
.v!+.MMMM.+S$v...
.v!v.KKKK.v$$vF...
.vvvv#MM#vvvvvFF..
.v..FFFFFFvFFvFF..
.v!mFvFFvFvFF+BF..
.v!mFFFFFFvFFvFF..
.v!mFFFFFFvFF+BF..
.v!mFvFFvFvFFvFF..
.v!mFFFFFFvFF+BF..
.vSmFFFFFFvFFvFF..
.vvvvvBBvvvFFvFF..
.vFFFFFFFFFFFvF..
.vvvvvvvvvvvvv..
@...............
ENDMAP


##############################################################################
# Vaults:8 last level of the vaults -- dungeon.cc will change all these 'x's
##############################################################################
#
# This map traditionally allows controlled teleports. Even with the now
# random placement of the rune, this seems fine: two of the spots are
# awkward to reach via teleport, and there is now always a monster on the
# rune.
#
NAME:    vaults_vault
PLACE:   Vault:8
ORIENT:  encompass
TAGS:    no_rotate no_dump
#
# the rune's spot, occassionally put nasty on the rune
NSUBST:  O = O / o
KMONS:   O = 8 / 9
KMONS:   o = 8 / 9
KFEAT:   O = O
: local brnd = crawl.random2(13)
: if brnd == 12 then
KFEAT:   o = any shop
: else
KITEM:   o = any good_item
: end

#
# NW
SHUFFLE: AC/BD, EG/FH, IKN/MJL, '"
SUBST:   A=., B=xx=, C=+, D=x, E=+, F=xx=, G=., H=x
SUBST:   I=., M=xx=, J=x, K=+, N=+, L=xx=
SUBST:   ':$, ":*, ^=^., a:x.
#
# SW
SHUFFLE: !_
SUBST:   ! = | * .:20
SUBST:   _ = 8 9 .:20
#
# NE
NSUBST:  U = 1:. / *:xxxx=
NSUBST:  V = 1:. / *:xxxx=
SUBST:   - = 8 9 .:20
#
# SE (double use of Y=Y. and Z=Z. for decreasing variance)
SUBST:   ? = | * .:40 ^:3
SUBST:   Y = Y ., Z = Z .
SUBST:   Y = Y ., Z = Z .
SUBST:   Y = 9:30 8:10 .:40
SUBST:   Z = 9:10 8:30 .:40
#
# general loot
SUBST:   | = | *:2
SUBST:   * = * |:2
#
MONS: vault guard
#
{{
  local detail = "is etched with murals depicting, in great and gruesome "..
"detail, exactly what will be done to anyone caught stealing from the "..
"Vaults.  It makes you feel queasy."

  dgn.set_feature_desc_short("metal wall", "heavily etched metal wall")
  dgn.set_feature_desc_long("metal wall", "This metal wall " .. detail)

  dgn.set_feature_desc_short("wall of green crystal",
                             "heavily etched wall of green crystal")
  dgn.set_feature_desc_long("wall of green crystal",
                            "This wall of green crystal " .. detail)
}}
#
validate {{ return glyphs_connected('O', '{') }}
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx..............................................................xxxx
xxxx..............................................................xxxx
xxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxx
xxxx..x.........................x....xxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxx
xxxx..x.xxxxxxxxxxx..xxxxxxxxJxIx....xxxxx.................xxxxx..xxxx
xxxx..x.x'.'.'.'.'x..x........x.x....xxx...........-.........xxx..xxxx
xxxx..x.x.'.'.'.'.x..x..^^^^..x.x....xxx...-.................xxx..xxxx
xxxx..x.x'.'.'.'.'x..x..^||^..x.x....xx.........-.......-.....xx..xxxx
xxxx..x.x.'.'.'.'.x..x..^O|^..x.x....xx.......................xx..xxxx
xxxx..x.x'.'.'.'.'x..x..^||^..x.x....xx.-....xxxxxxxxxxx....-.xx..xxxx
xxxx..x.x.'.'.'.'.x..x..^^^^..x.x....xx......x.........x......xx..xxxx
xxxx..x.x'.'.'.'.'L..K........x.x....xx....xxU.........Uxx....xx..xxxx
xxxx..x.N.'.'.'.'.xxxxxxxxxxxxx.x....xx..-.x....xxxxx....x....xx..xxxx
xxxx..xMxxxxxxxxxxx99988......A.x....xx....x.-.Vx$$$xx...x.-..xx..xxxx
xxxx..x...........G99xxxxxxxxDx.x....xx....x..xx$***$xx..x....xx..xxxx
xxxx..x.xxxxxxxxxFx99x........x.x....xx.-..x..x$$*O*$$x-.x....xx..xxxx
xxxx..x.x?????????x88x."""""".x.x....xx....x..xx$***$xx..x....xx..xxxx
xxxx..x.x?????????x..x."""""".x.x....xx....x...Vx$$$xV...x..-.xx..xxxx
xxxx..x.x?????????x..x."""""".x.x....xx..-.xxx-.xxxxx..Uxx....xx..xxxx
xxxx..x.x?????????x..x."""""".x.x....xx......x.........x......xx..xxxx
xxxx..x.x?????????x..x."""""".x.x....xx......xxxxxxxxxxx.-....xx..xxxx
xxxx..x.x?????????x..x."""""".x.x....xxx...-.................xxx..xxxx
xxxx..x.x?????????x..C........x.x....xxx........-....-.......xxx..xxxx
xxxx..x.xxxxxxxxxEx..xxxxxxxxxx.a..11....xx................xxxxx..xxxx
xxxx..x...........H..B............1111...xxxxxxxxxxxxxxxxxxxxxxx..xxxx
xxxx..xxxxxxxxxxxxxxxxxxxxxxxxa..1....1..xxxxxxxxxxxxxxxxxxxxxxx..xxxx
xxxx............................1..(}..1..........................xxxx
xxxx...........................11.[..{.11.........................xxxx
xxxx............................1..])..1..........................xxxx
xxxx.............................1....1...........................xxxx
xxxx..xxxxxxxxxxxxxxxxxxxxxxx.a...1111.axaxxaaxaxxxxxxxxxxxxxxxx..xxxx
xxxx..xx!x.x.x!x.x.x.x.x.x.x.x.a...11........................??x..xxxx
xxxx..x.x.x.x.x.x.x.x!x.x.x_x.x.a....a................Y..Z...??x..xxxx
xxxx..xx.x!x.x.x.x.x.x.x.x!x.x.x.....x..Y..Y..Y..Y..Y..Z..Y..Y.x..xxxx
xxxx..x.x.x.x.x_x.x.x_x.x.x.x.x.x....a...Y..Y..Y..Z..Y..Y..Z...x..xxxx
xxxx..xx.x.x.x.x.x.x.x.x.x.x.x_xx....x.Y..Y..Y..Y..Z..Y..Z..Y..x..xxxx
xxxx..x.x.x!x.x.x.x.x.x.x!x.x.x.x....x..Y..Y..Z..Z..Y..Y..Y..Z.x..xxxx
xxxx..xx.x_x.x.x!x.x.x.x.x.x.x.xx....a...Y..Z..Y..Y..Z..Y..Y...x..xxxx
xxxx..x.x.x.x.x_x.x.x.x.x.x.x.x.x....a.Y..Y..Z..Z..Y..Y..Y..Z..x..xxxx
xxxx..xx.x.x.x.x.x.x.x.x.x.x.x!xx....x..Z..Y..Y..Y..Z..Y..Y..Y.x..xxxx
xxxx..x_x.x!x.x.x.x.x.x!x.x_x.x.x....x...Y..Y..Z..Y..Z..Z..Y...x..xxxx
xxxx..xx.x.x.x.x.x.x.x.x.x.x.x.xx....x.Z..Z..Y..Y..Z..Y..Z..Z..x..xxxx
xxxx..x.x.x_x.x.x.x.x.x.x.x.x_x.x....x..Y..Z..Y..Z..Z..Y..Z..Z.x..xxxx
xxxx..xx.x.x.x.x.x.x_x.x.x.x.x.xx....x...Z..Z..Z..Y..Z..Z..Y...x..xxxx
xxxx..x!x.x.x.x!x.x.x.x.x.x.x.x.x....x.Y..Z..Y..Z..Z..Z..Z..Z..x..xxxx
xxxx..xx.x.x.x.x.x.x!x.x.x.x.x.xx....x..Z..Y..Z..Y.............x..xxxx
xxxx..x.x.x.x.x.x.x.x.x.x_x.x.x.x....x...Y..Z..Z..Z...ZZZZZZZZ.x..xxxx
xxxx..xx.x_x.x.x.x.x.x.x.x.x.x_xx....x....Z..Y..Z..Y..Z........x..xxxx
xxxx..x.x!x.x.x.x.x.x.x!x.x.x.x.x....x..Z..Z..Y..Z....Z..??????x..xxxx
xxxx..xx.x.x.x.x.x.x_x.x.x.x.x.xx....x...Z..Y..Z..Z...Z..??????x..xxxx
xxxx..x.x.x.x.x.x_x.x.x.x.x.x.x.x....x??..Y..Z..Z..Z..Z..??????x..xxxx
xxxx..xO.x.x_x.x.x!x.x.x.x.x!x_xx....x??.................?????Ox..xxxx
xxxx..xxxxxxxxxxxxxxxxxxxxxxxxxxx....xxxxxxxxxxxxxxxxxxxxxxxxxxx..xxxx
xxxx..............................................................xxxx
xxxx..............................................................xxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP


##############################################################################
# The Hall of Blades
##############################################################################

NAME:    hall_of_blades
PLACE:   Blade
ORIENT:  north
TAGS:    no_rotate no_dump
MONS:    dancing weapon
SHUFFLE: cv
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccxxx
xxxccc....cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.....cccxxx
xxxcc......cc...cc...cc...cc...cc...cc...cc...cc...cc...cc.......ccxxx
xxxc..............................................................cxxx
xxxc..........c..............c..............c..............c......cxxx
xxxc.........ccc............ccc............ccc............ccc.....cxxx
xxxc........ccccc..........ccccc..........ccccc..........ccccc....cxxx
xxxc.........ccc............ccc............ccc...........ccccc....cxxx
xxxc..........c..............c..............c.............ccc.....cxxx
xxxc......................................................ccc.....cxxx
xxxc.......................................................c......cxxx
xxxc..............................................................cxxx
xxxc..............................................................cxxx
xxxc..............................................................cxxx
xxxc..............................................................cxxx
xxxc..............................................................cxxx
xxxc..............................................................cxxx
xxxc.......................................................c......cxxx
xxxc......................................................ccc.....cxxx
xxxc..........c..............c..............c.............ccc.....cxxx
xxxc.........ccc............ccc............ccc...........ccccc....cxxx
xxxc........ccccc..........ccccc..........ccccc..........ccccc....cxxx
xxxc.........ccc............ccc............ccc............ccc.....cxxx
xxxc..........c..............c..............c..............c......cxxx
xxxc..............................................................cxxx
xxxc.......cc...cc...cc...cc...cc...cc...cc...cc...cc...cc.......ccxxx
xxxcc.....cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.cccc.....cccxxx
xxxccc...ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccxxx
xxxcccc.............................cccccccccccccccccccccccccccccccxxx
xxxcccccccccccccccccccccccccccccc.@.cccccccccccccccccccccccccccccccxxx
ENDMAP