{{
function sprint2_forest_area_1_mons_gen(data, triggerable,
                                        triggerer, marker, ev)
    function spawn_zombie (x, y, spec)
        local mons = dgn.create_monster(x, y, spec)
        crawl.mpr("Murray drops in to check on your progress.")
        return mons
    end

    if data.awoke == true then
        return
    end
    local graves = dgn.find_marker_positions_by_prop("spawn_spot", 1)
    for _, pos in ipairs(graves) do
        local niceguy = spawn_zombie(pos.x, pos.y, "generate_awake Murray")
    end

    data.awoke = true
end

}}

NAME:   the_violet_keep_of_menkaure
DESC:   Sprint II: "The Violet Keep of Menkaure"
ORDER:  2
TAGS:   sprint no_item_gen no_trap_gen no_pool_fixup no_rotate no_hmirror no_vmirror
ORIENT: encompass
SHUFFLE: 12
SUBST:  ' = '..........
KFEAT:  ' = trap_net
MONS:   Menkaure, crocodile, kraken, weeping skull
MARKER: a = lua:fog_machine { \
             pow_min = 1, pow_max = 2, delay = 3, \
             size = 2, walk_dist = 8, spread_rate= -1, \
             cloud_type= "steam" }
KFEAT:  a = shallow_water
MARKER: d = lua:fog_machine { \
             pow_min = 3, pow_max = 6, delay = 3, \
             size = 2, walk_dist = 16, spread_rate= -1, \
             cloud_type= "grey smoke" }
KFEAT:  dV = shallow_water
KMONS:  V = crocodile
KMONS:  b = hell rat / scorpion / vampire mosquito / blink frog
KITEM:  b = star_item
SUBVAULT: A : sprint2_stairs_cluster
SUBVAULT: B : sprint2_shoproom
SUBVAULT: C : sprint2_temple
SUBVAULT: D : sprint2_basic_supplies
SHUFFLE: BCD
SUBVAULT: E : sprint2_obstacle
SUBVAULT: F : sprint2_obstacle
SUBVAULT: H : sprint2_obstacle
SUBVAULT: K : sprint2_obstacle
SUBVAULT: S : sprint2_obstacle
SUBVAULT: G : sprint2_timed_cluster
SUBVAULT: I : sprint2_smallroom_cluster
SUBVAULT: J : sprint2_smallroom_final_cluster
SUBVAULT: L : sprint2_transparent_cluster
SUBVAULT: M : sprint2_second_timed_cluster
SUBVAULT: N : sprint2_sniper_area
SUBVAULT: O : sprint2_heavy_combat_area
SUBVAULT: P : sprint2_mutation_trap_area
SUBVAULT: Q : sprint2_forest_area
SUBVAULT: R : sprint2_light_combat_area
SUBVAULT: T : sprint2_behind_water
SUBVAULT: U : sprint2_near_end_vault
MAP
cRRRRRRRRRRRRRRRRRRRRRR  JJJJ  GGGGGGQQQQQQQQQQQQQQQQQQQQQQQQQ
cRRRRRRRRRRRRRRRRRRRRRR  JJJJ  GGGGGGQQQQQQQQQQQQQQQQQQQQQQQQQ
cRRRRRRRRRRRRRRRRRRRRRRJJJJJJJJGGGGGGQQQQQQQQQQQQQQQQQQQQQQQQQ
cRRRRRRRRRRRRRcccc+ccccJJJJJJJJGGGGGGQQQQQQQQQQQQQQQQQQQQQQQQQ
cRRRRRRRRRRRRccHHHHHHHccJJJJJGGGGGGGGQQQQQQQQQQQQQQQQQQQQQQQQQ
cRRRRRRRRRRRccHHHHHHHHHccJJJJGGGGGGGGQQQQQQQQQQQQQQQQQQQQQQQQQ
cRRRRRRRRRRR+HHHHHHHHHHHcJJJJGGGGGGGGQQQQQQQQQQQQQQQQQQQQQQQQQ
cMMMMMMMMMMMccHHHHHHHHHccI'''GGGGGGGGQQQQQQQQQQQXXXXXXPPPPPPPP
cMMMMMMMMMMMWccHHHHHHHccII''''GGGGGGGollllllllXXX''''XPPPPPPPP
cMMMMMMMMMMMWWc+++m+++cIIII''''GGGGGGooooooooooOOOOO'XPPPPPPPP
cmmmmmmmmmmWWW.........IIII''''GGGGGGoDDDDDDDDoOOOOO'XPPPPPPPP
cmBBBBBBBBmWWWW2AAAAA..IIIIIII'GGGGGGoDDDDDDDDoOOOOO'XPPPPPPPP
cmBBBBBBBBmWWWWAAAAAAA.IIIIIII'GGGGGGoDDDDDDDDoOOOOO'XPPPPPPPP
cmBBBBBBBBmWWWWAAAAAAA....IIII''GGGGGoDDDDDDDDoOOOOO'XPPPPPPPP
cmBBBBBBBBmWWAAAAAAAAAAA..IIIII''GGGGoDDDDDDDDoOOOOO'XPPPPPPPP
cmBBBBBBBBmWAAAAAAAAAAAAA..IIII''GGGGoDDDDDDDDoOOOOO'XPPPPPPPP
cmBBBBBBBBmWAAAAAAAAAAAAA..IIII''GGGGoDDDDDDDDoOOOOO'XPPPPPPPP
cmBBBBBBBB+WAAAAAAAAAAAAA..IIII''GGGGoDDDDDDDDoOOOOO'XPPPPPPPP
cmBBBBBBBBmWAAAAAAAAAAAAA....III''GGGooooooo+ooOOOOO'XPPPPPPPP
cooooooommmWAAAAAAAAAAAAA1.....WWWWWWWWWWWWW...wwwXUUUUUUUUccc
ccLLLLLccccWWAAAAAAAAAAAWW.....Wm+mmmmmmmm+ccc.w3wXUUUUUUUcc
ccLLLLLLLLccWWWAAAAAAAWWWWWWW..WmCCCCCCCCmWWWccwwwXUUUUUUcc
ccLLLLLLm+cc+cWAAAAAAAWWWWWWWW2WmCCCCCCCCmWWwwccccXXXXXWcc
ccLLLLLmmKccbcWWAAAAAWWWlllaWWWWmCCCCCCCCmWWWWwccTTTTTXWc
ccLLLLmmKKKccccWWWWWWWWWWllllWWWmCCCCCCCCmWWVwwwTTTTTTXWc
ccLLLLmKKKKKc|c+++m+++cWlllllllWmCCCCCCCCmWWdWWwTTTTTTXWc
ccLLLLmKKKKKcccEEEEEEEcclllcccllmCCCCCCCCmWVWWwVTTTTTTXWc
ccLLLLmKKKKKccEEEEEEEEEccllc|cllmCCCCCCCCmWWwwwwXTTTTTXWc
ccLLLL+KKKKK+EEEEEEEEEEE+llc+cllmCCCCCCCCmWwwwXXXXXXXXXWc
ccLLLLcKKKKKccEEEEEEEEEcclllllllmmmmmmmmmmWwwwo444wwwwWWc
ccLLLLcKKKKKcccEEEEEEEccmmmmmmmmmWWWWWWWWWwwwwo444wwwwWWc
ccLLLLcKKKKKcNcccc+ccccFFFFFFFmmmWccccccccwXXXXXXXXXwwWWc
ccLLLLccKKKccNNNNmmmccFFFFFFFFFmmWcNNNNNNcXXSSSSSSSXXwWWc
ccLLLLcccKccNNNNNNNN+FFFFFFFFFFF+WcNNNNNNcXSSSSSSSSSXXWWc
ccLLLL''cccNNNNNNNNNccFFFFFFFFFccccNNNNNN+SSSSSSSSSSS+WWc
ccLLLLcNNNNNNNNNNNNNNccFFFFFFFcccccNNNNNNccSSSSSSSSSccccc
cccccccNNNNNNNNNNNNNNNccccmccccNNNNNNNNNNcccSSSSSSScc
cNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNc ccccccccc
cccccccccccccccccccccccccccccccccccccccccc
ENDMAP

NAME:   sprint2_stairs_cluster_1
TAGS:   sprint2_stairs_cluster
SUBVAULT: A : sprint2_early
SUBVAULT: B : sprint2_early
SUBVAULT: b : sprint2_early
SUBVAULT: D : sprint2_early
SHUFFLE: de
LFLOORCOL: magenta
COLOUR: x = magenta
COLOUR: + = magenta
MAP
    xx+xx
   xxDDDxx
   xDDDDDx
 xxxxDDDxxxx
xxAxxx+xxxBxx
xAAAxx.xxBBBx
+AAA+.{.+BBB+
xAAAxx.xxBBBx
xxAxxx+xxxBxx
 xxxxbbbxxxx
   xbbbbbx
   xxbbbxx
    xx+xx
ENDMAP

NAME:   sprint2_early_2
TAGS:   sprint2_early no_item_gen no_trap_gen no_pool_fixup
MONS:   merfolk siren
KITEM:  $ = gold q:243
COLOUR: x = magenta
MAP
 ...
.1x..
 .$.
ENDMAP

NAME:   sprint2_early_3
TAGS:   sprint2_early no_item_gen no_trap_gen no_pool_fixup
MONS:   weeping skull
KITEM:  $ = gold q:243
COLOUR: x = magenta
MAP
 .x.
11x11
 .$.
ENDMAP

NAME:   sprint2_early_5
TAGS:   sprint2_early no_item_gen no_trap_gen no_pool_fixup
MONS:   ribbon worm
KITEM:  $ = gold q:243
COLOUR: x = magenta
MAP
 .x.
11xx1
 .$x
ENDMAP

NAME:   sprint2_early_6
TAGS:   sprint2_early no_item_gen no_trap_gen no_pool_fixup
MONS:   neqoxec
KITEM:  $ = gold q:243
COLOUR: x = magenta
MAP
 .xx
1xx11
 1$.
ENDMAP

NAME:   sprint2_early_7
TAGS:   sprint2_early no_item_gen no_trap_gen no_pool_fixup
MONS:   hippogriff
KITEM:  $ = gold q:243
COLOUR: x = magenta
MAP
 .x.
.1x1.
 .x$
ENDMAP

NAME:   sprint2_early_8
TAGS:   sprint2_early no_item_gen no_trap_gen no_pool_fixup
MONS:   wyvern
KITEM:  $ = gold q:243
COLOUR: x = magenta
MAP
 .x.
1xxx1
 .x$
ENDMAP

NAME:   sprint2_early_9
TAGS:   sprint2_early no_item_gen no_trap_gen no_pool_fixup
MONS:   scorpion
KITEM:  $ = gold q:243
COLOUR: x = magenta
MAP
 .x.
11x11
 x$x
ENDMAP

NAME:   sprint2_temple
TAGS:   sprint2_temple no_item_gen no_trap_gen no_monster_gen no_pool_fixup
KFEAT:  b = altar_beogh
KFEAT:  c = altar_cheibriados
KFEAT:  d = altar_dithmenos
KFEAT:  e = altar_elyvilon
KFEAT:  f = altar_fedhas
KFEAT:  g = altar_gozag
KFEAT:  h = altar_hepliaklqana
KFEAT:  j = altar_jiyva
KFEAT:  k = altar_kikubaaqudgha
KFEAT:  l = altar_lugonu
KFEAT:  m = altar_makhleb
KFEAT:  n = altar_nemelex_xobeh
KFEAT:  o = altar_okawaru
KFEAT:  q = altar_qazlal
KFEAT:  r = altar_ru
KFEAT:  s = altar_sif_muna
KFEAT:  t = altar_trog
KFEAT:  u = altar_uskayaw
KFEAT:  v = altar_vehumet
KFEAT:  w = altar_wu_jian
KFEAT:  x = altar_xom
KFEAT:  y = altar_yredelemnul
KFEAT:  z = altar_zin
KFEAT:  1 = altar_the_shining_one
MAP
..q.w.1.
.h.r.x..
b.j.s.y.
.c.k.t.z
..d.l.u.
...e.m.v
....f.n.
.....g.o
ENDMAP

NAME:   sprint2_shoproom
TAGS:   sprint2_shoproom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
NSUBST: a = 1:b / 1:c / 2:d / 2:e / 1:f / 2:h / 1:i / *:a
KFEAT:  a = any shop
KFEAT:  b = book shop
KFEAT:  c = antique weapon shop
KFEAT:  d = antique armour shop
KFEAT:  e = distillery shop
KFEAT:  h = jewellery shop
KFEAT:  i = scroll shop
MAP
....a.a.
...a.a..
..a.a...
.T.a....
..a.a...
...a.a..
....a.a.
.....a.a
ENDMAP

NAME:   sprint2_basic_supplies
TAGS:   sprint2_basic_supplies no_item_gen no_trap_gen no_monster_gen no_pool_fixup
NSUBST: % = 1:a / 1:b / 1:c / *:%
KITEM:  a = potion of enlightenment q:3
KITEM:  b = potion of resistance q:3
KITEM:  c = potion of magic q:3
MAP
%%%%%%%%
%%%%%%%%
%%%%%%%%
%%%%%%%%
%%%%%%%%
%%%%%%%%
%%%%%%%%
%%%%%%%%
ENDMAP

NAME:   sprint2_obstacle_1
TAGS:   sprint2_obstacle no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   patrolling laughing skull
NSUBST: l = 4:1 / 1:1l / *:l
SHUFFLE: l.
MARKER: a = lua:fog_machine { \
             pow_min = 2, pow_max = 4, delay = 3, \
             size = 4, walk_dist = 8, spread_rate= -1, \
             cloud_type= "foul pestilence" }
KFEAT:  a = lava
MAP
  lllllll
 lllllllll
lllllalllll
 lllllllll
  lllllll
ENDMAP

NAME:   sprint2_obstacle_2
TAGS:   sprint2_obstacle no_item_gen no_trap_gen no_monster_gen no_pool_fixup
KMONS:  a = ice statue
SHUFFLE: w.
MARKER: a = lua:fog_machine { \
             pow_min = 2, pow_max = 4, delay = 3, \
             size = 4, walk_dist = 8, spread_rate= -1, \
             cloud_type= "freezing vapour" }
MAP
  wwwwwww
 wwwwwwwww
wwwwwawwwww
 wwwwwwwww
  wwwwwww
ENDMAP

NAME:   sprint2_obstacle_3
TAGS:   sprint2_obstacle no_item_gen no_trap_gen no_monster_gen no_pool_fixup
KMONS:  a = obsidian statue
SHUFFLE:  l.
MARKER: a = lua:fog_machine { \
             pow_min = 2, pow_max = 4, delay = 3, \
             size = 4, walk_dist = 8, spread_rate= -1, \
             cloud_type= "poison gas" }
MAP
  lllllll
 lllllllll
lllllalllll
 lllllllll
  lllllll
ENDMAP

NAME:   sprint2_obstacle_4
TAGS:   sprint2_obstacle no_item_gen no_trap_gen no_monster_gen no_pool_fixup
KMONS:  a = orange crystal statue
MARKER: a = lua:fog_machine { \
             pow_min = 2, pow_max = 4, delay = 3, \
             size = 4, walk_dist = 8, spread_rate= -1, \
             cloud_type= "mutagenic fog" }
MAP
  lllllll
 lllllllll
lllllalllll
 lllllllll
  lllllll
ENDMAP

NAME:   sprint2_obstacle_5
TAGS:   sprint2_obstacle no_item_gen no_trap_gen no_monster_gen no_pool_fixup
NSUBST: l = 4:D / *:l
KMONS:  D = lava snake
KFEAT:  a = lava
MARKER: a = lua:fog_machine { \
             pow_min = 2, pow_max = 4, delay = 3, \
             size = 4, walk_dist = 8, spread_rate= -1, \
             cloud_type= "flame" }
MAP
  lllllll
 lllllllll
lllllalllll
 lllllllll
  lllllll
ENDMAP

NAME:   sprint2_obstacle_6
TAGS:   sprint2_obstacle no_item_gen no_trap_gen no_monster_gen no_pool_fixup
KMONS:  a = Roxanne
SUBST:  l = .
MARKER: a = lua:fog_machine { \
             pow_min = 2, pow_max = 4, delay = 3, \
             size = 4, walk_dist = 8, spread_rate= -1, \
             cloud_type= "rain" }
MAP
  lllllll
 lllllllll
lllllalllll
 lllllllll
  lllllll
ENDMAP

NAME:   sprint2_obstacle_7
TAGS:   sprint2_obstacle no_item_gen no_trap_gen no_monster_gen no_pool_fixup
NSUBST: l = 8:1 / *:w
KMONS:  a = electric eel
MONS:   electric eel
MARKER: a = lua:fog_machine { \
             pow_min = 2, pow_max = 4, delay = 3, \
             size = 4, walk_dist = 8, spread_rate= -1, \
             cloud_type= "rain" }
MAP
  lllllll
 lllllllll
lllllalllll
 lllllllll
  lllllll
ENDMAP


NAME:   sprint2_timed_cluster_1
TAGS:   sprint2_timed_cluster no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MARKER: + = lua:restrict_door()
{{  local messager =
    timed_msg {
      visible = true,
      messages = time_messages(27000, "", "", "", "")
    } }}
MARKER: k = lua:fog_machine { \
             pow_min = 2, pow_max = 4, delay = 3, \
             size = 1, walk_dist = 12, spread_rate= -1, \
             cloud_type= "foul pestilence" }
MARKER: x = lua: timed_marker {  \
                 low=250, high=350, msg=messager, floor = 'floor' }
KFEAT:  x = stone_wall
MARKER: y = lua: timed_marker {  \
                 low=1000, high=1200, msg=messager, floor = 'floor' }
KFEAT:  y = stone_wall
MARKER: z = lua: timed_marker {  \
                 low=4000, high=4400, msg=messager, floor = 'floor' }
KFEAT:  z = stone_wall
MONS:   patrolling polar bear, patrolling swamp drake, patrolling thermic dynamo, patrolling toenail golem, patrolling iron golem
KMONS:  a = patrolling hornet
KITEM:  m = gold q:81
KMONS:  m = patrolling yaktaur
KMONS:  b = patrolling death drake
KMONS:  n = patrolling death drake
KITEM:  n = potion of enlightenment q:3
KMONS:  d = patrolling electric golem
KITEM:  d = gold q:243
KMONS:  p = gargoyle
SHUFFLE: fgiAC
KMONS:  f = royal mummy
KMONS:  g = golden eye
KMONS:  i = curse toe
KMONS:  A = vampire knight
KMONS:  C = Gloorx Vloq
COLOUR: c = magenta
COLOUR: = = magenta
COLOUR: x = magenta
COLOUR: y = magenta
COLOUR: z = magenta
MAP
cc.
cxcc
c11c
ca1c
cmcc
cccc.
||cycc
||c22c
||cb3c
||ccnc
...czc.
.k.cpccc
...+p45c
X+XXXd6c
f.gXXX+c
.....X
.....X
i.C.AX
XXXXXX
ENDMAP

NAME:   sprint2_second_timed_cluster_1
TAGS:   sprint2_second_timed_cluster no_item_gen no_trap_gen no_monster_gen no_pool_fixup no_rotate no_hmirror no_vmirror
{{  local messager =
    timed_msg {
      visible = true,
      messages = time_messages(27000, "", "", "", "")
    } }}
KITEM:  $ = gold q:81
SHUFFLE: 123, 456
MONS:   golden dragon, Cacodemon, storm dragon, skeletal warrior, kobold demonologist, yaktaur captain
KMONS:  d = elephant
KMONS:  e = centaur warrior
KMONS:  f = Kirke
KMONS:  g = frost giant
KMONS:  h = deep elf high priest
KMONS:  i = bone dragon
MARKER: x = lua: timed_marker {  \
                 low=500, high=750, msg=messager, floor = 'floor' }
KFEAT:  x = stone_wall
MARKER: y = lua: timed_marker {  \
                 low=2000, high=3000, msg=messager, floor = 'floor' }
KFEAT:  y = stone_wall
COLOUR: c = magenta
COLOUR: x = magenta
COLOUR: y = magenta
MAP
cghiccdefcc
c$123y$456x
ccccccccccc
ENDMAP


NAME:   sprint2_smallroom_cluster_1
TAGS:   sprint2_smallroom_cluster no_item_gen no_trap_gen no_monster_gen no_pool_fixup no_rotate no_hmirror no_vmirror
MARKER: + = lua:restrict_door()
MONS:   deep elf master archer
SUBVAULT: A : sprint2_smallroom
SUBVAULT: B : sprint2_smallroom
SUBVAULT: D : sprint2_smallroom
MAP
  l
 1l
cccc
cAA+
cAAcccc
ccccBB+
   cBBc
   ccccc
    cDD+
    cDDc
    cccc
      ccc
ENDMAP

NAME:   sprint2_smallroom_final_cluster_1
TAGS:   sprint2_smallroom_final_cluster no_item_gen no_trap_gen no_monster_gen no_pool_fixup no_rotate no_hmirror no_vmirror
MARKER: + = lua:restrict_door()
NSUBST: * = 1:a / 1:b / *:|
KITEM:  a = scroll of acquirement q:3 / potion of mutation q:3 / potion of experience q:1
KITEM:  b = scroll of acquirement q:1 / potion of magic q:9 / potion of haste q:3
SUBVAULT: D : sprint2_smallroom
SUBVAULT: E : sprint2_smallroom
SUBVAULT: F : sprint2_smallroom
SUBVAULT: G : sprint2_smallroom
SUBVAULT: H : sprint2_smallroom
SUBVAULT: I : sprint2_smallroom
MAP
  ****
  ****
HHFFGGII
HHFFGGII
 UDDEE
  DDEE
  c++c
ENDMAP


NAME:   sprint2_smallroom_1
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   crocodile
KITEM:  $ = gold q:81
MAP
11
1$
ENDMAP

NAME:   sprint2_smallroom_2
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   hell hog
KITEM:  $ = gold q:81
MAP
*1
1$
ENDMAP


NAME:   sprint2_smallroom_3
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   redback
KITEM:  $ = gold q:81
MAP
*1
1$
ENDMAP

NAME:   sprint2_smallroom_4
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   wyvern
KITEM:  $ = gold q:81
MAP
*1
1$
ENDMAP

NAME:   sprint2_smallroom_5
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   unseen horror
KITEM:  $ = gold q:81
MAP
%1
1$
ENDMAP

NAME:   sprint2_smallroom_6
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   fire dragon
KITEM:  $ = gold q:81
MAP
%*
1$
ENDMAP

NAME:   sprint2_smallroom_7
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   ice dragon
KITEM:  $ = gold q:81
MAP
%*
1$
ENDMAP

NAME:   sprint2_smallroom_8
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   iron elemental
KITEM:  $ = gold q:81
MAP
**
1$
ENDMAP

NAME:   sprint2_smallroom_9
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   cane toad
KITEM:  $ = gold q:81
MAP
%1
1$
ENDMAP

NAME:   sprint2_smallroom_10
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   great orb of eyes
KITEM:  $ = gold q:81
MAP
%%
1$
ENDMAP

NAME:   sprint2_smallroom_11
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   manticore
KITEM:  $ = gold q:81
MAP
11
1$
ENDMAP

NAME:   sprint2_smallroom_12
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   wyvern
KITEM:  $ = gold q:81
MAP
11
1$
ENDMAP

NAME:   sprint2_smallroom_13
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   shining eye
KITEM:  $ = gold q:81
MAP
11
1$
ENDMAP

NAME:   sprint2_smallroom_14
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   slime creature
KITEM:  $ = gold q:81
MAP
11
1$
ENDMAP

NAME:   sprint2_smallroom_15
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   yak
KITEM:  $ = gold q:81
MAP
11
1$
ENDMAP

NAME:   sprint2_smallroom_16
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   black bear
KITEM:  $ = gold q:81
MAP
11
1$
ENDMAP

NAME:   sprint2_smallroom_17
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   polar bear
KITEM:  $ = gold q:81
MAP
%1
1$
ENDMAP

NAME:   sprint2_smallroom_18
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   spectral thing
KITEM:  $ = gold q:81
MAP
%1
1$
ENDMAP

NAME:   sprint2_smallroom_19
TAGS:   sprint2_smallroom no_item_gen no_trap_gen no_monster_gen no_pool_fixup
MONS:   death yak
KITEM:  $ = gold q:81
MAP
%%
1$
ENDMAP



NAME:   sprint2_transparent_cluster_1
TAGS:   sprint2_transparent_cluster no_item_gen no_trap_gen no_monster_gen no_pool_fixup no_rotate no_hmirror no_vmirror
MARKER: + = lua:restrict_door()
MONS:   oklob plant, orc warlord / Nikola / draconian knight, toenail golem, Lernaean hydra
SUBST:  ' = '.....
KFEAT:  ' = trap_net
KFEAT:  , = book shop
KFEAT:  f = any shop
NSUBST: | = 1:a / 2:b / 1:d / 6:$ / *:|
KITEM:  $ = gold q:81
KITEM:  a = scroll of acquirement q:3 / potion of mutation q:3 / potion of experience q:1
KITEM:  b = scroll of acquirement q:1 / potion of magic q:9 / potion of haste q:3
KITEM:  d = potion of enlightenment q:3
SUBVAULT: A : sprint2_smallroom
SUBVAULT: B : sprint2_smallroom
SUBVAULT: D : sprint2_smallroom
MAP
*BBmc
*BBmAA+'
,1*+AA
*DDm%
*DDm
c+cc
|2|c
c+mm
3|3m
c+mm
|4|c
c+cc
|||c
|f|+
|||c
cccc
ENDMAP

NAME:   sprint2_sniper_area_1
TAGS:   sprint2_sniper_area no_item_gen no_trap_gen no_monster_gen no_pool_fixup no_rotate no_hmirror no_vmirror
MARKER: + = lua:restrict_door()
NSUBST: g = 4:g / *:|
KMONS:  g = orc priest
NSUBST: b = 2:i / 1:b / *:|
NSUBST: f = 1:a / 2:b / 1:h / 9:$ / *:|
KITEM:  a = scroll of acquirement q:3 / potion of mutation q:3 / potion of experience q:1
KITEM:  $ = gold q:81
KITEM:  b = scroll of acquirement q:1 / potion of magic q:9 / potion of haste q:3
KITEM:  h = potion of enlightenment q:3
MONS:   Nessos, jelly, sixfirhy, Gastronok, orc sorcerer, dire elephant
SUBST:  . = '.........
KFEAT:  ' = trap_net
KFEAT:  q = book shop
KFEAT:  i = any shop
MAP
            q
            ....                  ffffff
           i.......               ffffff
          cmcmcmcm.               ffffff
      ||||gggggggm..              ffffff
      ccccmcmcmcmm...         6555ffffff
1bbbbl...............+2+333+4+....ffffff
ENDMAP

NAME:   sprint2_heavy_combat_area_1
TAGS:   sprint2_heavy_combat_area no_item_gen no_trap_gen no_pool_fixup
MARKER: + = lua:restrict_door()
NSUBST: . = 1:1 / 1:2 / 1:3 / 1:4 / 3:$ / *:.
MONS:   hellephant, Sonja, draconian shifter, glowing orange brain
KITEM:  $ = gold q:243
COLOUR: X = red
COLOUR: + = red
COLOUR: . = red
MAP
XX+XX
X...X
X.Y.X
X...X
X...X
X...X
X...X
X.Y.X
X...X
XX+XX
ENDMAP

NAME:   sprint2_mutation_trap_area_1
TAGS:   sprint2_mutation_trap_area no_item_gen no_trap_gen no_pool_fixup no_rotate no_hmirror no_vmirror
MARKER: + = lua:restrict_door()
MONS:   glass eye, shining eye
NSUBST: | = 1:a / *:|
KITEM:  a = potion of mutation q:27
MAP
122..221
1++++++1
2+l..l+2
2+l..l+2
1+l..l+1
1+l..l+1
2+l..l+2
2+l..l+2
1+l..l+1
|Xl..lX|
|Xl..lX|
XXl..lXX
ENDMAP

NAME:   sprint2_forest_area_1
TAGS:   sprint2_forest_area no_item_gen no_trap_gen no_pool_fixup
MARKER: + = lua:restrict_door()
{{
lua_marker("A", portal_desc { spawn_spot = 1 })

local mons_gen_marker = TriggerableFunction:new {
    data = {
        awoke = 0
    },
    func = "sprint2_forest_area_1_mons_gen",
    repeated = true,
    props = {listen_to_replicas = true, only_at_replica = true }
    }
mons_gen_marker:add_triggerer(DgnTriggerer:new {
    type = "player_move" })
lua_marker("e", mons_gen_marker) }}
SUBST:  A = .
SUBST:  e = .
KITEM:  Z = Orb of Zot
NSUBST: a = 3:1 / 3:2 / 27:$ / *:'
SUBST:  ' = '............
KFEAT:  ' = trap_net
KITEM:  $ = gold q:27
MONS:   quicksilver dragon / alderking w:2, sin beast, ballistomycete spore
COLOUR: X = magenta
COLOUR: + = magenta
COLOUR: o = magenta
MAP
XXXXXXXXXXXXXXXXXXXXXXXXX
+.3.+aattaaaaattaaaaattaX
X.3.XattaataaattaaatattaX
XAXXXattaattaattaattaataX
X...XattaattaataaattaaaaX
XXXeXataaattaaaaaattaaaaX
XZ..XaaaaaXXXXXXXXXX++XXX
XoooXXXXXXX
ENDMAP

NAME:     sprint2_light_combat_area_1
TAGS:     sprint2_light_combat_area no_item_gen no_trap_gen no_pool_fixup no_rotate no_hmirror no_vmirror
MARKER:   + = lua:restrict_door()
NSUBST:   1 = 1:1 / *:e
NSUBST:   f = 1:f / 1:3 / *:4
KITEM:    a = scroll of acquirement q:3 / potion of mutation q:3 / potion of experience q:1
KFEAT:    e = any shop
KITEM:    f = potion of enlightenment q:3
SHUFFLE:  12
MONS:     golden dragon, storm dragon, shadow imp, iron imp
SUBVAULT: A : sprint2_smallroom
SUBVAULT: B : sprint2_smallroom
SUBVAULT: C : sprint2_smallroom
SUBVAULT: D : sprint2_smallroom
SUBVAULT: E : sprint2_smallroom
MAP
cccccccccccccccccccccc
cEEDDCC+BBc1111e+.+a2c
cEEDDCCcBBccccccc.cccc
c+cccccc+ccff
ceeeeeecAA+f
ceeeeeecAAc
ccccccccc.
ENDMAP

NAME:   sprint2_behind_water_1
TAGS:   sprint2_behind_water no_item_gen no_trap_gen no_pool_fixup no_rotate no_hmirror no_vmirror
MARKER: + = lua:restrict_door()
MONS:   deep troll, sphinx marauder
KITEM:  . = gold q:27
MAP
 ..c..
c.1c.2
+..+..
c.1c.2
 ..c..
ENDMAP

NAME:   sprint2_near_end_vault_1
TAGS:   sprint2_near_end_vault no_item_gen no_trap_gen no_pool_fixup no_rotate no_hmirror no_vmirror
SHUFFLE: 123
MONS:   deep elf blademaster, eye of devastation, harpy
MARKER: d = lua:fog_machine { \
             pow_min = 3, pow_max = 6, delay = 3, \
             size = 2, walk_dist = 8, spread_rate= -1, \
             cloud_type= "thin mist" }
SUBST:  d = .
SUBST:  . = %
MAP
........
.1d2.3.
......
ENDMAP
