##############################################################################
# zot.des: The ultimate goal. The Orb must be placed (Z). These maps can and
#          should be serious challenges! Players dying on Zot:5 are okay :)
#
# Content: Zot entry vaults (these are on D:27 and contain the portal)
#          Zot vaults, mini and not so mini
#          Zot hall (on Zot:5), with orb chamber subvaults
#          Vaults that define the floor/wall colours for Zot:1-5
#
##############################################################################

{{
  -- Orb of Zot placement, similar to how Vaults places its rune
  -- Turn one 'Z' into the orb, the rest into orb mimics or nothing.
  function zot5_orb(e)
    e.nsubst("Z = 1:Z / *:O")
    e.subst("O = O:1 .:9")
    e.kitem("O = Orb of Zot mimic")
    e.kitem("Z = Orb of Zot")
    e.kmask("OZ = no_item_gen")
  end
}}

##############################################################################
##############################################################################
#
# Zot entries (D side)
#
##############################################################################
##############################################################################

# Old-style three stairs
#
NAME:   zot_entry_traditional
TAGS:   zot_entry
KFEAT:  O = enter_zot
{{
  hook("post_place", function()
    dgn.place_maps { tag = "zot_entry_secondary", count = 2 }
    if crawl.one_chance_in(100) then
      dgn.place_maps { tag = "zot_entry_secondary_mimic", count = 1 }
    end
  end)
}}
MAP
O
ENDMAP

NAME:   zot_entry_traditional_secondary
TAGS:   zot_entry_secondary allow_dup
KFEAT:  O = enter_zot
MAP
O
ENDMAP

NAME:   zot_entry_traditional_secondary_mimic
TAGS:   zot_entry_secondary_mimic
KFEAT:  O = enter_zot mimic
MAP
O
ENDMAP

###########################
# Something to give the builder a chance if massive vaults keep failing.
#
NAME:   zot_entry_small
TAGS:   zot_entry
KFEAT:  O = enter_zot
COLOUR: c = lightmagenta
COLOUR: .+ = magenta
TILE:   c = wall_zot_magenta
FTILE:  .O+ = floor_hall
MAP
xxxxxxxxx
xxxcccxxx
xxcc.ccxx
xcc...ccx
xc..O..+@
xcc...ccx
xxcc.ccxx
xxxcccxxx
xxxxxxxxx
ENDMAP

NAME:   evilmike_zot_entry_round
TAGS:   no_monster_gen zot_entry
SUBST:  = = nnn=
SUBST:  c: c:70 v:20 b:10
SUBST:  v: vcxlmb, n: nnnnvbcx
FTILE:  })]O-4G: floor_marble
SUBST:  - = ^ .:90
KFEAT:  O = enter_zot
SUBST:  4 = 122223
MONS:   patrolling nonbase draconian
MONS:   dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon
MONS:   patrolling base draconian
MAP
xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxcccccccxxxxxxx
xxxcccccc..3..ccccccxx
xxcc......vvv......ccx
xxc.v......3......v.cx
xxc.2v...nn=nn...v..cx
xxc...nnnn---nnnn...cx
xxc...n----G----n..3cx
xcc...n-G--4--G-n...cc
xc.1.nn----v----nn...c
xc.v.n----v-v----n.v.+
xc.v.+-G-v-O-v-G-=.v.+
xc.v.n----v-v----n.v.+
xc.1.nn----v----nn...c
xcc...n-G--4--G-n...cc
xxc...n----G----n..3cx
xxc...nnnn---nnnn...cx
xxc.2v...nn=nn...v..cx
xxc.v.....3.......v.cx
xxcc......vvv......ccx
xxxcccccc.3...ccccccxx
xxxxxxxxcccccccxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# Sorry, no wand of wishing in this one
NAME:   evilmike_zot_entry_castle
TAGS:   no_monster_gen zot_entry
NSUBST: O = 1:O / *:n
SUBST:  ^ = ^.
SUBST:  s = ccc=
MARKER: = = lua:restrict_door()
KFEAT:  ^ = alarm trap / blade trap / bolt trap
KFEAT:  O = enter_zot
KFEAT:  n = stone_arch
FTILE:  "OnDx = floor_marble
COLOUR: " = magenta
TILE:   x = wall_zot_magenta
COLOUR: x = magenta
FTILE:  .+cm^1234$ = floor_hall
SUBST:  D = +, "' = .
MONS:   patrolling nonbase draconian
MONS:   dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon
MONS:   w:20 patrolling base draconian / nothing
MONS:   base draconian ; glaive | halberd
MAP
'''''''''''''''''''''''''''''''''''''''''
'wwwwwwwww'''''''''''''''''''''wwwwwwwww'
'wcccccccwwwwwwwwwwwwwwwwwwwwwwwcccccccw'
'wc1....cccccmccccccmccccccmccccc....1cw'
'wc.""".+....2.............2....+.""".cw'
'wc."O".cccccccccccc+cccccccccccc."O".cw'
'wc.""".s..3.....=4w.w4=......3.s.""".cw'
'wc.....c.3...cccccc.cccccc.""".c.....cw'
'wccccccc3....+...3"""3...+."x"3ccc+cccw'
'wwwwwwccccccccc.""""""".ccc""".c$$$.ccw'
''''''wm.......c.""""""".c4=..3.s$$$2mww'
''''''wc.x3x3x2c"""xxx"""cwcccccccccccw''
''''''WD"""""""D"""xxx"""+.+^^^^^^^^^+w''
''''''wc.x3x3x2c"""xxx"""cwcccccccccccw''
''''''wm.......c.""""""".c4=..3.s$$$2mww'
'wwwwwwccccccccc.""""""".ccc""".c$$$.ccw'
'wccccccc3....+...3"""3...+."x"3ccc+cccw'
'wc.....c.3...cccccc.cccccc.""".c.....cw'
'wc.""".s..3.....=4w.w4=......3.s.""".cw'
'wc."O".cccccccccccc+cccccccccccc."O".cw'
'wc.""".+....2.............2....+.""".cw'
'wc1....cccccmccccccmccccccmccccc....1cw'
'wcccccccwwwwwwwwwwwwwwwwwwwwwwwcccccccw'
'wwwwwwwww'''''''''''''''''''''wwwwwwwww'
'''''''''''''''''''''''''''''''''''''''''
ENDMAP

NAME:   evilmike_zot_entry_gauntlet
TAGS:   no_monster_gen zot_entry
SUBST:  b: v.., v: c.
TILE:   X = wall_zot_magenta
FTILE:  -OD = floor_hall
COLOUR: X-D = magenta
KPROP:  O-X = no_tele_into
SUBST:  X = c
SUBST:  - = ., D = +
KFEAT:  O = enter_zot
MARKER: + = lua:restrict_door()
# easy: 1, 2
: if crawl.coinflip() then
MONS:   pale draconian, steam dragon
: else
MONS:   grey draconian, wyvern
: end
# medium: 3, 4
: if crawl.coinflip() then
MONS:   mottled draconian, mottled dragon
: else
MONS:   green draconian, swamp dragon
: end
# hard: 5, 6
: if crawl.coinflip() then
MONS:   red draconian, dragon
: else
MONS:   white draconian, ice dragon
: end
# harder: 7, 8
: if crawl.coinflip() then
MONS:   black draconian
KMONS:  8 = storm dragon
: else
MONS:   purple draconian
KMONS:  8 = quicksilver dragon
: end
# boss: 9, 0
KMONS:  9 = nonbase draconian
KMONS:  0 = golden dragon
MAP
ccc+ccccccccccccccccccc
cvb.bvcccvb.bvccccccccc
cb...bcccb.9.bccccccccc
c.1.1.ccc.0...+.ccccccc
cb222bcccb.9.bc..cccccc
cvb.bvcccvb.bvcc..ccccc
ccc+ccccccc+ccccc..cccc
ccc.ccccccc.cccccc..ccc
ccc+ccccccXDXcccccc+ccc
cvb.bvcccXX-XXcccvb.bvc
cb...bccXX---XXccb.8.bc
c.3.3.ccX--O--Xcc.7.7.c
cb444bccXX---XXccb...bc
cvb.bvcccXX-XXcccvb.bvc
ccc+ccccccXXXcccccc+ccc
ccc..ccccccccccccc..ccc
cccc..ccccccccccc..cccc
ccccc..ccvb.bvcc..ccccc
cccccc..cb.56bc..cccccc
ccccccc.+.....+.ccccccc
cccccccccb.56bccccccccc
cccccccccvb.bvccccccccc
ccccccccccccccccccccccc
ENDMAP

NAME:   evilmike_zot_entry_argh
TAGS:   no_monster_gen patrolling zot_entry
KFEAT:  O = enter_zot
# Grey dracs can escape from the islands if they have water. This is intentional.
SUBST:  G: GXm., m: mmlw
KFEAT:  m = iron_grate
SUBST:  x: xcvX
NSUBST: 2 = 2:2 / *:-
TILE:   X = wall_zot_magenta
COLOUR: X = magenta
SUBST:  X = c
COLOUR: . = white
FTILE:  -23O = floor_hall
SUBST:  - = .
MONS:   draconian zealot / draconian caller
MONS:   dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon
MONS:   base draconian
KMONS:  O = nonbase draconian
MAP
xxxxxxxxxxxx@xxxxxxxxxxxx
xxx........---........xxx
xxmmm.....G.-.G.....mmmxx
x.m1m.......-.......m1m.x
x.mmm...G...-...G...mmm.x
x..........---..........x
x.....G....---....G.....x
x..........---..........x
x...G.....-----.....G...x
x........XX---XX........x
x.G.....-X3---3X-.....G.x
x-...------2-2------...-x
@-----------O-----------@
x-...------2-2------...-x
x.G.....-X3---3X-.....G.x
x........XX---XX........x
x...G.....-----.....G...x
x..........---..........x
x.....G....---....G.....x
x..........---..........x
x.mmm...G...-...G...mmm.x
x.m1m.......-.......m1m.x
xxmmm.....G.-.G.....mmmxx
xxx........---........xxx
xxxxxxxxxxxx@xxxxxxxxxxxx
ENDMAP

NAME:   evilmike_zot_entry_hall
TAGS:   no_monster_gen patrolling zot_entry
KFEAT:  O = enter_zot
TILE:   X = wall_zot_magenta
COLOUR: X+- = magenta
SUBST:  X = c
FTILE:  -O+ = floor_hall
KPROP:  O- = no_tele_into
SUBST:  - = .
SUBST:  v: ....cnXblw, z:..cnXblw
NSUBST: d = 5:3 / 2:2 / *:.
SUBST:  D = +
MONS:   nonbase draconian
MONS:   dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon
MONS:   base draconian
MAP
                   cccccccccccc
                   cc..1....ccc
cccccccccccccccccccc.........cc
ccccccdccdccdccdccc..2XXXXX...c
ccc..............dc..XX---XX..c
D...vv.zz.vv.zz..cc..X-----X..c
D...vv.zz.vv.zz..+...X--O--+..c
D...vv.zz.vv.zz..cc..X-----X..c
ccc..............dc..XX---XX..c
ccccccdccdccdccdccc..2XXXXX...c
cccccccccccccccccccc.........cc
                  ccc..1....ccc
                  ccccccccccccc
ENDMAP

NAME:   evilmike_zot_entry_basic
TAGS:   no_monster_gen zot_entry
KFEAT:  O = enter_zot
TILE:   c = wall_zot_magenta
COLOUR: c+- = magenta
FTILE:  O-+c = floor_hall
KPROP:  O- = no_tele_into
SUBST:  - = .
NSUBST: d = 5:3 / 2:2 / 1:1
MONS:   patrolling nonbase draconian
MONS:   dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon
MONS:   patrolling base draconian
MAP
....d....
.dcc+ccd.
.cc---cc.
.c-----c.
dc--O--cd
.c-----c.
.cc---cc.
.dcccccd.
....d....
ENDMAP

NAME:   evilmike_zot_entry_diamond
TAGS:   no_monster_gen zot_entry
KFEAT:  O = enter_zot
KFEAT:  A = stone_arch
TILE:   c = wall_zot_magenta
COLOUR: c+- = magenta
FTILE:  -O+Ac = floor_hall
KPROP:  -OcA = no_tele_into
SUBST:  - = .
NSUBST: 2 = 2:2 / *:.
NSUBST: 1 = 2:1 / *:2
MONS:   patrolling nonbase draconian
MONS:   dragon / ice dragon / storm dragon / shadow dragon / bone dragon / golden dragon
MONS:   patrolling base draconian
MAP
      ..1..
     .2c+c2.
    ..cc-cc..
   3.cc---cc.3
  ..cc--O--cc..
 ..cccc---cccc..
.2cc-ccc-ccc-cc2.
.cc---ccccc---cc.
1+--A--ccc--A--+1
.cc---ccccc---cc.
.2cc-ccc-ccc-cc2.
 ..cccc---cccc..
  ..cc--A--cc..
   3.cc---cc.3
    ..cc-cc..
     .2c+c2.
      ..1..
ENDMAP


##############################################################################
##############################################################################
#
# Zot petite vaults
#
##############################################################################
##############################################################################

# There's few vaults on Zot:5, tone down their chances.
NAME: dummy_balancer_zot
DEPTH: Zot:5
TAGS: dummy
ORIENT: float
WEIGHT: 60
MAP
x
ENDMAP

NAME:   lemuel_baited_zot_trap
DEPTH:  Zot:*
WEIGHT: 20
TAGS:   allow_dup
KFEAT:  * = Zot trap
KITEM:  * = any good_item
MAP
*
ENDMAP

NAME:   lemuel_zot_downstairs
DEPTH:  Zot:1-4
ORIENT: float
TAGS:   allow_dup
SUBST:  . = .^
KFEAT:  ^ = Zot trap
SUBST:  > = }])
MAP
xxxxxxx
@....>x
xxxxxxx
ENDMAP

NAME:   lemuel_zot_upstairs
DEPTH:  Zot:2-5
ORIENT: float
TAGS:   allow_dup
SUBST:  . = .^
KFEAT:  ^ = zot trap
SUBST:  < = ([{
MAP
xxxxxxx
@....<x
xxxxxxx
ENDMAP

###########################
# Halls of Wrath
#
NAME:   lemuel_halls_of_wrath
DEPTH:  Zot:1-4
ORIENT: float
TAGS:   no_rotate
NSUBST: 1 = 6:2 / *=1
SUBST:  1 = 1 .:5
SUBST:  1 = 1 3
MONS:   troll /deep troll / iron troll / ogre / two-headed ogre / w:2 iron devil
MONS:   moth of wrath
MONS:   hill giant / stone giant / fire giant / frost giant / ettin /\
        w:5 efreet / w:3 titan
NSUBST: C = 2:= / *=c
NSUBST: D = 2:= / *=c
MAP
cccccccccccccccccccccccc
n111111111111111111.c..c
n111111111111111111.c.)c
cCCCCCCCCCCCCCCcc++cc..c
n....F....F....F....c..c
+...................+..c
+...................+.}c
+...................+..c
n....F....F....F....c..c
cDDDDDDDDDDDDDDcc++cc..c
n111111111111111111.c.]c
n111111111111111111.c..c
cccccccccccccccccccccccc
ENDMAP

###########################
# Lich library
#
NAME:   lemuel_lich_library
DEPTH:  Zot:1-4
TAGS:   no_monster_gen
MONS:   flying skull, lich, ancient lich, necromancer, vampire mage
ITEM:   any book mimic:10 w:20 / any scroll mimic:10
SUBST:  w:w?
SUBST:  ?=. 1:1
SUBST:  x:xc
SUBST:  +=+=
SUBST:  4 = 4 5:2 .:4
MAP
wwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwww
wwxxxxxxxxx+xxxxxxxxxww
wwx....x.......x....xww
wwx....+...F...+....xww
wwx.4..x.......x..4.xww
wwx4.4.xxxx+xxxx.4.4xww
wwx.4.4xxx...xxx4.4.xww
wwx4.4.xxx.2.xxx.4.4xww
wwxxxxxxxxx+xxxxxxx+xww
wwxxxxxxxxx.xxxxxx$$xww
wwxdddxxxxx.x...xx$$xww
wwx.2.xxxxx.+.F.xxxxxww
wwx...xxxxx.x...xxxxxww
wwx...xxxxx.xxxxxxxxxww
wwxx+xxxxxx.xxxdddddxww
wwxx.xxxxxx.xxxd232dxww
wwxx.xxxxxx.xxxd...dxww
wwxx......+...+....dxww
wwxxxxxxxxxmxxxd...dxww
wwxxxxxxxxxFxxxdddddxww
wwxxxxxxxxxxxxxxxxxxxww
wwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwww
ENDMAP

###########################
# Lake of fire
#
NAME:  lemuel_lake_of_fire
DEPTH: Zot:*
SUBST: * =*l
KMONS: * = orb of fire
KFEAT: * = l
SUBST: .=.l
MAP
 ..ll..
..llll..
.llllll.
.ll**ll.
.ll**ll.
.llllll.
..llll..
 ..ll..
ENDMAP

###########################
# Globe of electric golems
#
NAME:  lemuel_golem_globe
DEPTH: Zot:*
TAGS:  no_rotate
KFEAT: T = teleport trap
KFEAT: m = iron_grate
SUBST: 1 = 1.
MONS:  electric golem
MAP
  mmmm
 mm..mm
mm.11.mm
m.1TT1.m
mm.11.mm
 mm..mm
  mmmm
ENDMAP

###################################################################
# Draconian Sentry Boxes
# There is an 70% chance all three downstairs will be here.
#
NAME:   lemuel_draconian_sentries
DEPTH:  Zot:1-4
ORIENT: float
TAGS:   no_rotate uniq_draconian_sentries
MONS:   red draconian scorcher / green draconian zealot / yellow draconian caller
SUBST:  } = }:80 >, ) = ):80 > , ] = ]:80 >
SUBST:  w:w., w=Ww
KFEAT:  m = iron_grate
MAP
............................
..mmm..................mmm..
..m1m..................m1m..
..mmm...mmmwwwwwwmmm...mmm..
........m1mwwwwwwm1m........
........mmmwwwwwwmmm........
mmm.....www...}..www.....mmm
m1m.....www..)...www.....m1m
mmm.....www...]..www.....mmm
........mmmwwwwwwmmm........
........m1mwwwwwwm1m........
..mmm...mmmwwwwwwmmm...mmm..
..m1m..................m1m..
..mmm..................mmm..
............................
ENDMAP

NAME:   lemuel_draconian_sentries_small
DEPTH:  Zot:1-4
ORIENT: float
TAGS:   no_rotate uniq_draconian_sentries
MONS:   red draconian scorcher / green draconian zealot / yellow draconian caller
SUBST:  } = }:80 >, ) = ):80 > , ] = ]:80 >
SUBST:  w:w., w=Ww
KFEAT:  m = iron_grate
MAP
................
................
..mmmwwwwwwmmm..
..m1mwwwwwwm1m..
..mmmwwwwwwmmm..
..www...}..www..
..www..)...www..
..www...]..www..
..mmmwwwwwwmmm..
..m1mwwwwwwm1m..
..mmmwwwwwwmmm..
................
................
ENDMAP

###########################
# Acid trip
# 70% chance of having all stairs.
NAME:   lemuel_acid_trip
DEPTH:  Zot:1-4
ORIENT: float
MONS:   oklob plant, acid blob, jelly, yellow draconian
MONS:   any nonbase yellow draconian
SUBST:  1 = 1:2 .
SUBST:  . = .:20 3:3 2:1
SUBST:  } = }:80 >, ) = ):80 >, ] = ]:80 >
MAP
       xx++xx
     xxx....xxx
   xxx..4444..xxx
  xx....4554....xx
 xx.....cccc.....xx
 x....ccc..ccc....x
xx...cc......cc...xx
x...cc..1111..cc...x
x...c...1}11...c...x
x.5.c...11]1...c.5.x
x...c...1)11...c...x
x...cc..1111..cc...x
xx...cc......cc...xx
 x....cc....cc....x
 xx....c....c....xx
  xx............xx
   xxx..4444..xxx
     xxx4554xxx
       xxxxxx
ENDMAP

###########################
# Firehouse
#
NAME:   lemuel_firehouse
DEPTH:  Zot:1-4
ORIENT: float
MONS:   orb of fire
MONS:   fire elemental
MONS:   red draconian / weight:2 mottled draconian
MONS:   any nonbase red draconian
MONS:   efreet
SUBST:  1=122, 3=322
SUBST:  4 = 2:20 4:5 3:15 .:20
MAP
          lllll
       lllllllllll
     lllll.....lllll
    llll....x....llll
   llll....xxx....llll
   llll...xx}xx...llll
  llll...xx]2)xx...llll
  llll..xx2...2xx..llll
 llll..xx...5...xx..llll
 llll..x...2.2...x..llll
llll...x.2xx+xx2.x...llll
llll...x.xx444xx.x...llll
llll...x.x44444x.x...llll
 llll..x.x44F44x.x..llll
 llll..x.x44444x.x..llll
  llll.x.xx444xx.x.llll
  llll.x.1x...x1.x.llll
   llllxxxx+++xxxxllll
    llll333...333llll
     lllll.....lllll
       lllll.lllll
          ll@ll
ENDMAP

######################################
# Circus (by mu)
# full of klowns, caged animals outside
NAME:   circus_mu
DEPTH:  Zot:1-4
ORIENT: float
TAGS:   no_rotate no_hmirror no_monster_gen
MONS:   killer klown
MONS:   elephant / w:5 dire elephant / w:2 hellephant
MONS:   human ; club
SUBST:  1 = 1 2:5 3:20
SUBST:  2 = 2 2 .
SUBST:  % = !:20 ?:5 $ .:20
KITEM:  ! = banana
KITEM:  ? = wand of random effects
KITEM:  $ = potion of water
COLOUR: " : yellow
MAP
     ................
    .....xxxxx.............
   .....xx...xx.............
  .....xx..%..xx.....mmmmm...
 .....xx..%.%..xx....m222m....
.....xx.%..1..%.xx...m+mmm.....
....xx...%.%.%...xx............
...xx..%1"""""1%..xx....mmmmm..
..xx..%.""..."".%..xx...m222m..
.xx..%%.".....".%%..xx..m+mmm..
.x.%1..1"..1.."1..1%.x.........
.xx..%%.".....".%%..xx..3......
..xx..%.""..."".%..xx..........
...xx..%1"""""1%..xx...mmmmm...
....xx...%.%.%...xx....m222m...
.....xx.%..1..%.xx.....m+mmm..
 .....xx...%...xx............
  .....xx.%.%.xx............
   .....xx+++xx.....
    .....xx+xx.....
     .............
ENDMAP

######################################
# This is weird, but in Zot weirdness fits. (nrook)
NAME: nrook_zot_tub
DEPTH: Zot
KFEAT: X = W
MARKER: X = lua:fog_machine { cloud_type="steam", \
            pow_min = 2, pow_max = 10, delay = 25, \
            size = 2, walk_dist = 3, spread_rate= 10 }
KMONS: M = patrolling pale draconian att:neutral / \
      patrolling pale draconian scorcher att:neutral w:2 / \
      patrolling pale draconian caller att:neutral w:2 / \
      patrolling pale draconian shifter att:neutral w:2 / \
      patrolling pale draconian annihilator att:neutral w:2 / \
      patrolling pale draconian knight att:neutral w:2 / \
      patrolling pale draconian monk att:neutral w:2
KFEAT: M = W
KMONS: F = orb of fire att:neutral
KFEAT: F = W
MAP
     @
xxxxx+xxxxx
xWWWWWWWWWx
xWMWWMWWMWx
xWWXWXWXWWx
xWWWmmmWWWx
xWMXmFmXMWx
xWWWmmmWWWx
xWWXWXWXWWx
xWMWWMWWMWx
xWWWWWWWWWx
xxxxxxxxxxx
ENDMAP

###################################################
# Minmay's Elemental castle
# 50% electricity, 25% fire, 25% ice
NAME:    minmay_elemental_castle
ORIENT:  southwest
DEPTH:   Zot:1-4
TAGS:    no_rotate
: if crawl.coinflip() then
MONS:    titan, storm dragon, electric golem
SUBST:   F = 3
ITEM:    disc of storms, air elemental fan, staff of air, book of the sky
: elseif crawl.coinflip() then
MONS:    frost giant, ice dragon
MARKER:  F = lua:fog_machine { cloud_type = "freezing vapour", \
              pow_min = 5, pow_max = 15, delay = 10, size = 2, \
              walk_dist = 0, spread_rate= 0 }
ITEM:    wand of cold, staff of cold, book of frost, book of ice
SUBST:   w = l
SUBST:   W = l..
: else
MONS:    fire giant, dragon
MARKER:  F = lua:fog_machine { cloud_type = "flame", pow_min = 5, \
              pow_max = 15, delay = 10, size = 2, walk_dist = 0, \
              spread_rate= 0 }
ITEM:    wand of fire, staff of fire, book of flames, book of fire
: end
SUBST:   1 = 112.
SUBST:   2 = 221.
SHUFFLE: defg
MAP
xx...................@@...................
xx.WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.
xx.WwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwW.
xx.WwcccccccwwwwwwwwwwwwwwwwwwwwcccccccwW.
xx.Wwcd*%.1cwwwwwwwwwwwwwwwwwwwwc1.%*gcwW.
xx.Wwc*%...cwwwwwwwwwwwwwwwwwwwwc...%*cwW.
xx.Wwc%....ccccccccc++++ccccccccc....%cwW.
xx.Wwc................................cwW.
xx.Wwc1........2............2........1cwW.
xx.Wwcccc..........................ccccwW.
xx.Wwwwwc...cccccccccccccccccccc...cwwwwW.
xx.Wwwwwc...cccccccccccccccccccc...cwwwwW.
xx.Wwwwwc...cccccccccccccccccccc...cwwwwW.
xx.Wwwwwc.2.ccc*|*cccccccc*|*ccc.2.cwwwwW.
xx.Wwwwwc...ccc...cccccccc...ccc...cwwwwW.
xx.Wwwwwc...ccc...cccccccc...ccc...cwwwwW.
xx.Wwwwwc...ccc.F.cccccccc.F.ccc...cwwwwW.
xx.Wwwwwc...ccc...cccccccc...ccc...cwwwwW.
xx.Wwwwwc...ccc...cccccccc...ccc...cwwwwW.
xx.Wwwwwc..........................cwwwwW.
xx.Wwwwwc..........................cwwwwW.
xx.Wwwwwc...ccc..............ccc...cwwwwW.
xx.Wwwwwc...ccc....2....2....ccc...cwwwwW.
xx.Wwwwwc...ccc..............ccc...cwwwwW.
xx.Wwwwwc...ccc..............ccc...cwwwwW.
xx.Wwwwwc...ccc..............ccc...cwwwwW.
xx.Wwwwwc.2.ccc1............1ccc.2.cwwwwW.
xx.Wwwwwc...ccccccccc..ccccccccc...cwwwwW.
xx.Wwwwwc...ccccccccc..ccccccccc...cwwwwW.
xx.Wwwwwc...ccccccccc..ccccccccc...cwwwwW.
xx.Wwcccc..........................ccccwW.
xx.Wwc1........2............2........1cwW.
xx.Wwc................................cwW.
xx.Wwc%....cccccccccccccccccccccc....%cwW.
xx.Wwc*%...cwwwwwwwwwwwwwwwwwwwwc...%*cwW.
xx.Wwce*%.1cwwwwwwwwwwwwwwwwwwwwc1.%*fcwW.
xx.WwcccccccwwwwwwwwwwwwwwwwwwwwcccccccwW.
xx.WwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwW.
xx.WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW.
xx........................................
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

###################################################
# Based on zotdef III. Idea from kilobyte.
NAME:   evilmike_crystal_ball_defense
TAGS:   no_rotate no_monster_gen
DEPTH:  Zot:1-4
ORIENT: float
MONS:   w:4 oklob sapling / w:4 oklob plant / w:6 burning bush / \
        w:6 lightning spire / nothing
MONS:   ice statue / silver statue / orange crystal statue / \
        curse skull / w:5 nothing
SUBST:  3 = 11.
# Not quite the orb, but but close enough
ITEM:   crystal ball of energy
SUBST:  . = .:9 ~:1
KFEAT:  ~ = dart trap / arrow trap / bolt trap / blade trap / \
            needle trap / spear trap / net trap
SUBST:  } = }:80 >, ) = ):80 >, ] = ]:80 >
MAP
        xxxxxxxxx
        xxx.2.xxx
        xxx...xxx
        xx..1..xx
xxxxxxxxx1.....1xxxxxxxxx
xxxxxxx.....).....xxxxxxx
xxx.....1..}d]..1.....xxx
xx...xx.....>.....xx...xx
@x..xxxxx1.....1xxxxx..x@
.x.3xxxxxx..1..xxxxxx3.x.
.x..xxxxxxx...xxxxxxx..x.
.x..xxxxxxx...xxxxxxx..x.
.x..xxxxxxxx.xxxxxxxx..x.
.x..xxxxxxxx2xxxxxxxx..x.
.x..xxxxxxxx.xxxxxxxx..x.
.xx3.................3xx.
...x.................x...
...x......3.3.3......x...
xxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

################################################################################
# Xom's getting in the "make people in Zot scream" bracket, with tricks
# resembling his overflow altars and effects. Extremely nasty and annoying.
NAME:    hangedman_xom_zot_hilarity
TAGS:    no_monster_gen no_trap_gen no_pool_fixup patrolling transparent
DEPTH:   Zot:1-4
WEIGHT:  3
KMONS:   1357 = guardian mummy ; randart dire flail ego:chaos | \
        randart great mace ego:chaos | randart battleaxe ego:chaos| \
        randart great sword ego:chaos | randart glaive ego:chaos | \
        randart scythe ego:chaos | any weapon randart ego:chaos w:4 | \
        randart dire flail w:5 | randart great mace w:5 | randart battleaxe w:5 | \
        randart great sword w:5 | randart glaive w:5 | randart scythe w:5 | \
        any weapon randart w:2 | dire flail ego:chaos w:5 | great mace ego:chaos w:5 | \
        great sword ego:chaos w:5 | battleaxe ego:chaos w:5 | glaive ego:chaos w:5 | \
        scythe ego:chaos w:5 | any weapon ego:chaos w:2 | dire flail w:30 | \
        great mace w:30 | battleaxe w:30 | great sword w:30 | \
        scythe w:30 | glaive w:30 | any weapon w:12 . \
        randart sling ego:chaos | randart bow ego:chaos | \
        randart crossbow ego:chaos | sling | bow | crossbow | \
        nothing w:15 . sling bullet | arrow | bolt . \
        lightning rod w:6 | rod of demonology w:4 | rod of summoning w:4 | \
        rod of destruction w:2 | rod of striking w:6 | wand of hasting w:16 | \
        wand of confusion | wand of random effects w:6 | \
        wand of polymorph other w:6 | any wand w:28 | any rod w:2 | \
        nothing w:45 . randart ring mail | randart chain mail | \
        randart scale mail | randart splint mail | ring mail | \
        chain mail | scale mail | splint mail | nothing w:20
KMONS:   2468 = killer klown
KMONS:   _ = ghost moth
KMONS:   90 = moth of wrath / butterfly w:30
KFEAT:   0 = known zot trap
KFEAT:   ^~ = teleport trap w:45 / zot trap w:4 / . w:1
KFEAT:   _ = altar_xom
KFEAT:   > = } mimic
KPROP:   ^~> = no_rtele_into
MARKER:  - = lua:restrict_door()
COLOUR:  ^~ = warp
FTILE:   ^ = floor_rough_magenta
FTILE:   ~ = floor_rough_lightmagenta
NSUBST:  > = 1:} / 1:) / 1:] / *:>, 9 = 1:0 / *:9, T = 1:. / *:T
SUBST:   d = tGmcc, c = cccccbbvvx, M = m`, ` = `:195 ':3 ":2
SUBST:   } = }:80 >, ) = ):80 >, ] = ]:80 >, l = wl, - = +
SHUFFLE: 56, 78, ^~, cm / xn
MARKER:  ' = lua:fog_machine { cloud_type = "seething chaos", pow_max = 17, \
             delay_min = 450, delay_max = 700, size = 1, excl_rad = 0 }
MARKER:  " = lua:fog_machine { cloud_type = "noxious fumes", pow_max = 17, \
             delay_min = 350, delay_max = 400, size_min = 2, size_max = 3}
MAP
        mmmmmmm
    @mmmm2.1.2mmmm@
  @.cmMMmm+m+mmMMmc.@
  ...clMMl```lMMlc...
 @c.c.```````````.c.c@
 mmc.l````.c.````l.cmm
 mMl``c..`.>.`..c``lMm
 mMM``.>.`d..`d>.``MMm
mmmM``.d.^~~^`...``Mmmm
m3ml`````m--mm^````lm6m
m.+``...^m999-~d..``+.m
m4m``c>.~-9_9-~.>c``m5m
m.+``..d~-999m^...``+.m
m3ml````^mm--m`````lm6m
mmmM``...`^~~^.d.``Mmmm
 mMM``.>d`..d`.>.``MMm
 mMl``c..`.>.`..c``lMm
 mmc.l````.c.````l.cmm
 @c.c.```````````.c.c@
  ...clMMl```lMMlc...
  @.cmMMmm+m+mmMMmmc.@
    @mmmm8.7.8mmmm@
        mmmmmmm
ENDMAP

##############################################################################
##############################################################################
#
# hall_of_Zot_5
#
##############################################################################
##############################################################################

NAME:       hall_of_Zot
PLACE:      Zot:5
ORIENT:     north
TAGS:       no_dump
LFLAGS:     no_tele_control
LFLOORCOL:  magenta
LROCKCOL:   lightmagenta
LFLOORTILE: floor_rough_magenta
LROCKTILE:  wall_zot_lightmagenta

#traps
SUBST:    C = X:900 c:100 =
KFEAT:    8 = any trap / w:20 floor
SHUFFLE:  ABab / ^^FF / ^^FF / ^^FF
SHUFFLE:  Aa / Bb
KFEAT:    A = any trap / w:30 floor
KFEAT:    B = any trap / w:10 floor
SUBST:    a=F, b=6 F
SUBST:    ^ = ^ .:10
SUBST:    . = .:500 ^

#monsters
MONS:     patrolling Orb Guardian, Killer Klown, electric golem, orb of fire
MONS:     ancient lich, orange crystal statue / silver statue / ice statue
SUBST:    8=8., 8=8., 5=5.
SHUFFLE:  234
SUBST:    ? = .:8 ?
SUBST:    ? : KLM
SUBST:    K = 4:30 5 8 9
SUBST:    L = 4 5:30 8 9
SUBST:    M = 4 5 8:30 9

SUBVAULT: Y : orb_chamber
COLOUR:   c = magenta
TILE:     c = dngn_stone_wall_magenta

MAP
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcccccccccccXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXccYYYYYYYYYccXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcccYYYYYYYYYYYcccXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXcYYYYYYYYYYYYYYYcXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXX.............XXXXcYYYYYYYYYYYYYYYcXXXX.............XXXXXXXXXXXXXX
XXXXXXXXXXXX...................XXXYYYYYYYYYYYYYXXX...................XXXXXXXXXXX
XXXXXXXXXXX..........3...........XXYYYYYYYYYYYXX...........3..........XXXXXXXXXX
XXXXXXXXXX..8.....................XYYYYYYYYYYYX.....................8..XXXXXXXXX
XXXXXXXXXX.......?..?.....8.8.....YYYYYYYYYYYYY.....8.8.....?..?.......XXXXXXXXX
XXXXXXXXXXX.8...........?.........YYYYYYYYYYYYY.........?...........8.XXXXXXXXXX
XXXXXXXXXXXX......................YYYYYYYYYYYYY......................XXXXXXXXXXX
XXXXXXXXXXXXX.....4....2....8.8...YYYYYYYYYYYYY...8.8....2....4.....XXXXXXXXXXXX
XXXXXXXXXXXX....?...?.....?...?...YYYYYYYYYYYYY...?...?.....?....?...XXXXXXXXXXX
XXXXXXXXXXX.......?....?..........YYYYYYYYYYYYY..........?....2.......XXXXXXXXXX
XXXXXXXXXX.....8..........8.8.....YYYYYYYYYYYYY.....8.8..........8.....XXXXXXXXX
XXXXXXXXXX...8....................cYYYYYYYYYYYc....................8...XXXXXXXXX
XXXXXXXXXXX.....8.8.8..8.........ccYYYYYYYYYYYcc........8...8.8.8.....XXXXXXXXXX
XXXXXXXXXXXX...............8...XccYYYYYYYYYYYYYccX...8............8..XXXXXXXXXXX
XXXXXXXXXXXXX........8..8...XXXXcYYYYYYYYYYYYYYYcXXXX...8..8........XXXXXXXXXXXX
XXXXXXXXXXXXXXa111accCCCCCCXXXXXcYYYYYYYYYYYYYYYcXXXXXCCCCCCccb111bXXXXXXXXXXXXX
XXXXXXXXXXXcc...............AA1.cccYYYYYYYYYYYccc.1BB...............ccXXXXXXXXXX
XXXXXXXXXXcc...8.8..8.8.....cc1...ccYYYYYYYYYcc...1cc.......8..8.8.8.ccXXXXXXXXX
XXXXXXXXXcc.8...8......8.8...ccc...ccccccccccc...ccc...8.8.8..8.......ccXXXXXXXX
XXXXXXXXXc.8..8....8.8........ccc...............ccc.....8....8..8.8....cXXXXXXXX
XXXXXXXXXc..8..8.8....8.8.8.5.cXcc.............ccXc.5.8.8.8....8.8...8.cXXXXXXXX
XXXXXXXXXc..8.....8.8.......8.cXXc.............cXXc8........8.....8.8..cXXXXXXXX
XXXXXXXXXc.8...8......8.8.....cXXcc.1...1...1.ccXXc......8.......8.....cXXXXXXXX
XXXXXXXXXc8..8...8.8.8.8...8.8cXXXc...........cXXXc8.8..8..8.8.8...8.8.cXXXXXXXX
XXXXXXXXXc.....8.........8....cXXcc...........ccXXc....8.8.............cXXXXXXXX
XXXXXXXXXcc...5..8..8.8....8.ccXXc.............cXXcc8.....8....8..5.8.ccXXXXXXXX
XXXXXXXXXXcc8......8....8.8.ccXXcc.............ccXXcc.8.8....8....8..ccXXXXXXXXX
XXXXXXXXXXXcc..............ccXXXc...............cXXXcc..............ccXXXXXXXXXX
XXXXXXXXXXXXccccccccccccccccXXXXcccccccc@ccccccccXXXXccccccccccccccccXXXXXXXXXXX
ENDMAP

###########################################################
# Zot:5 Orb chambers
###########################################################
#
# Each Orb chamber must be capable of placing the Orb. This is done by
# placing one or more Z and calling zot5_orb(_G). One Z will have the Orb,
# others will have a small chance of being an orb mimic, or will otherwise
# be replaced with '.' (plain floor).  Avoid using the glyph O, as it is
# used internally by zot5_orb().

NAME:   orb_original
TAGS:   orb_chamber
WEIGHT: 25
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
COLOUR: c = magenta
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   ccccccccc
  ccccccccccc
ccccccccccccccc
ccccccccccccccc
 ccccccccccccc
  ccccccccccc
  XXXXXXXXXXX
 XXX...1...XXX
 XX..1...1..XX
 X1...!!!...1X
 ...1.!Z!.1...
 X1...!!!...1X
 XX..1...1..XX
 XXX...1...XXX
  XXXXXXXXXXX
  ccccccccccc
 ccccccccccccc
ccccccccccccccc
ccccccccccccccc
  ccccccccccc
   ccccccccc
ENDMAP

NAME:   orb_monky_inset
TAGS:   orb_chamber
WEIGHT: 5
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
COLOUR: c = magenta
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   ccccccccc
  ccccccccccc
ccccccccccccccc
ccccccccccccccc
 ccccccccccccc
  ccccccccccc
  XXXXXXXXXXX
 XXXX.....XXXX
 XXX..X1X..XXX
 X....XXX....X
 ..1.XXXXX.1..
 X....XXX....X
 XXX..X1X..XXX
 XXXX.....XXXX
  X.XXX.XXX.X
  X....1....X
 XX..1!!!1..XX
cX....!Z!....Xc
cXX...!!!...XXc
  XXXXXXXXXXX
   ccccccccc
ENDMAP

NAME:   orb_two_ways
TAGS:   orb_chamber
WEIGHT: 5
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
COLOUR: c = magenta
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   ccccccccc
  XXXXXXXXXXX
cXXXXX.....XXXc
cXXX!!!1X...XXc
 XXX!Z!XXX..XX
  XX!!!XX..XX
  XXXXXX..XXX
 XXXX.....XXXX
 XXX..X1X..XXX
 X1...XXX...1X
 ....XXXXX....
 X1...XXX...1X
 XXX..X1X..XXX
 XXXX.....XXXX
  XXXX..XXXXX
  XXX..XX!!!X
 XXX..XXX!Z!XX
cXXX...X1!!!XXc
cXXXX.....XXXXc
  XXXXXXXXXXX
   ccccccccc
ENDMAP

NAME:   orb_monky_within_orb
TAGS:   orb_chamber
WEIGHT: 5
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
COLOUR: cn = magenta
TILE:   n = dngn_transparent_wall_magenta
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   ccccccccc
  ccccccccccc
ccccccccccccccc
ccccccccccccccc
 ccccccccccccc
  ccccccccccc
  XXXXXXXXXXX
 XXX...1...XXX
 XX1.nn.nn.1XX
 X..n1!!!1n..X
 ...n.!Z!.n...
 X..n1!!!1n..X
 XX1.nn.nn.1XX
 XXX...1...XXX
  XXXXXXXXXXX
  ccccccccccc
 ccccccccccccc
ccccccccccccccc
ccccccccccccccc
  ccccccccccc
   ccccccccc
ENDMAP

NAME:   orb_monky_twist
TAGS:   orb_chamber
WEIGHT: 5
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
COLOUR: cn = magenta
TILE:   n = dngn_transparent_wall_magenta
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   ccccccccc
  ccccccccccc
ccccccccccccccc
ccccccccccccccc
 ccccccccccccc
  ccXXXXXXXXc
  XXXnnnnnnXX
 XXXnn...1..XX
 XXnn1...n..1X
 Xnnn.!!!nn..X
 ..nn1!Z!1nn..
 X..nn!!!.nnnX
 X1..n...1nnXX
 XX..1...nnXXX
  XXnnnnnnXXX
  cXXXXXXXXcc
 ccccccccccccc
ccccccccccccccc
ccccccccccccccc
  ccccccccccc
   ccccccccc
ENDMAP

NAME:   mrperson_orb_statues
TAGS:   orb_chamber
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
COLOUR: G = magenta
SUBST:  G = G:100 F:1
KMONS:  F = orange crystal statue / silver statue / ice statue
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   ccccccccc
  ccccccccccc
ccccccccccccccc
ccccccccccccccc
 ccccccccccccc
  ccccccccccc
  ccccccccccc
 XXXXXXXXXXXXX
 XX.G.G.G.G.XX
 .............
 .1.........1.
 .............
 X.G.X...X.G.X
 XXXXX1.1XXXXX
  XX...G...XX
  XG11XXX11GX
 cXX..!Z!..XXc
ccXXG.!!!.GXXcc
cccXXGXGXGXXccc
  ccXXXXXXXcc
   ccccccccc
ENDMAP

NAME:   orb_nicolae_swirls
TAGS:   orb_chamber
WEIGHT: 5
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
COLOUR: cn = magenta
TILE:   n = dngn_transparent_wall_magenta
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   XXXXXXXXX
  XX...1...XX
ccX1!!!...1.Xcc
ccX.!Z!.....Xcc
 cXX!!!X..1.Xc
  cXXXXX....X
  cXXXXX...XX
 XXXXXX...XXXX
 XXXXX.1.nnn..
 XXX........1.
 .....nnn.....
 .1........XXX
 ..nnn.1.XXXXX
 XXXX...XXXXXX
  XX....XXXXc
  X....XXXXXc
 cX.1..X!!!XXc
ccX.....!Z!.Xcc
ccX.1...!!!1Xcc
  XX...1...XX
   XXXXXXXXX
ENDMAP

NAME:   orb_nicolae_fourfold
TAGS:   orb_chamber
WEIGHT: 5
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
COLOUR: c = magenta
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   XXXXXXXXX
  XX...X...XX
cXX..1...1..XXc
cX1..XX.XX..1Xc
 XX..X...X..XX
  X..X.1.X..X
  X..X...X..X
 XX..XX.XX..XX
 ...XX.1.XX...
 .1.X.!!!.X.1.
 XXXX.!Z!.XXXX
 .1.X.!!!.X.1.
 ...XX.1.XX...
 XX..XX.XX..XX
  X..X...X..X
  X..X.1.X..X
 XX..X...X..XX
cX1..XX.XX..1Xc
cXX..1...1..XXc
  XX...X...XX
   XXXXXXXXX
ENDMAP

NAME:   orb_grunt_hallway
TAGS:   orb_chamber
WEIGHT: 5
KMASK:  1! = no_item_gen
SUBST:  ! = ^ .:40
SUBST:  . = .:500 ^
SUBST:  : = .
COLOUR: c = magenta
KMONS:  1 = patrolling Orb Guardian
: zot5_orb(_G)
MAP
   ccXXXXXcc
  ccXX.X.XXcc
ccccX1!!!1XcXXc
ccccXX!Z!XXccXc
 cccX1!!!1XcXX
  ccXX...XXcX
  XXXX...XXXX
 XXXXXG:GXXXXX
 XX.XX...XX.XX
 X1..X.1.X..1X
 :...XG:GX...:
 X1..X...X..1X
 XX..X...X..XX
 XX..XG:GX..XX
  X.1X...X1.X
  X..X.1.X..X
 cX..XG:GX..Xc
ccX..X...X..Xcc
ccX.........Xcc
  XX.......XX
   XXXXXXXXX
ENDMAP

##############################################################################
##############################################################################
#
# For colouring the walls and floors of the first four levels
#
##############################################################################
##############################################################################

NAME:       hall_of_Zot_1
PLACE:      Zot:1
TAGS:       transparent no_dump
ORIENT:     float
LFLOORCOL:  lightgrey
LROCKCOL:   white
LFLOORTILE: floor_rough_lightgray
LROCKTILE:  wall_zot_white
MAP
.
ENDMAP

NAME:       hall_of_Zot_2
PLACE:      Zot:2
TAGS:       transparent no_dump
ORIENT:     float
LFLOORCOL:  white
LROCKCOL:   blue
LFLOORTILE: floor_rough_white
LROCKTILE:  wall_zot_blue
MAP
.
ENDMAP

NAME:       hall_of_Zot_3
PLACE:      Zot:3
TAGS:       transparent no_dump
ORIENT:     float
LFLOORCOL:  blue
LROCKCOL:   lightblue
LFLOORTILE: floor_rough_blue
LROCKTILE:  wall_zot_lightblue
MAP
.
ENDMAP

NAME:       hall_of_Zot_4
PLACE:      Zot:4
TAGS:       transparent no_dump
ORIENT:     float
LFLOORCOL:  lightblue
LROCKCOL:   magenta
LFLOORTILE: floor_rough_lightblue
LROCKTILE:  wall_zot_magenta
MAP
.
ENDMAP
