##############################################################################
# hells.des: vestibule entries, vestibule,
#            hell vaults, hell end levels
##############################################################################

{{
function dis_setup(e)
   e.place("Dis:7")
   e.tags("dis", "no_rotate")
   e.lflags("no_tele_control")
-- turn granite statues into iron statues
-- you still have to colour the statues, if desired
   e.set_feature_name("granite_statue", "iron statue")
end

function dis_rune(e)
   e.kmask('O = no_item_gen')
   e.kitem('O = iron rune of Zot')
end

function geh_setup(e)
   e.place("Geh:7")
   e.lflags("no_tele_control")
   e.kmask('O = no_item_gen')
   e.kitem('O = obsidian rune of Zot')
   e.lrockcol("brown")
   e.lfloorcol("lightgrey")
   e.lfloortile("floor_pebble_darkgray")
   e.colour("v = red")
   e.set_feature_name("floor", "Ashen ground")
   e.set_feature_name("metal_wall", "tempered metal wall")
end

function coc_setup(e)
   e.place("Coc:7")
   e.tags("no_rotate")
   e.lflags("no_tele_control")
   e.kmask('O = no_item_gen')
   e.kitem('O = icy rune of Zot')
   e.lrockcol("lightcyan")
   e.lfloorcol("white")
   e.lfloortile("floor_ice")
   e.colour("c = lightblue")
   e.set_feature_name("rock_wall", "ice-covered rock wall")
   e.set_feature_name("stone_wall", "ice-covered stone wall")
   e.set_feature_name("floor", "Frost-covered floor")
end

function tar_setup(e)
   e.place("Tar:7")
   e.tags("no_rotate")
   e.lflags("no_tele_control")
   e.kmask('O = no_item_gen')
   e.kitem('O = bone rune of Zot')
end

-- the Serpent should appear in exactly one hell end
-- XXX: are things like shafts going to break this?
function hell_branches_remaining()
   local hell_branches = { "Geh", "Coc", "Dis", "Tar" }
   local ret = #hell_branches
   for _, branch in pairs(hell_branches) do
      if travel.find_deepest_explored(branch) == 7 then
         ret = ret - 1
      end
   end
   return ret
end

function serpent_of_hell_setup(e)
   if not you.uniques("the Serpent of Hell") and
      crawl.one_chance_in(hell_branches_remaining()) then
      e.kmons('D = the Serpent of Hell')
   end
end

function callback.grunt_iron_hall_animate(data,triggerable,trigger,marker,ev)
    if not dgn.persist.grunt_iron_hall_animated then
        dgn.persist.grunt_iron_hall_animated = true
        for slave in iter.slave_iterator("trap_statue", 1) do
        if crawl.one_chance_in(4) then
            dgn.terrain_changed(slave.x, slave.y, "floor", false, false, false)
            dgn.create_monster(slave.x, slave.y,
                               "patrolling iron golem generate_awake")
        end
    end
    crawl.mpr("You hear the creaking of ancient metal!", "warning")
    end
end

function callback.grunt_gauntlet_trap_activate(data,triggerable,trigger,marker,ev)
    if not dgn.persist.grunt_gauntlet_trap_triggered then
    for slave in iter.slave_iterator("trap_wall2", 1) do
        local you_x, you_y = you.pos()
        if (dgn.mons_at(slave.x, slave.y) ~= nil or (slave.x == you_x and slave.y == you_y)) then
            return
        end
    end
        dgn.persist.grunt_gauntlet_trap_triggered = true
    for slave in iter.slave_iterator("trap_wall", 1) do
        dgn.terrain_changed(slave.x, slave.y, "floor", false, false, false)
        dgn.place_cloud(slave.x, slave.y, "foul pestilence", crawl.random2(5) + 5)
    end
    for slave in iter.slave_iterator("trap_wall2", 1) do
        dgn.terrain_changed(slave.x, slave.y, "stone_wall", false, false, false)
        dgn.colour_at(slave.x, slave.y, "lightmagenta")
    end
    crawl.mpr("You hear an unearthly scream, and the grinding of stone!",
             "warning")
    crawl.mpr("The path is suddenly blocked!", "warning")
    end
end

}}


##############################################################################
# Vestibule entries
##############################################################################

# This replaces the hardcoded placement of a hell entrance on D:21-27.
NAME:   hell_entry
TAGS:   extra allow_dup luniq can_overwrite replace_portal
DEPTH:  D:21-27
CHANCE: 100%
KFEAT:  O = enter_hell
MAP
O
ENDMAP

default-depth: D:12-26

##############################################################################
# Hellmouth (Lemuel)
# note that other than the imps, the demons here cannot fly
NAME:   hellmouth_1
TAGS:   no_rotate
MONS:   crimson imp / quasit / shadow imp, hellion / rotting devil / iron devil /\
        red devil / hell hound
ITEM:   good_item demon blade / good_item demon whip /\
        good_item demon trident / wand of draining
ITEM:   wand of fire / ring of fire / Necronomicon / grand grimoire /\
        scroll of torment
KFEAT:  A = enter_hell
ORIENT: float
SUBST:  d=de, ?:?.l, ?=l.

MAP
xxxxxxxxxxxxxxxxxxx
xxxxxxxxlllxxxxxxxx
xxxxxxlllAlllxxxxxx
xxxlllll.d.llll?xxx
xlllllll121lllll?.x
x?lllllll1llll?...x
x.??llllllll?.....x
x...?llllll?......x
x....?lllll.......x
xxx...?lll?.....xxx
xxxx...lll?....xxxx
xxxxx.?ll?....xxxxx
xxxxx?lll.....xxxxx
xxxxxxlll?...xxxxxx
xxxxxxxlll...xxxxxx
xxxxxxxxll?.xxxxxxx
xxxxxxxxll?.xxxxxxx
xxxxxxxxl?@xxxxxxxx
ENDMAP

##############################################################################
# Hellmouth 2 (Lemuel)
# note that other than the imps, the demons here cannot fly
NAME:   hellmouth_2
TAGS:   no_monster_gen no_rotate
ORIENT: float
MONS:   crimson imp / quasit / shadow imp / iron imp / lemure
MONS:   hellion / rotting devil / iron devil / red devil / hell hound
ITEM:   good_item demon blade / good_item demon whip /\
        good_item demon trident / wand of draining
ITEM:   wand of fire / ring of fire / Necronomicon / grand grimoire /\
        scroll of torment
ITEM:   good_item demon blade / good_item demon whip /\
        good_item demon trident / w:30 nothing
KFEAT:  A = enter_hell
SUBST:  d=de, ?:?.l, ?=l.
SUBST:  b : b:30 c v .
MAP
..........................
.......bbbbbbbbbbbb.......
....bbbb..........bbbb....
..bbb....llllllll....bbb..
.bb....llllllllllll....bb.
.b....llllllllllllll....b.
.b....llllll??llllll....b.
.b...?lll??.....?lll?...b.
.b...?ll?...111...ll?...b.
@+...?l?...11211d..l?...b.
@+...?l?...12A21|f.l?...b.
.b...?ll...11211d.ll?...b.
.b...?lll?..111..lll?...b.
.b....llll?.....llll....b.
.b....llllll??llllll....b.
.bb....llllllllllll....bb.
..bbb....llllllll....bbb..
....bbbb..........bbbb....
.......bbbbbbbbbbbb.......
..........................
ENDMAP

##############################################################################
# Hellmouth 3 (Lemuel)
NAME:   hellmouth_3
MONS:   weight:50 crimson imp / quasit / shadow imp / iron imp / lemure, hell hound
ITEM:   good_item demon blade / good_item demon whip /\
        good_item demon trident / nothing
ORIENT: float
KFEAT:  A = enter_hell
SUBST:  ? : . l ?:40, ?=l.
MAP
              ..??..      ....
   .....     .......     ..??.
  ..??...   ....l?..    ......
 ..?ll?........?l?..   .......
..?lll?.........l.... .....
...?l........??l?.........
 ..........??lll?.........
 ........?lllllll?........
  .....?llllllllll??.....
  ....?lll111111llll?....
   ...?llll12Ad1lll.......
   ....?lll11111ll?.......
   .....?lllll1ll?.........
 ........??llllll......?....
...........?llll?.....ll?...
..?..  .....?ll?.......ll?..
.?...   ...................
....      ........??..
ENDMAP


##############################################################################
# Hell vaults
##############################################################################

##############################################################################
# Fire storm

NAME:   gehenna_fire_generator
TAGS:   extra allow_dup
DEPTH:  Geh:*
MARKER: . = lua:fog_machine { \
            pow_max = 15, delay_min = 100, delay_max = 150, size = 1,  \
            size_buildup_amnt = 29, size_buildup_time = 1000, \
            cloud_type = "flame" \
        }
MAP
.
ENDMAP

##############################################################################
# lemuel_hellion_isle

NAME:  lemuel_hellion_isle
DEPTH: Geh:*
MONS:  hellion, brimstone fiend
SUBST: L = l.
SUBST: 1 = l:2 1
MAP
      lL
     llL
    LlLLL
   LLllLL
llLLLlllLLL
LllllllllllLL
LLLlll11lllllLL
 LLLll111llllL
  LLlll121llLL
  Lllll111lLL
  LLllll1llL
   LllllllL
   LLLlllL
    LLllL
     LlL
     LlL
ENDMAP

##############################################################################
# lemuel_mystery_crypt

NAME:   lemuel_mystery_crypt
DEPTH:  Dis:*
ORIENT: float
MONS:   mummy / mummy priest / greater mummy, lich
NSUBST: 1:1=} / *=1
NSUBST: 1:1=) / *=1
NSUBST: 1:1=] / *=1
SUBST:  = : =+
SUBST:  }=}>, )=)>, ]=]>
TILE:   F = dngn_statue_iron
# occasionally (12.5%), all downstairs are in this vault
MAP
xxxxxxxxxxxxxxxxxxxxxxx
xxFxxxx1.x1x.1xxx2..=1x
xx.xxxxx.x.x.xxxx...xxx
xx.xx1.x.x.x.x.1x...=1x
xx.xxx=x=x=x=x=xx...xxx
x...+...........+...=1x
+...+.....F.....+.F.xxx
x...+...........+...=1x
xx.xxx=x=x=x=x=xx...xxx
xx.xx1.x.x.x.x.1x...=1x
xx.xxxxx.x.x.xxxx...xxx
xxFxxxx1.x1x.1xxx2..=1x
xxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

##############################################################################
# The Dragons of Dis
# There is an 8/27 chance all three downstairs will be here.
#
NAME:    Lemuel_Dis_Dragons
DEPTH:   Dis:2-6
ORIENT:  float
TAGS:    no_rotate
MONS:    iron dragon, iron dragon
SHUFFLE: ]})
SUBST:   1=1. , }=}}> , )=))> , ]=]]>
MAP
vvvvvvv+++vvvvvvv
v1.}.1v...v1.].1v
v.1.1.v...v.1.1.v
v..1..v.2.v..1..v
v.....v...v.....v
v.....v+++v.....v
v...............v
v.......1.......v
v...............v
v.......).......v
vvvvvvvvvvvvvvvvv
ENDMAP

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

NAME: grunt_dis_stairs_iron_hall
TAGS: transparent patrolling
DEPTH: Dis:1-6
MONS: iron dragon / quicksilver dragon, reaper w:7 / tormentor w:6
MONS: iron troll
MONS: iron devil / nothing, iron imp / nothing
{{
    dgn.persist.grunt_iron_hall_animated = false
    local trap_marker = TriggerableFunction:new {
        func = "callback.grunt_iron_hall_animate",
        repeated = true}
    trap_marker:add_triggerer(DgnTriggerer:new {
        type="player_move"})
    lua_marker(':', trap_marker)
    lua_marker('1', trap_marker)
    lua_marker('2', trap_marker)
    lua_marker('d', trap_marker)
    lua_marker('e', trap_marker)
    lua_marker('f', trap_marker)
    lua_marker('}', trap_marker)
    lua_marker(']', trap_marker)
    lua_marker(')', trap_marker)
    lua_marker('G', props_marker {trap_statue=1,
                                  veto_fragmentation="veto",
                                  veto_disintegrate="veto",
                                  veto_shatter="veto"})
    set_feature_name("granite_statue", "iron statue")
}}
COLOUR: G = cyan
TILE: G = dngn_statue_iron_golem
SUBST: d = 3
SUBST: e = 4
SUBST: f = 5
MAP
...............................
.vvvvvvvvvvvvvvvvvvvvvvvvvvvvv.
.vG.+4Gvvv:}:::]:::):vvvG4+.Gv.
.v..+4.vv::::1::::1:::vv.4+..v.
.v..v..vG::::::G::::::Gv..v..v.
.v..v55vv:::G:::::G:::vv55v..v.
.v55v..vG:2::::1::::2:Gv..v55v.
.v55v55vv:::::::::::::vv55v55v.
.v44v..vGf:G:::G:::G:fGv..v44v.
.v..v44vv::::e:::e::::vv44v..v.
.v..v..vG::::::2::::::Gv..v..v.
.v..v55vv:3:G:::::G:d:vv55v..v.
.v..v..vGf:::::G:::::fGv..v..v.
.v..v55vv:f:d::e::d:f:vv55v..v.
.v..v..vvvGvGve:evGvGvvv..v..v.
.v..v++vvvvvvv+++vvvvvvv++v..v.
.v..v..vGvGvGv...vGvGvGv..v..v.
.v55v4....4...3.3...4....4v55v.
.v55v...4...4.....4...4...v55v.
.v44vGvGvGvGvv.3.vvGvGvGvGv44v.
.v++vvvvvvvvvvvvvvvvvvvvvvv++v.
.G@.G.....................G@.G.
ENDMAP

##############################################################################
# lemuel_nasty_pond
#
NAME:   lemuel_nasty_pond
DEPTH:  Tar:*
TAGS:   no_pool_fixup no_rotate
MONS:   plant, oklob plant, death ooze, rotting devil, blizzard demon / green death
SUBST:  W:w.
SUBST:  Z:w.
SUBST:  w = w .:1
SUBST:  . = .:15 1:1 w:1
SUBST:  1 = 1 2:2
COLOUR: . = none / green w:2
COLOUR: w = green / lightgreen
MAP
     ...WWWW3....
   .3..WWWWW....3...
 ....WWWwwW...3....3.
..Z.WWwwwwww3.....3...
3.ZZWwwwwwwwwww3......
.ZZZ..wwwww5wwwwww3...
..3Z..44wwwwwww33.....
.3ZZZ..44wwwwww3..3...
.ZZZZZ.44wwwww........
 ..ZZZZZ4wwww.3......
   3ZZZZwwwww....3.
     .ZZwww3.....
ENDMAP

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

NAME: grunt_tartarus_stairs_gauntlet_trap
DEPTH: Tar:1-6
TAGS: generate_awake patrolling no_trap_gen
MONS: Shadow Fiend, shadow demon / reaper, soul eater, rotting devil, shadow imp
{{
    dgn.persist.grunt_gauntlet_trap_triggered = false
    local trap_marker = TriggerableFunction:new {
        func = "callback.grunt_gauntlet_trap_activate",
        repeated = true}
    trap_marker:add_triggerer(DgnTriggerer:new {
        type="player_move"})
    lua_marker(':', trap_marker)
    lua_marker('H', trap_marker)
    lua_marker('-', trap_marker)
    lua_marker('1', trap_marker)
    lua_marker('e', trap_marker)
    lua_marker('}', trap_marker)
    lua_marker(']', trap_marker)
    lua_marker(')', trap_marker)
    lua_marker('d', props_marker {trap_wall=1})
    lua_marker('"', props_marker {trap_wall2=1})
}}
SUBST: d = c
SUBST: e = 2
COLOUR: c = lightmagenta
KPROP: "H-}]) = no_rtele_into
KPROP: "H-}]) = no_ctele_into
MARKER: H = lua:fog_machine { \
                pow_min = 10, pow_max = 10, delay = 10, \
                size = 3, walk_dist = 1, cloud_type = "gloom" }
MAP
cccccccccccccccccccccc.......
c...2...............cG.5.....
cdcccccccccccccccccdcc...5...
c--H":e:c9c8c8c0c0c0cG.4..5..
c}--":::cdcdcdcdcdcdcc3.4..5.
c]1H":::+............+......@
c)--":::cdcdcdcdcdcdcc3.4..5.
c--H":e:c9c8c8c0c0c0cG.4..5..
cdcccccccccccccccccdcc...5...
c...2...............cG.5.....
cccccccccccccccccccccc.......
ENDMAP

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

NAME:   grunt_cocytus_stairs_refrigerator
TAGS:   transparent mini_float
DEPTH:  Coc:1-6
COLOUR: c = blue
MONS:   Ice Fiend, blizzard demon, ice devil, blue devil, white imp
KMONS:  H = ice statue
KMONS:  O = ice statue name:chilling_statue name_replace name_descriptor \
            hd:15 spells:bolt_of_cold;ozocubu's_refrigeration;\
            ozocubu's_refrigeration;freezing_cloud;\
            ozocubu's_refrigeration;ozocubu's_refrigeration \
            tile:mons_chilling_statue
MAP
xwww..4......
xwwwwww..5...
xwwwwwwww..5.
xwwwwwwwww...
xcccccHwwww4.
cc.O.ccwwww..
c}..2.cWWWW4.
c]1...+.3.3..
c)..2.cWWWW4.
cc.O.ccwwww..
xcccccHwwww4.
xwwwwwwwww...
xwwwwwwww..5.
xwwwwww..5...
xwww..4......
ENDMAP

##############################################################################
# Vestibule of Hell and Geryon
##############################################################################

default-depth:

#########################################################################
# The ancient map.
#
NAME:   vestibule_of_hell
PLACE:  Hell
ORIENT: encompass
TAGS:   no_rotate no_dump
MARKER: D=feat:enter_dis
MARKER: G=feat:enter_gehenna
MARKER: C=feat:enter_cocytus
MARKER: T=feat:enter_tartarus
SUBST:  D=A, G=A, C=A, T=A
MONS:   Geryon
: if crawl.one_chance_in(4) then
MONS:   Murray
NSUBST: . = 1:2 / *:.
: end
FTILE:  +'T = floor_infernal_blank
TILE:   c = dngn_stone_dark
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx..v'''''v..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxx.....v'''''v.....xxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx........v'''''v........xxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx..........v''D''v..........xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx............v'''''v............xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx.............v'''''v.............xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx..............vvv+vvv..............xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx.....................................xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx.......................................xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx.........................................xxxxxxxxxxxxxxx
xxxxxxxxxxxxx...........................................xxxxxxxxxxxxxx
xxxxxxxxxxxx.............................................xxxxxxxxxxxxx
xxxxxxxxxxx...............................................xxxxxxxxxxxx
xxxxxxxxxx.................................................xxxxxxxxxxx
xxxxxxxxx...................................................xxxxxxxxxx
xxxxxxxx.....................................................xxxxxxxxx
xxxxxxxx.....................................................xxxxxxxxx
xxxxxxx.......................................................xxxxxxxx
xxxxxxx.......................................................xxxxxxxx
xxxxxx.........................................................xxxxxxx
xxxxxx............................{......................cccc..xxxxxxx
xxxxxx...................................................ccccccccxxxxx
xxxxx...l.l..............................................cccc'''cxxxxx
xxxxx..l.l.l.l.............................................c''''cxxxxx
xxxxx.l.l.l.l.l............................................c''''cxxxxx
xxxx.l.l.l.l.l.............................................c'''ccccxxx
xxxxl.l.l.l.l.l............................................+'''c''ccxx
xxxx.l.l.l.G.l.l.................<1<.......................+'''+'T'cxx
xxxxl.l.l.l.l.l.l.................<........................+'''c''ccxx
xxxx.l.l.l.l.l.l...........................................c'''ccccxxx
xxxxx.l.l.l.l.l.l..........................................c''''cxxxxx
xxxxx..l.l.l.l.............................................c''''cxxxxx
xxxxx.....l.l............................................cccc'''cxxxxx
xxxxxx......................[...........(................ccccccccxxxxx
xxxxxx...................................................cccc..xxxxxxx
xxxxxx.........................................................xxxxxxx
xxxxxxx.......................................................xxxxxxxx
xxxxxxx.......................................................xxxxxxxx
xxxxxxxx.....................................................xxxxxxxxx
xxxxxxxx.....................................................xxxxxxxxx
xxxxxxxxx...................................................xxxxxxxxxx
xxxxxxxxxx....................wwwww........................xxxxxxxxxxx
xxxxxxxxxxx..................wwwwwwww.....................xxxxxxxxxxxx
xxxxxxxxxxxx..............wwwwwwwwwwwww..................xxxxxxxxxxxxx
xxxxxxxxxxxxx...........w..wwww..wwwww..w...............xxxxxxxxxxxxxx
xxxxxxxxxxxxxx..........w...ww.....ww..wwwww...........xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx.........ww......ww....wwwwwwwww.......xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx.........ww....wwwww..wwwwwwwwww.....xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx.........ww....wwwww..wwwwwwwwww...xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx........wwww.........wwwwwwwwwwwwxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx......wwwwwww....wwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx...wwwwwwwwwwCwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

######################################################################
# The main vault for Vestibule w/subvaults (by Mu.)
#
NAME:     vestibule_of_hell_mu
PLACE:    Hell
ORIENT:   encompass
WEIGHT:   20
TAGS:     no_rotate no_dump
SUBVAULT: A : vestibule_dis
SUBVAULT: B : vestibule_tar
SUBVAULT: C : vestibule_coc
SUBVAULT: D : vestibule_geh
SUBVAULT: E : vestibule_geryon
SHUFFLE:  ABCD
SUBST:    ABCDE = .
: if crawl.coinflip() then
  : if crawl.coinflip() then
MONS:   Murray
NSUBST: : = 1:1 / *:.
  : else
SUBST: : = .
  : end
: else
SUBST: : = x
: end
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxxxxxxxxxxxx
xxxxxxxxxxx::AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA::xxxxxxxxxxx
xxxxxxxxxx::::AAAAAAAAAAAAAAAAAAAAAAAAAAAAA::::xxxxxxxxxx
xxxxxxxxx::::::AAAAAAAAAAAAAAAAAAAAAAAAAAA::::::xxxxxxxxx
xxxxxxxx::::::::AAAAAAAAAAAAAAAAAAAAAAAAA::::::::xxxxxxxx
xxxxxxx::::::::::AAAAAAAAAAAAAAAAAAAAAAA::::::::::xxxxxxx
xxxxxx::::::::::::AAAAAAAAAAAAAAAAAAAAA::::::::::::xxxxxx
xxxxx::::::::::::::AAAAAAAAAAAAAAAAAAA::::::::::::::xxxxx
xxxxC:::::::::::::::AAAAAAAAAAAAAAAAA:::::::::::::::Dxxxx
xxxxCC:::::::::::::::AAAAAAAAAAAAAAA:::::::::::::::DDxxxx
xxxxCCC:::::::::::::::AAAAAAAAAAAAA:::::::::::::::DDDxxxx
xxxxCCCC:::::::::::::::AAAAAAAAAAA:::::::::::::::DDDDxxxx
xxxxCCCCC:::::::::::::::AAAAAAAAA:::::::::::::::DDDDDxxxx
xxxxCCCCCC:::::::::::::::AAAAAAA:::::::::::::::DDDDDDxxxx
xxxxCCCCCCC:::::::::::::::AAAAA:::::::::::::::DDDDDDDxxxx
xxxxCCCCCCCC:::::::::::::::AAA:::::::::::::::DDDDDDDDxxxx
xxxxCCCCCCCCC::::::::::::::EEE::::::::::::::DDDDDDDDDxxxx
xxxxCCCCCCCCCC::::::::::::EEEEE::::::::::::DDDDDDDDDDxxxx
xxxxCCCCCCCCCCC::::::::::EEEEEEE::::::::::DDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCC::::::::EEEEEEEEE::::::::DDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCC::::::EEEEEEEEEEE::::::DDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCCC::::EEEEEEEEEEEEE::::DDDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCCCC::EEEEEEEEEEEEEEE::DDDDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCCCCCEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCCCCCEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCCCCCEEEEEEEEEEEEEEEEEDDDDDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCCCC::EEEEEEEEEEEEEEE::DDDDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCCC::::EEEEEEEEEEEEE::::DDDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCCC::::::EEEEEEEEEEE::::::DDDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCCC::::::::EEEEEEEEE::::::::DDDDDDDDDDDDxxxx
xxxxCCCCCCCCCCC::::::::::EEEEEEE::::::::::DDDDDDDDDDDxxxx
xxxxCCCCCCCCCC::::::::::::EEEEE::::::::::::DDDDDDDDDDxxxx
xxxxCCCCCCCCC::::::::::::::EEE::::::::::::::DDDDDDDDDxxxx
xxxxCCCCCCCC:::::::::::::::BBB:::::::::::::::DDDDDDDDxxxx
xxxxCCCCCCC:::::::::::::::BBBBB:::::::::::::::DDDDDDDxxxx
xxxxCCCCCC:::::::::::::::BBBBBBB:::::::::::::::DDDDDDxxxx
xxxxCCCCC:::::::::::::::BBBBBBBBB:::::::::::::::DDDDDxxxx
xxxxCCCC:::::::::::::::BBBBBBBBBBB:::::::::::::::DDDDxxxx
xxxxCCC:::::::::::::::BBBBBBBBBBBBB:::::::::::::::DDDxxxx
xxxxCC:::::::::::::::BBBBBBBBBBBBBBB:::::::::::::::DDxxxx
xxxxC:::::::::::::::BBBBBBBBBBBBBBBBB:::::::::::::::Dxxxx
xxxxx::::::::::::::BBBBBBBBBBBBBBBBBBB::::::::::::::xxxxx
xxxxxx::::::::::::BBBBBBBBBBBBBBBBBBBBB::::::::::::xxxxxx
xxxxxxx::::::::::BBBBBBBBBBBBBBBBBBBBBBB::::::::::xxxxxxx
xxxxxxxx::::::::BBBBBBBBBBBBBBBBBBBBBBBBB::::::::xxxxxxxx
xxxxxxxxx::::::BBBBBBBBBBBBBBBBBBBBBBBBBBB::::::xxxxxxxxx
xxxxxxxxxx::::BBBBBBBBBBBBBBBBBBBBBBBBBBBBB::::xxxxxxxxxx
xxxxxxxxxxx::BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB::xxxxxxxxxxx
xxxxxxxxxxxxBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

######################### Vestibule Tartarus
NAME: vestibule_tar_mu
TAGS: vestibule_tar
MARKER: T=feat:enter_tartarus
FTILE:  =~T3Dz+'; = floor_infernal_blank
TILE:   c = dngn_stone_dark
SUBST:  T=A
SUBST:  . = ~.........
SUBST:  ; = ~...
KMONS:  3 = shadow wraith
KMONS:  z = skeletal warrior / small zombie / nothing
KMONS:  D = shadow dragon
KMONS:  2 = reaper / soul eater
MAP
ccccccccccccccccccccccccccccccccc
 ccczz+'''''';;;;;;;''''''+zzccc
  cczzc''3''c';;T;;'c''3''czzcc
   c=ccc''''''c;;;c''''''ccc=c
    .cccc'''''''D'''''''cccc.
     ..ccc'''''''''''''ccc..
      .cccc'''cc+cc'''cccc.
       ..cccc'c'''c'cccc..
        .cccc'cz'zc'cccc.
         ..cccczzzcccc..
          .cccc'''cccc.
           ..ccc'ccc..
            .c2c'c2c.
             ..c+c..
              .c.c.
               ...
ENDMAP

######################### Vestibule Gehenna
NAME: vestibule_geh_mu
TAGS: vestibule_geh
MARKER: G=feat:enter_gehenna
SUBST:  G=A
SUBST:  L = l.
KMONS:  5 = crimson imp
KMONS:  2 = hellion
KMONS:  3 = red devil
KMONS:  2 = reaper / soul eater
FTILE:  x'5a2V+ = floor_infernal_blank
MAP
lllllllllllllllllllllllllllllllll
 Lllllllllllllllllllllllllllllll
  LllxxxxxxxxxxxxxxxxxxxxxxxllL
   Lllxx'''''''''''''''''xxllL
    Lllxx''5''''G''''5''xxllL
     Lllxx'''''''''''''xxllL
      Lllxx''V''2''V''xxllL
       Lllxx'''''''''xxllL
        Lllxx'''''''xxllL
         Lllxxx+++xxxllL
          Lllxx...xxllL
           Lll..3..llL
            Lll...llL
             Lll.llL
              ll.ll
               l.l
ENDMAP

######################### Vestibule Cocytus
NAME: vestibule_coc_mu
TAGS: vestibule_coc
MARKER: C=feat:enter_cocytus
SUBST:  C=A
SUBST:  8 = 8 .:59
KMONS:  8 = ice statue
KMONS:  3 = blue devil
KMONS:  2 = ice devil
MAP
...........wwwwwwwwwww...........
 ....33...wwwwwwwwwwwww...33....
  ....3...wwwwww8wwwwww...3....
   ......wwwww.....wwwww......
    .....wwww...C...wwww.....
     ....wwww.......wwww....
      ...www8..T.T..8www...
       ..wwww.......wwww..
        ..www..T.T..www..
         ..www.....www..
          ...ww...ww...
           .....2.....
            .........
             .......
              .....
               ...
ENDMAP

######################### Vestibule Dis
NAME: vestibule_dis_mu
TAGS: vestibule_dis
MARKER: D=feat:enter_dis
SUBST:  D=A
KMONS:  8 = iron golem
KMONS:  3 = iron devil
KMONS:  6 = metal gargoyle
FTILE:  'A+ = floor_infernal_blank
MAP
.............v.vvv.v.............
 ...vv....v...vv'vv...v....vv...
  ..6v.....vv.v'D'v.vv.....v6..
   .......v...vv'vv...v.......
    ...vv....v.v+v.v....vv...
     ..6v..3...8.8...3..v6..
      .....................
       ...vv...v.v...vv...
        ..6v.........v6..
         ...............
          ...vv...vv...
           ..6v...v6..
            .........
             .......
              .....
               ...
ENDMAP

######################### Vestibule Geryon
NAME: vestibule_geryon_mu
TAGS: vestibule_geryon
MONS: Geryon
MAP
       ...
      ..<..
     ...1...
    .........
   ...........
  .............
 ...............
........(........
.<.............<.
.......{.[.......
 ...............
  .............
   ...........
    .........
     .......
      ..<..
       ...
ENDMAP


##############################################################################
# Dispater's castle - subvaulted, with two main versions
##############################################################################
NAME:     iron_city_of_dis
TAGS:     no_rotate
WEIGHT:   20
ORIENT:   north
SUBVAULT: A : dis_castle
SUBVAULT: B : dis_divider
: dis_setup(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
vBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBv
ENDMAP

NAME:    dis_old
ORIENT:  north
TAGS:    dis_castle no_rotate no_vmirror
MONS:    patrolling Dispater, brimstone fiend, Ice Fiend, iron devil, \
         metal gargoyle, iron dragon
KMONS:   7 = hell sentinel
KMONS:   8 = quicksilver dragon
: serpent_of_hell_setup(_G)
SHUFFLE: 23
SUBST:   4 = 4446
: dis_rune(_G)
MAP
....................................................................
.....vvvvvvvvv........................................vvvvvvvvv.....
.....v3.....|v........................................v|.....2v.....
.....v.vv+vvvv.v.v.v.v.v.v.v.v.v..v.v.v.v.v.v.v.v.v.v.vvvv+vv.v.....
.....v.v.....vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv.....v.v.....
.....v|v.....+$$v$$+$$v||vvvvvvvvvvvvvvvvv$$$$v4.4.v$$v.....v|v.....
.....vvvv+vvvv$$+$$v$$+||v...............v$$$$+.4.4+$$v+vv+vvvv.....
.......vv.vvvvvvvvvvvvvvvv.v..v..v..v..v.v$$$$v4.4.v$$+||v.vv5......
......vvv................v7.............7vvvvvvvvvvvvvvvvv.vvv......
......5vv................+...............+.................vv.......
......vvv+vvvvvvvvvvvvvvvv8v..v..v..v..v8vvvvvvvvvvvvvvvvv.vvv......
.......vv..v.+$$$$$v.....v...............vvvvvvvvvvvvvvvvv.vv5......
......vvv.Dv.v$$$$$v.....v...............vv|$|$|vv|$|$|$vv.vvv......
......5vv7.v.vvvvvvv.....vvvvv.......vvvvvv$|$|$++$|$|$|vv.vv.......
......vvv..v...............v.vvvv+vvvvvvvvvvvvvvvvvvvvv+vv.vvv......
.......vvv+v..........vvvvv4.vvv...vvvvvvvvvvvvvvvvvvvv+vv.vv5......
......vvv..v.v..v..v....2vvv+vv5...5vvvvvvv.4.4.vv.4.4.4vv.vvv......
......5vv.................vv|vvv...vvvvv.++4.4.4++4.4.4.vv.vv.......
......vvv.................1vOvv5...5vvvv.vvvvvvvvvvvvvvvvv.vvv......
.......vv.................vv|vvv...vvvvv.vvvvvvvvvvvvvvvvv.vv5......
......vvv.v..v..v..v....3vvv+vv5...5vvvv...................vvv......
......5vv.............vvvvv4.vvv...vvvvvvvvvvvvvvvvvvvvvvv.vv.......
.....vvvv+vvvv.............v.vv5...5vvvvvvvvvvvvvvvvvvvvvv+vvvv.....
.....v|v.....vvvvvvvvvvvvvvvvvvv...vvvvvvvvvvvvvvvvvvvv.....v|v.....
.....v.v.....vvvvvvvvvvvvvvvvvvvv+vvvvvvvvvvvvvvvvvvvvv.....v.v.....
.....v.vv+vvvv5.............5.........5..............5vvvv+vv.v.....
.....v2.....|v........................................v|.....3v.....
.....vvvvvvvvv........................................vvvvvvvvv.....
....................................................................
....................................................................
ENDMAP

NAME:    dis_mu
ORIENT:  north
TAGS:    dis_castle no_rotate no_vmirror
KFEAT:   o = granite_statue
MONS:    patrolling Dispater, brimstone fiend, ice fiend, iron devil, \
         metal gargoyle, iron dragon
MONS:    iron troll
KMONS:   8 = iron golem
KFEAT:   8 = .
KMONS:   9 = hell sentinel
KMONS:   0 = quicksilver dragon
: serpent_of_hell_setup(_G)
SHUFFLE: 23
SUBST:   4 = 4:20 7
SUBST:   8 = 8o
COLOUR:  o : cyan
TILE:    o = dngn_statue_iron_golem
: dis_rune(_G)
# Use master/slave setup.
MARKER:  o = lua:monster_on_death { \
            death_monster="Dispater", new_monster="generate_awake iron golem", \
            message_seen="The iron statue comes to life!", \
            message_unseen="You hear a grinding sound.", \
            monster_place_feature=dgn.fnum("granite_statue"), \
            veto_fragmentation="veto", veto_disintegrate="veto", \
            veto_shatter="veto" \
         }
: set_feature_name("granite_statue", "iron statue")
MAP
....................................................................
...............................................v5v..v5v.............
...............................................vvvvvvvv.............
...........v5v5v...v5v5v...v5v5v...v5v5v.....vvv...4..vvv...........
...........vvvvv...vvvvv...vvvvv...vvvvv...vvv.+..88..+.vvv.........
...........v||3v...v2||v...v$$$v...v$$$v..vv...v...4..v...vv........
...........v|..v...v..|v...v$|$v...v$|$v.vv..vvvvvvvvvvvv..vv.......
...........v...vvvvv...vvvvv.6.vvvvv.6.vvv..vvvvvvvvvvvvvv..vv......
.........vvvv+vvW8Wvv+vvvvvv...+...+...vv..vvv.........vvvv..v......
........vv.v...........vvvvvvvvv...vvvvvv.vvvv$$$$vvv...vvvv.vv.....
......vvv..+.......44..vv|$|vvv.....vvvv..vvvv$$vvv...v.vvvv..v.....
.....vv....v...........vv$$$vv..vvv..vvv+vvvvv||vvo......vvvv+vvv...
...vvv.8W..vvvvvvvvvvvvvv$$$v...v9v...v...vvvv|vvo2......vvv...v5...
...5vv.WW..vv5vv5vv5vv5vvv=vv.........+...vvvv|vv...v.v...vv9..vv...
...vvv.WW..+................+..v...v..v...vvvvOv1.........+..o.v....
...vvv.WW..+................+..5.W.5..v...vvvv|v0.........+..o.v....
...5vv.WW..vv5vv5vv5vv5vvv=vv..v.W.v..v...vvvv|vv...v.v...vv9..vv...
...vvv.8W..vvvvvvvvvvvvvv$$$v..5.W.5..v..Dvvvv|vvo3......vvv...v5...
.....vv....v.......v...vv$$$v..v...v..vv+vvvvv||vvo......vvvv+vvv...
......vv...+.......+...vv|$|v.........vv..vvvv$$vvv...v.vvvv..v.....
.......vvv.v.......v...vvvvvv..vv+vv..vvv.vvvv$$$$vvv...vvvv.vv.....
.........vvvv+vvW8Wv$$$vvvvvv.0v...v0.vvv..vvv.........vvvv..v......
...........v...vvvvv$$$vvvvvvvvv...vvvvvvv..vvvvvvvvvvvvvv..vv......
...........v$2$v...v$3$v...vvvvv...vvvvv.vv..vvvvvvvvvvvv..vv.......
...........v|||v...v|||v...vvvvv...vvvvv..vv...v...4..v...vv........
...........vvvvv...vvvvv...vvv8v+++v8vvv...vvv.+..88..+.vvv.........
...........v5v5v...v5v5v...v.v.v...v.v.v.....vvv...4..vvv...........
............................7.........7........vvvvvvvv.............
...........................7...........7.......v5v..v5v.............
............................7.........7.............................
ENDMAP

NAME:    dis_wall_1
ORIENT:  north
TAGS:    dis_divider no_vmirror no_rotate
MONS:    hell sentinel, iron dragon
MAP
....................................................................
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv++++vv++++vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv..........vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv..........vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv...1..1...vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv..........vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv..........vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv..........vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv++++vv++++vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvv..............2...2..2................2..2...2..............vvvv
ENDMAP

NAME:    dis_wall_2
ORIENT:  north
TAGS:    dis_divider no_vmirror no_rotate
MONS:    hell sentinel, iron dragon
MAP
....................................................................
vvvvvvvvvvvv++vvvvvvvvvvvvvvvvvvvnnvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvv
vvvvvvvvvvv....vvvvvvvvvvvvvv..........vvvvvvvvvvvvvv....vvvvvvvvvvv
vvvvvvvvvvv....vvvvvvvvvvvvvv..........vvvvvvvvvvvvvv....vvvvvvvvvvv
vvvvvvvvvvv.1..+............+...1..1...+............+..1.vvvvvvvvvvv
vvvvvvvvvvv....vvvvvvvvvvvvvv..........vvvvvvvvvvvvvv....vvvvvvvvvvv
vvvvvvvvvvv2...vvvvvvvvvvvvvv..........vvvvvvvvvvvvvv...2vvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv..........vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv++++vv++++vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvv.......2......2......2................2......2......2.......vvvv
ENDMAP

NAME:    dis_wall_3
ORIENT:  north
TAGS:    dis_divider no_vmirror no_rotate
MONS:    hell sentinel, iron dragon
MAP
....................................................................
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv..vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvv........vvvvvvvvvvvvvvvvvvvv10vvvvvvvvvvvvvvvvvvvvvv........vvvv
vvvv.v.21.v..............................................v.12.v.vvvv
vvvv.v....v..............................................v....v.vvvv
vvvv........vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv........vvvv
vvvvvvv++vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvv
vvvvvvv++vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvv
vvvv.2....2..............................................2....2.vvvv
ENDMAP

NAME:    dis_wall_4
ORIENT:  north
TAGS:    dis_divider no_vmirror no_rotate
KMONS:   1 = hell sentinel
KMONS:   2 = iron dragon
KFEAT:   2 = deep_water
KMASK:   w = no_monster_gen
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++++vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvv1..............1vvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvwwwwwwwwwwwwwwwwwwwwww..wwwwwwwwwwww..wwwwwwwwwwwwwwwwwwwwwwvvvv
vvvvwwwwwwwwwwwwww2wwwwwww..wwwwwwwwwwww..wwwwwww2wwwwwwwwwwwwwwvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvv..vvvvvvvvvvvv..vvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvv++vvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvv....................................................vvvvvvvv
vvvvvvvv++vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvv
vvvvwwww..wwwww2wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww2wwwww..wwwwvvvv
vvvvwwww..wwwww2wwwwwwwwwwwwwwwww22wwwwwwwwwwwwwwwww2wwwww..wwwwvvvv
ENDMAP

NAME:    dis_wall_5
ORIENT:  north
TAGS:    dis_divider no_vmirror no_rotate
KMONS:   1 = hell sentinel
KMONS:   2 = iron dragon
KFEAT:   2 = deep_water
KMASK:   w = no_monster_gen
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++++vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv....vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwww..wwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvv
vvvvwwww2www2wwwwwwwwwwwwwwwwwwww..wwwwwwwwwwwwwwwwwww2wwww2wwwwvvvv
vvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwww..wwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvv
vvvvwwww....................................................ww2wvvvv
vvvvww2w.........................11.........................wwwwvvvv
vvvvwwww..vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv..wwwwvvvv
vvvvwwww..vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv..wwwwvvvv
vvvvwwww..vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv..wwwwvvvv
ENDMAP

NAME:    dis_wall_6
ORIENT:  north
TAGS:    dis_divider no_vmirror no_rotate
KMONS:   1 = hell sentinel
KMONS:   2 = iron dragon
MAP
....................................................................
vvvvvvvvvvv+++vvvvvvvvvvvvvvvvvv++++vvvvvvvvvvvvvvvvvv+++vvvvvvvvvvv
vvvvvvvvvvv...vvvvvvvvvvvvvvvvvv....vvvvvvvvvvvvvvvvvv...vvvvvvvvvvv
vvvvvvvvvv.....vvvvvvvvvvvvvvvv......vvvvvvvvvvvvvvvv.....vvvvvvvvvv
vvvvvvvvvvv.1.vvvvvvvvvvvvvvvvvv..1.vvvvvvvvvvvvvvvvvv.1.vvvvvvvvvvv
vvvvvvvvvvv...vvvvvvvvvvvvvvvvvv....vvvvvvvvvvvvvvvvvv...vvvvvvvvvvv
vvvvvvvvvv2...2vvvvvvvvvvvvvvvv2....2vvvvvvvvvvvvvvvv2...2vvvvvvvvvv
vvvvvvvvvvv...vvvvvvvvvvvvvvvvvv....vvvvvvvvvvvvvvvvvv...vvvvvvvvvvv
vvvvvvvvvvv+++vvvvvvvvvvvvvvvvvv++++vvvvvvvvvvvvvvvvvv+++vvvvvvvvvvv
vvvv............................................................vvvv
ENDMAP

NAME:    dis_wall_7
ORIENT:  north
TAGS:    dis_divider no_vmirror no_rotate
KMONS:   1 = hell sentinel
KMONS:   2 = iron dragon
MAP
vvvvvvvvvvvvvvvv++vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvv....vvvvvvvvvvvvvvvvvvvvvvvvvvvvvv....vvvvvvvvvvvvvvv
vvvvvvvvvvvvvv...2..vvvvvvvvvv........vvvvvvvvvv..2...vvvvvvvvvvvvvv
vvvvvvvvvvvvvv..2...vvvvvvvvv..1....1..vvvvvvvvv...2..vvvvvvvvvvvvvv
vvvvvvvvvvvvvv......vvvvvvvv............vvvvvvvv......vvvvvvvvvvvvvv
vvvvvvvvvvvvvvv.....+......+............+......+.....vvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvv............vvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvv.2........2.vvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvv............vvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvv............................................................vvvv
ENDMAP

NAME:    dis_wall_8
ORIENT:  north
TAGS:    dis_divider no_vmirror no_rotate
KMONS:   1 = hell sentinel
KMONS:   2 = iron dragon
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv..vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvv2..vvvv....vvvv..2vvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvv2vvv.v........v.vvv2vvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvv.vvv.....11.....vvv.vvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvv.vvv.v........v.vvv.vvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvv...vvvv2..2vvvv...vvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvv.vvvvvvvvvvvvvv.vvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvv+vvvvvvvvvvvvvv+vvvvvvvvvvvvvvvvvvvvvvvvvv
vvvv............................................................vvvv
ENDMAP

##############################################################################
# City of Dis by st
##############################################################################
NAME:    dis_st
ORIENT:  encompass
MONS:    patrolling Dispater, brimstone fiend, ice fiend, hell sentinel
MONS:    iron troll, iron dragon, cacodemon
SUBST:   5=5.,6=6.,7=7.,8=4467...,0=09988...
SHUFFLE: 67
NSUBST:  A = 1:+ / *:v, B = 1:+ / *:v
NSUBST:  S = 1:( / 1:[ / 1:{ / *:.
# four hell sentinels in Dispater's building
NSUBST:  _ = 4:4 / *:.
COLOUR:  G = cyan
TILE:    G = dngn_statue_iron
: serpent_of_hell_setup(_G)
: dis_setup(_G)
: dis_rune(_G)
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v...........................v.....v........v.0...v.............v.....v
v....8..vvvvvvvvvvvvv..8....B..0..v.7.vvvvvv.....v....G....G...v..0..v
v.......v___________v.......v.....+...v....v..0..v.6..G....G...+.....v
v....vvvv___________vvvv....v..0..v...+.0..A.....+.............vvvvvvv
v....v__+__vvvvvvv__+__v....vvvvvvv...v....vvvvvvv..............v....v
v....v__v__v$$$$$v__v__v....v.........vvvvvv....v.....G.6..G....+....v
v....v__v__v$|||$v__v__v....vvvvvv..7..v0..A..0.v.....G....G....v.0..v
v....v__v__v$|O|$v__v__v....v....v.....v...v....v..6..........vvvvvvvv
v..8.v__v__v$|||$v__v__v.8..B..0.v.....v+vvvv+vvv.............v......v
v....v__v__v$$$$$v__v__v....v....+.7.......v..........G....G..v......v
v....v__v__vvv+vvv__v__v....v.0..v...vvvvvvv..........G....G..v..0...v
v....v__v____3_2____v__v....vvvvvv...v.....vvv+v..6......6....v......v
v..8.v__v___________v__v.8..v......7.v..0..v...v..............v+vvvvvv
v....v__vvvv__1__vvvv__v....vv+vvv...+.....A0..v......G....G......+..v
v....v_____v_____v_____v....v....v...v..0..vvvvvvv....G....G......v0.v
v....v_____vvvvvvv_____v....B..0.v...v.....v.....v.......6....6.v+vvvv
v....vvvv___________vvvv....v....v.7.vvvvvvv.....v..............v....v
v.......v___________v.......vvvvvv.........v..0..v....G....G....v.0..v
v....8..vvv_______vvv..8....vvvvvvvv...vv+vv.....v.6..G....G....v....v
v.......v___________v.......v......v...v...A0....v............vvvvvvvv
v..8....v++vvvvvvv++v....8..B..0...+.7.v...v.....v.......6....v......v
v.............D.............v......v...v.0.vvvv+vv....G....G..v......v
v...........................vvvvvvvv...v...v..........G....G..+...0..v
vvvBvvvvvvvBvvvvvvvvBvvvvBvvv....v.....vvvvvvv+vv..6..........v......v
v.....v.v....v..v......v..v.v....v...vvvvvvv....v.............vvvvvvvv
v...0.v.v.0..v..v.0....v..+.v.0..+.7.v.....v0...v.....G....G.....v...v
v.....v.v....v..v...0..vvvv.v....v...v.0...v....v.....G.6..G.....+.0.v
v.0...+.vvv+vv..v......v....vvvvvv...v..0..A..0.v...............vvvvvv
v.....v.........vvvv+vvv.............+.....v....v...............v....v
vvvvvvv..............................v.....vvvvvv..6..G....G....v.0..v
v........7....7....7....7....7....7..vvvvvvv00v.......G....G....v....v
v...7..................................v...v..+.................v+vvvv
v......................................+...A..v......................v
v.vv..vv..vv..vv..vv..vv..vv..vv..vv..vv...v..vv..vv..v....v..vv..vv.v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvv
v.vv..vv..vv..vv..vv..vv..vv..vv..vv..vv..vv..vv..vv..v....v..vv..vv.v
v....................................................................v
v..........vvvvv........vvvvvv.........vvvvv.........................v
v...vvvvv..v...v........v...Sv.vvvvvvv.vS..v.vvvvvvvv.......vvvvvv...v
v...v...v..v.S.vvv+vv..5v....v.v.....v.v...v.v.S....v..5WW..v....v...v
v...v.S.+.5v...v....v...v....v.v.....+.vv+vv.v......v...WW..+....v...v
v...v...v..v...v....v...vv+vvv.v.S...v.5....5vvvv+vvv5..WW..v....v...v
v...vvvvv5.vv+vv.S..v.5......5.vvvvvvv+v..5...5....5....WW5.v..S.v...v
v..........5...v....v5vvvv....5..5v....v5.vvvvv..vvvvvv.WW.vvvvvvvv..v
v.....vvvvv....v....v.+..vv+vvv...v.S..v..v...v5.v.S..v.WW5v.S.vS.v..v
v.....v...v..5.vvvvvv.v..v....v.5.v....v..v...+..v....v.WW.+...v..v..v
v.....v...+...5.....5.v.Sv...Sv...vvvvvv..v...v..v....+.WW.v...v..+..v
v.....vS..v...........v..vvvvvv...........vvvvv..v....v.5..v...v..v..v
v.....vvvvv...........vvvv.......................vvvvvv....vvvvvvvv..v
v....................................................................v
v.vv..vv..vv..vv..vv..vv..vv..vv..vv..vv...v..vv..vv..v....v..vv..vv.v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv++vvvvvvvvvvvv
v.vv..vv..vv..vv..v...vv..vv..v......v....v...v.v.....v....v..vv..vv.v
v.................v.0.v.......v....0.v....v.0.v.v..0..v..............v
v.................v...v.......v.0....vv+vvv...v.v.0...v........vvvvvvv
v..vvvvvvvvvvv....vv+vv.......v......v....vv+vv.v.....v...8....v.....v
v..v%||%v....v................v......v.8........vvv+vvv........v...0.v
v..v%||%v3...v.v..8...........vvv+vvvv......................8..+..0..v
v..v%||%.....+...........................vvvvvv..8......8......v.....v
v..v%||%.....+......vv+vvvv..8.........8.v....v................vvvvvvv
v..v%||%v2...v.v..8.v.....v..8...WWW.....v....+..8.vvvv+vv.......v...v
v..v%||%v....v......v.....v.....WWWWW.v+vv.0..v....v.....v.......+...v
v..vvvvvvvvvvv..vvv+v..0..vv+vv.WWWWW.v..v....vv+vvv.0...v.vvvvvvv.0.v
v...............v...v..0..v...v.WWWWW.v.0v.0..v....v.....v.+.....v...v
v...............v.0.v.....v...v..WWW..v..v....v.0..v..0..v.v..0..v.0.v
v.vv..vv..vv..vvv...v.....v...v.......v..v....v....v.....v.v.....v...v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

##############################################################################
# Asmodeus (Gehenna) - the original
##############################################################################

NAME:   geh_old
ORIENT: encompass
TAGS:   no_rotate
MONS:   patrolling Asmodeus, brimstone fiend, Balrug, molten gargoyle
MONS:   nothing, random, random
: serpent_of_hell_setup(_G)
: geh_setup(_G)
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxx....xxxxxxxxxxxxxxx.xxxxxxx
xxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxx..xxxxxx
xxxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxx....xxxxx
xxxxxxxxxxxxxxxx...xxx................................xxxxxx....xxxxxx
xxxxxxx.x.xxxxx.........................................xxx....xxxxxxx
xxxxxxx....xx.....................4......................xx...xxxxxxxx
xxxxxx......x......................llllllllllllll.........x..xxxxxxxxx
xxxxxx..xx..................lllllllllllllllllllllllll........xxxxxxxxx
xxxxx...xxx....0..........llllllllllllllllllllllllll........xx...xxxxx
xxxx....xxx.............llllllllllllllllllllllllllll..............xxxx
xxxxx....xx...........lllllllllllllllllllllllllllll...............xxxx
xxxxxxx..............llllllllllllllllllllllllllllll...2..xx...0...xxxx
xxxxxxxx...........lllllllllllllllllll.......llllll......xx......xxxxx
xxxxxxxxx.......llllllllllllllllll............llllll.............xxxxx
xxxxxxxxxx......lllllllll..........4.........4.lllllll..........xxxxxx
xxxxx...xx...ll3lllll......4...................llllllll......x.xxxxxxx
xxxx.......lllll.l................................llll.......xxxxxxxxx
xxxxx..4..llllll...cccccccc+c+c+c+c+c+c+c+c+c+c....lll......xxxxxxxxxx
xxxxxx..lllllll..4.c.....c....................c....llll.....xxxxxxxxxx
xxxxx...llllll.....c.V.V.+....0.....3.....0...c.....llll....x..xxxxxxx
xxxx...llllll...l..c.....c....................c....lllll........xxxxxx
xxxxx...lllll..ll..c..D..cccccccccccccccccccccc.4..llllll........xxxxx
xxxx...lllll..llll.c.....c...............c....c....lllllll.......xxxxx
xxxx...lllll..llll.c.V.V.c.......0.......c....c....lllllll.......xxxxx
xxxxx...lllll..lll.c.....+...............+....c...lllllll........xxxxx
xxxxxx..lllll...ll.cccccccccc....0.......c....c...llllllll........xxxx
xxxxx...lllll..4...c|$$||$$|c............c.0..c...llllllll........xxxx
xxxx...lllll.......c$$$$$$$$cccccccccccccc....c...lllllll.........xxxx
xxxx...lllll.......c$$|2|$$|c..0.........+....c...lllllll........xxxxx
xxxxx.lllllll......c|$$$$$$$c........9...c....c....llllllll.....xxxxxx
xxxxx.lllllll......c$|$|$$|$c+ccccccccccccccccc....lllllll......xxxxxx
xxxxx..llllll......cccccccc+c.....9.......c.........llllll......x.xxxx
xxxxx..lllllll.....c$$$$$$+3c.....8...3...c.....4...llllll........xxxx
xxxxx..llllllll....c$$$$$$c.c.....9.......c..ll....llllll.........xxxx
xxxxx...llllll..4..c$$2$$$c.ccccccccccccc+c.lll...lllllll...0....xxxxx
xxxxxx..llllll.....c$$$$$$c..+............c.ll...lllllll..........xxxx
xxxxxx..llllllll...ccccccccc+cccccccccccccc.....lllllll...........xxxx
xxxxxxx..llllllll.........cc..........cc........lllllll.......x..xxxxx
xxxxxxxx.llllllllll.......ccc.........cc......lllllllll.......xxxxxxxx
xxxxx....lllllllllll...4...cc.....2.2.cc....llllllllll.4.......xxxxxxx
xxxx....4.lllllllllllll....cccccccc+cccc..lllllllllll.....xx....xxxxxx
xxxxx.....llllllllllllll...cccccccc+cccc..llllllllll......xx....xxxxxx
xxxxxx.....lllllllllllllll..cc......cc...lllllllllll...........xxxxxxx
xxxxxx.....llllllllllllll...ccO1....cc.4..lllllllll...........xxxxxxxx
xxxxxxx.....lllllllllllll...cc......cc....lllllllll.......xx.xxxxxxxxx
xxxxxxx.......llllllllllll..cccccccccc...lllllllll........xxxxxxxxxxxx
xxxx.........llllllllllllll.cccccccccc.lllllllllll.......xxxxxxxxxxxxx
xxxxx....0...llllllllllllll............lllllllll....0....xxxxxxxxxxxxx
xxxxx.......4.lllllllllllllll..4....lllllllll...........xxxxxxxxxxxxxx
xxxxxx..........llllllllllllll....lllllll....4.....x........xxxxxxxxxx
xxxxxx...xx.........lllllllllllllllll...................xx{xxxxxxxxxxx
xxxxxxxx..xx................lllllll.....................xxxxxxxxxxxxxx
xxxxxxxxxxxx.........xxx.................xxxxxx......xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxx....xxxxxxxx...xxx......xxxxxxxxxx.......xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx(xxxxxxxxxxxx[xxxxx...xxxxxxxxxxxxxx...xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP


##############################################################################
# Asmodeus (Gehenna) by Mu
##############################################################################

NAME:   geh_mu
ORIENT: encompass
TAGS:   no_rotate
MONS:   patrolling Asmodeus, brimstone fiend
MONS:   Balrug, sun demon, hellion, fire giant
KMONS:  7 = molten gargoyle
KMONS:  8 = crimson imp
# Place one Serpent in the inner circle.
: serpent_of_hell_setup(_G)
KFEAT:  D = lava
NSUBST: X = 1:D / *:l
SUBST:  4 = 344567788
SUBST:  % = $ |
SUBST:  " : """.l , " : ""; , " = .l , ; = ...l
SUBST:  ' : '''.x , ' : ''; , ' = .x , ; = ...x
: geh_setup(_G)
COLOUR: = = red
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x...."llvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvlllll"xx
x.(.."llv......=......................................=......vllll".{x
x..."lllv.vvvv.v....4....llllllllllllllllllll.........v.vvvv.vllll".'x
x..."lllv.v2|v.v.......llllllllllllllllllllllll...4...v.v|2v.vlll"..'x
x'."llllv.v+vv.v.....llllllllllllllllllllllllllll.....v.vv+v.vll"..'xx
x'."llllv.v....v...lllllllllcccccclccccccccccllllll...v....v.vll".'xxx
x'."llllv.vvvvvv..llllllllllcc..ccccccccccccclllllll..vvvvvv.vll".'xxx
x'."llllv.v......lllllllllllc....cc...c....ccllllllll......v.vll".'xxx
x'.."lllv.v.4...llllllllllllc.4..++...+.4..cccccccllll.....v.vll"..'xx
x'.."lllv.v.....llllllllllllc....cc...c....cccccccllll..4..v.vlll".'xx
x'."llllv.v....llllccccccccccc....ccccccc+cccccccclllll....v.vlll".'xx
x'."llllv.v....llllc%%%%%.cccccc..ccccccc+cccccccclllll....v.vlll"..'x
x'."llllv.v...lllllc%%%%%.c.%%%c..c..........cccccllllll...v.vllll".'x
x'.."lllv.v...lllllc%%%%%.+.%%%c..c.vvvv.....+...cllllll...v.vllll".[x
xx."llllv.v...lllllc%%%%%.c.%%%c..c.=||n..4..ccc.cllllll...v.vllll".'x
x'.."lllv.v...lllllc%%%%%.c....c..c.=||n.....ccc.cllllll...v.vllll".'x
x'.."lllv.v...lllllc......cc++cc..c.vvvv..4..+.c+cccclll...v.vlll"..'x
x'.."lllv.v...lllllcln.|||c....c..c..........+.c...$clll...v.vll"...'x
x'."llllv.v...lllllc.n.|||c....c..cccccccccccc.c..2$clll...v.vll"...'x
x'.."lllv.v...lllllcOn.|||c.2.2c..c.44....44.c.c$$$$clll...v.vll"...'x
x'.."lllv.v...lllllcccccccc....c..c..........+.c$$$$clll...v.vll"...'x
xx.."lllv.v....lllllllllccc.1..+..c..........+.ccccccll....v.vll"...'x
xx.."lllv.v....lllllllllccc....c..c..........ccclllllll....v.vll"...'x
xx.."lllv.v.....llllllllccccccccccc..........cccllllll.....v.vl"...'xx
x'.."lllv.v.....llllllllccccccccccc..........cccllllll.....v.vl".4.'xx
x'.."lllv.v......llllllllllllllllcc+cccccccccccclllll......v.vl"...'xx
x'.."lllv.v.4.....lllllllllllllllc...cllllllllllllll.......v.vll"...'x
x'4."lllv.v........lllllllllllXllc.4.cllXllllllllll........v.vll"..4'x
x'.."lllv.v..........llllllllllllc...clllllllllll......4...v.vlll"..'x
xx.."lllv.v.....4......llllllllllcc+cclllllllll............v.vlll"..'x
xx.4"lllv.v..............llllllllllllllllllll......4.......v.vllll".'x
x'.."llvv+vv..............................................vv+vvlll".'x
x'.."lvvv+vvv............................................vvv+vvvll".'x
x'.."lvv...vvvvvvvvvvvvvvvvvvvvvvv+++vvvvvvvvvvvvvvvvvvvvvv...vvll".'x
x'.."lvv.4.vvvvvvvvvvvvvvvvvvvvvvv+++vvvvvvvvvvvvvvvvvvvvvv.4.vvl"..'x
x'.."lvv.4.++............................................++.4.vvl"..'x
x'."llvv.4.vvvvvnnnvvvvvvnnnvvvvvv+++vvvvvvnnnvvvvvvnnnvvvv.4.vvll".'x
x'."llvv...vvvvvnnnvvvvvvnnnvvvvvv+++vvvvvvnnnvvvvvvnnnvvvv...vvll".'x
x'.."lvvvvvvvllllllllllllllllllll.....lllllllllllllllllllvvvvvvvll".'x
x'.."llvvvvvlllllllllllllllllllll.4.4.llllllllllllllllllllvvvvvll"..'x
x'.."llllllllllllllllllllllllllll.....llllllllllllllllllllllllll"".'xx
x'..."lllllllllllllllllllllllllll.....lllllllllllllllllllllllll"..'xxx
x'..."lllllllllllllllllllllllllll.....lllllllllllllllllllllllll".'xxxx
x'..."lllllllllllllllllllllllllll.4.4.llllllllllllllllllllllll".'xxxxx
xx'..."llllllllllllllllllllllllll.....llllllllllllllllllllll""..'xxxxx
xxx'..."""lllllllllllllllllllllll.....llllllllllllllllllll""...'xxxxxx
xxx'......""""lllllllllllllllllll.....llllllllllllllll"""".....'xxxxxx
xxx'.........."""llllllllllllllll.4.4.llllllllllll""""........'xxxxxxx
xxx'............."""lllllllllll"l.....l""lllllll""...........'xxxxxxxx
xxxx'..............."""lllll""".7.....7..""lll""............'xxxxxxxxx
xxxxx'................."""""..............."""..............'xxxxxxxxx
xxxxx'...''.............................................''.'xxxxxxxxxx
xxxxxx''..''............................................'xxxxxxxxxxxxx
xxxxxxxx''''.........'''.................''''''......'''xxxxxxxxxxxxxx
xxxxxxxxxxxxx'....'''xx'''...'''......'''xxxxxx'.......'xxxxxxxxxxxxxx
xxxxxxxxxxxxxx'.'''xxxxxxx''.'xx''...'xxxxxxxxxx'''...'xxxxxxxxxxxxxxx
xxxxxxxxxxxxxx''''xxxxxxxxxxxxxxxx'''xxxxxxxxxxxxxx'''xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

##############################################################################
# Asmodeus (Gehenna) by evilmike
##############################################################################

# 70 x 68 - can be rotated
NAME:    evilmike_geh
ORIENT:  encompass
SHUFFLE: ([{<
KMASK:   . = no_monster_gen
NSUBST:  A = 1:+ / *=+cc
SUBST:   B = ccc+
SHUFFLE: CI / ''
SHUFFLE: EF / ""
SHUFFLE: CI, EF
SUBST:   CE = +, IF : cc+
SUBST:   N : ncc
SUBST:   '" = -
SHUFFLE: O1$ / *3|
MONS:    patrolling asmodeus, brimstone fiend, brimstone fiend
MONS:    sun demon, balrug, hellion, fire giant
KMONS:   8 = sun demon / efreet / w:20 molten gargoyle
KMONS:   9 = efreet
NSUBST:  l = 10:R / 25:V / *:l
SUBST:   R = RRV
KMONS:   R = patrolling smoke demon
KMONS:   V = fire vortex
: serpent_of_hell_setup(_G)
SUBST:   4 = 444499566-
COLOUR:  c = lightred
COLOUR:  G = red
FTILE:   1234569D%$*|Ovcn+- = floor_pebble_red
TILE:    n = dngn_transparent_wall_red
SUBST:   - = .
KFEAT:   RV = lava
KFEAT:   L = endless_lava
KFEAT:   m = iron_grate
# This is needed to make it so the entire border is lava.
# There might be a better way of doing this.
: dgn.seen_replace_feat("rock_wall", "endless_lava")
: geh_setup(_G)
MAP
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllL
LllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllL
LlllvvvvvvvvvvcccccccccccccccccnnccllllllllllllllllllllllllllllllllllL
LlllvvvvvvvvvvcccccccccccccccccnncccllllllllccccccclllllllcccncccllllL
Llllvv------vvcccccc-cccccccc------cllRllcccc-----clllllllc--5--cllllL
Llllvv-$$$$-vvccccc---ccccccc--4---ccllllc--c--4--ccccncccc-%-%-cllllL
Llllvv-$%%$--v------1------c---vv---cvmmvc--+-----+-------+-%-%-nllllL
Llllvv-$O%$--+------v------+--vvvv--+....+--c-----+-------+--%--cllllL
Llllvv-$%%$--v------2------c---vv---cvmmvc--+-----cccc+cccc--%--cllllL
Llllvv-$$$$-vvccccc---ccccccc--4---ccllllc--c-----c-------c-%-%-nllllL
Llllvv------vvcccccc-cccccccc------cllRllcccc--4--c---5---c-%-%-cllllL
Llllvvvvvvvvvvcccccccccccccccccnncccllllllllc-----c---v---c--2--cllllL
Llllvvvvvvvvvvcccccccccccccccccnncclllllllllccccccc--vvv--cccncccllllL
Llllllllllllllllllllllllllllllllllllllllllllllllllc---v---cllllllllllL
Llllllllllllllllllllllllllllllllllllllllllllllllllc-------cllllllllllL
Llllllllllllllllllllllllllllllllllllllllllllllllllc-------cllllllllllL
Llllllllllllllllllllllllllllllllllllllllllllllllllcccc+ccccllllllllllL
Llllllllllllllllllllllllllllllllllllllllllllllllllllv.7.vllllllllllllL
Lllllcccnnccclllllllllllllllcccnncccllllllllllllllllv.G.vllllllllllllL
Lllllc------cllllccNcNccllllc------cllllllllllllllllm...mllllllllllllL
Lllllc------cccccc--4--cccccc------cllllllllllllllllm...mllllllllllllL
Llllln--vv--C----E-----E----C--vv--nllllllllllllllRlv.G.vlRllllllllllL
Llllln--vv--I----F-----F----I--vv--nllllllllllllllllv...vllllllllllllL
Lllllc----5-cccccccc-cccccccc-5----cllllllllcccllccccc+cccccllcccllllL
Lllllc------c.....GcAcG.....c------cllllllllcccncc----4----ccncccllllL
LllllcccCIccc.......7.......cccICcccllllllllcc%--c--v---v--c--%ccllllL
Lllllllc--c...................c--cllllllllllln%5-+--v---v--+-5%nlllllL
Lllllllc--c.........v.........c--clllllllllllc%--c---------c--%clllllL
Lllllllc--c....vv.......vv....c--cllllllllRlcccccccccc+ccccccccccllllL
Lllllllc--c....vv.......vv....c--cllllllllllcccccccccc----------cllllL
LlllllccEFc......8.....8......cFEccvvmmvmmvvc--------cccccccccc-cllllL
Llllllc---cG........{........Gc---c.........+--v--v---4-------c-cllllL
LlllllN---cc.................cc---+..G.G.G.7c--------v--v--v-4+-cllllL
Llllllc4---A7.v...<.G.(...v.7B---4c.....8...+----------------D+-nllllL
LlllllN---cc.................cc---+..G.G.G.7c--------v--v--v-4+-cllllL
Llllllc---cG........[........Gc---c.........+--v--v---4-------c-cllllL
LlllllccEFc......8.....8......cFEccvvmmvmmvvc--------cccccccccc-cllllL
Lllllllc--c....vv.......vv....c--cllllllllllcccccccccc-------+--cllllL
Lllllllc--c....vv.......vv....c--cllllllllRlcc-------c--vvv--ccccllllL
Lllllllc--c.........v.........c--clllllllllllc-4-----+-------c5clllllL
Lllllllc--c...................c--cllllllllllln--4ccccccccccccc%nlllllL
LllllcccCIccc.......7.......cccICcccllllllllcc---+--------+--%%ccllllL
Lllllc------c.....GcAcG.....c------cllllllllcccncc--------cccncccllllL
Lllllc----5-cccccccc-cccccccc-5----cllllllllcccllccccc+cccccllcccllllL
Llllln--vv--I----F-----F----I--vv--nllllllllllllllllv...vllllllllllllL
Llllln--vv--C----E-----E----C--vv--nllllllllllllllRlvG.GvlRllllllllllL
Lllllc------cccccc--4--cccccc------cllllllllllllllllm...mllllllllllllL
Lllllc------cllllccNcNccllllc------cllllllllllllllllm...mllllllllllllL
LllllcccnnccclllllllllllllllcccnncccllllllllllllllllvG.GvllllllllllllL
Llllllllllllllllllllllllllllllllllllllllllllllllllllv.7.vllllllllllllL
Lllllllllllllllllllllllllllllllllllllllllllllllllllccc+ccclllllllllllL
Llllllllllllllllllllllllllllllllllllllllllllllllllcc-----ccllllllllllL
Lllllllllllllllllllllllllllllllllllllllllllllllllcc-------cclllllllllL
Llllllllllllllllllllllllllllllllllllllllllllllllcc--ccccc--ccllllllllL
Lllvvvvvvvvvvvcccccccccccccccccnnccllllllllllllcc--ccccccc--cclllllllL
Lllvvvvvvvvvvvcccccccccccccccccnncccllllllllllcc--ccccccccc--ccllllllL
Lllvvvv----vvvcccc--2--ccccccc----cccRlllllllcc-4cc%2%-%5%cc4-cclllllL
Lllvvv-||||-vvcccc-----cccccc--4---cclllllllcc--ccc-%-%-%-ccc--ccllllL
Lllvv--|%%|--v------v------c--v--v--cvmmvmmvc--cccc%-%-%-%cccc--cllllL
Lllvv--|*%|--+-----vvv-----+--------+.......+--ccccccc+ccccccc--nllllL
Lllvv--|%%|--v------v------c--v--v--cvmmvmmvc-------------------nllllL
Lllvvv-||||-vvcccc-----cccccc--4---cclllllllc---------5---------cllllL
Lllvvvv----vvvcccc--3--ccccccc----cccRllllllcccc---ccccccc---ccccllllL
LllvvvvvvvvvvvcccccccccccccccccnnccclllllllllllccccclllllccncclllllllL
LllvvvvvvvvvvvcccccccccccccccccnnccllllllllllllllllllllllllllllllllllL
LllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllL
LllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
ENDMAP


##############################################################################
# Antaeus; bottom of Cocytus.
##############################################################################
# To do: this level has much shorter distances to travel, hence should
#        come up with harder resistance.

NAME:    coc_dpeg
ORIENT:  encompass
MONS:    patrolling Antaeus, Ice Fiend, ice dragon / nothing
: serpent_of_hell_setup(_G)
ITEM:    any, any misc, any misc, any misc
SHUFFLE: O1dD / e0%H / f9*H / g8|H
KMONS:   d = ice devil w:5 / Ice Fiend / nothing w:5
KITEM:   d = any
SUBST:   ' = w .
: coc_setup(_G)
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwww.......wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwww....wwwww....wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww''wwwwwwwwxxxx
xxxxwww...wwwwwwwwwww....wwwwwwwwwwwwwwwwwwwwwwwwwww'.......wwwwwwxxxx
xxxxwww.wwww......wwwwww..wwwwwwwwwwwwwwwwwwww'.......ccccc...wwwwxxxx
xxxxww..ww....cc......www.3wwwwwwwwwwwww..........ccccccccccc..wwwxxxx
xxxxw...ww..cccccc.....www.wwwwwwwwww'3..........cc....9.2..cc..wwxxxx
xxxxw..ww..ccccccc+c....ww.'wwwwwwwwwww''........ccf********cc..wwxxxx
xxxxw..ww..cc.%%%%.cc...ww..wwwwwwwwwwwwwwwww'....ccccccc+ccc...'wxxxx
xxxxw..ww..cc2.e0.2cc...ww..wwwwwwwwwwwwwwwwwwww'......c...c.....wxxxx
xxxxw..ww..cc.%%%%.cc..www.'wwwwwwwwwwwwwwwwwwwwwwwww'.cc+cc..H..wxxxx
xxxxw..www..c+cccccc...ww..wwwwwwwwwwwwwwwwwwwwwwwwwww..........wwxxxx
xxxxww..ww....ccccH...www.wwwwwwwwwwwwwwwwwwwwwwwwwwwww........wwwxxxx
xxxxww..www..........www..wwwwwwwwwwwwwwwwwwwwwwwwwwww'..2....w..wxxxx
xxxxwww..wwww......wwww..wwwwwwwwwwwwwwwwwwwwwwwwwww'............wxxxx
xxxxwwww..wwwwwwwwwwww..wwwwwwwwwwwwwwwwwwwwwwwwww..............wwxxxx
xxxxwwwww...'wwwwww....wwwwwwwwwwwwwwwwwwwwwwwwww............'wwwwxxxx
xxxxwwwwwwww........'wwwwwwwwwwwwwwwwwwwwwwww'3..'ww'....''wwwwwwwxxxx
xxxxwwwwwwwwwww'...3wwwwwwwwwwwwwwwwwwwwwwwwww''wwwwww''wwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwww........wwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwww............wwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwww...ccc+ccc...wwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwww...cc.....cc...wwwwwwwwwwwww'wwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwww...c.......c...wwwwwwwwwwwww3wwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwww...+.[.{.(.+...wwwwwwwwwwww...wwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwww...c.......c...wwwwwwwwwwww...wwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwww...cc.....cc...wwwwwwwwwww.....wwwwwwwwxxxx
xxxxwwwww'wwwwwwwwwwwwwwwwww...ccc+ccc...wwwwwwwwwwwww...wwwwwwwwwxxxx
xxxxwwwww3wwwwwwwwwwwwwwwwww............wwwwwwwwwwwwww...wwwwwwwwwxxxx
xxxxwwwww.wwwwwwwwww.3'wwwwwww.........wwwwwwwwwwwwwwww.wwwwwwwwwwxxxx
xxxxwwwww.wwwwwwww'.3.'wwwwwwwwwwwwwwwwwwww'wwwwwwwwwww.wwwwwwwwwwxxxx
xxxxwwwww.wwwwwwwww..'wwwwwwwwwwwwwwwwwwww'3wwwwwwwwwww.wwwwwwwwwwxxxx
xxxxwwwww..wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww..wwwwwwwww.wwwwwwwwwwxxxx
xxxxwwwww..'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww...w.wwwww..wwwwwwwwwxxxx
xxxxwwww'...wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww....www...w.wwwwwwwxxxx
xxxxwwww....'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww..ccccccc.c.wwwwwwwwxxxx
xxxxwwww.....wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww..cc$$$$$$.c..wwwwwwwxxxx
xxxxwww'.....wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww..c.$dddd$.c...wwwwwwxxxx
xxxxwww..cc..'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww'...$$$$$$cc....wwwwwxxxx
xxxxwww.cccc..'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww'.ccccccc....wwwwwwxxxx
xxxxwww.cg.cc..'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww........ww..wwwwwwwxxxx
xxxxww'.c||.cc...'wwwwwwwwwwwwwwwwwwwwwwwwwwww.D...wwwwwwwwwwwwwwwxxxx
xxxxww'.c||.8cc......'wwwwwwwwwwwwwwwwwwwwwww'...w..wwwwwwwwwwwwwwxxxx
xxxxww..c||2.2cc..H.....'wwwwwwwwwwwwwwwwww....wwww..wwwwwwwwwwwwwxxxx
xxxxww..c||....cc..............3'wwwwwwwww...wwwwwww.....wwccccwwwxxxx
xxxxww..cccc+ccccc..........wwwwwwwwwww'3...wwwwwwwwwww.2.cc2dccwwxxxx
xxxxwww..ccc...........'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.+dd1Ocwwxxxx
xxxxwwww......'wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwcc2dccwwxxxx
xxxxwwwwww'''wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwccccwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP


##############################################################################
# Original Antaeus level
##############################################################################

NAME:    coc_old
ORIENT:  encompass
SHUFFLE: $|, 2X
SUBST:   X=., 3=3.
MONS:    patrolling Antaeus, Ice Fiend, ice dragon, Ice Fiend
: serpent_of_hell_setup(_G)
KFEAT:   D = deep_water
NSUBST:  H = 1:D / *:w
: coc_setup(_G)
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxx........................xxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx..........................xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx................................xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx....cccccccccccc..cccccccccccc....xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx....ccccccccccccc2Xccccccccccccc....xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx....cc..........................cc....xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx....cc............................cc....xxxxxxxxxxxxxxx
xxxxxxxxxxxxxx....cc...wwwwwwwwwwwwwwwwwwwwwwww...cc....xxxxxxxxxxxxxx
xxxxxxxxxxxxx....cc...wwwwwwwwwwwwwwwwwwwwwwwwww...cc....xxxxxxxxxxxxx
xxxxxxxxxxxx....cc...wwwwwwwwwwwwwwwwwwwwwwwwwwww...cc....xxxxxxxxxxxx
xxxxxxxxxxx....cc...ww.......3....33....3.......ww...cc....xxxxxxxxxxx
xxxxxxxxxx....cc...ww............................ww...cc....xxxxxxxxxx
xxxxxxxxx....cc...ww....cccccccccccccccccccccc....ww...cc....xxxxxxxxx
xxxxxxxx....cc...ww....cccccccccccccccccccccccc....ww...cc....xxxxxxxx
xxxxxxx....cc...ww....cc......................cc....ww...cc....xxxxxxx
xxxxxx....cc...ww....cc...T................T...cc....ww...cc....xxxxxx
xxxxx....cc...ww....cc..........wwwwww..........cc....ww...cc....xxxxx
xxxx....cc...ww....cc.......wwwwwwwwwwwwww.......cc....ww...cc....xxxx
xxxx....cc...ww...cc.....wwwwwwwwwwwwwwwwwwww.....cc...ww...cc....xxxx
xxxx....cc..www..cc....wwwwwwwwwccccccwwwwwwwww....cc..www..cc....xxxx
xxxx....cc..www.cc....wwwwwwwwccc2O12cccwwwwwwww....cc.www..cc....xxxx
xxxx....cc..www.cc...wwwwwwwwcc4+....+4ccwwwwwwww...cc.www..cc....xxxx
xxxx....cc..www.cc...wwwwwwwwcc+cc++cc+ccwwwwwwww...cc.www..cc....xxxx
xxxx....cc..www3.c..wwwwwwwwwc|||c..c$$$cwwwwwwwww..c.3www..cc....xxxx
xxxx....cc..wwww.c.wwwwwwwwwwc|||cXXc$$$cwwwwwwwwww.c.wwww..cc....xxxx
xxxx....cc..wwww3c.wwwwwwwwwwcc||c..c$$ccwwwwwwwwww.c3wwww..cc....xxxx
xxxx....cc..wwww.c.wwwwwwwwwwwcccc++ccccwwwwwwwwwww.c.wwww..cc....xxxx
xxxx....cc..www3.c..wwwwwwwwwwwwww33wwwwwwwwwwwwww..c.3www..cc....xxxx
xxxx....cc..www.cc...wwwwwwwwwwwwwwwwwwwwwwwwwwww...cc.www..cc....xxxx
xxxx....cc..www.cc....wwwwwwwwwwwwwwwwwwwwwwwwwww...cc.www..cc....xxxx
xxxx....cc..www.cc....wwwwwwwwwwwwwwwwwwwwwwwwww....cc.www..cc....xxxx
xxxx....cc..www..cc....wwwwwwwwwwwwwwwwwwwwwwww....cc..www..cc....xxxx
xxxx....cc...ww...cc.....wwwwwwwwwwwwwwwwwwww.....cc...ww...cc....xxxx
xxxx....cc...ww....cc.......wwwwwwwwwwwwww.......cc....ww...cc....xxxx
xxxxx....cc...ww....cc..........wwwwww..........cc....ww...cc....xxxxx
xxxxxx....cc...ww....cc...T................T...cc....ww...cc....xxxxxx
xxxxxxx....cc...ww....cc......................cc....ww...cc....xxxxxxx
xxxxxxxx....cc...ww....ccccccccccc..ccccccccccc....ww...cc....xxxxxxxx
xxxxxxxxx....cc...ww....cccccccccc2Xcccccccccc....ww...cc....xxxxxxxxx
xxxxxxxxxx....cc...ww............................ww...cc....xxxxxxxxxx
xxxxxxxxxxx....cc...ww..........................ww...cc....xxxxxxxxxxx
xxxxxxxxxxxx....cc...wwwwwwwwwwwww..wwwwwwwwwwwww...cc....xxxxxxxxxxxx
xxxxxxxxxxxxx....cc...wwwwwwwwwHww..wwHwwwwwwwww...cc....xxxxxxxxxxxxx
xxxxxxxxxxxxxx....cc...wwwwwwwwwww..wwwwwwwwwww...cc....xxxxxxxxxxxxxx
xxxxxxxxxxxxxxx....cc............................cc....xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxx....cc..........................cc....xxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxx....cccccccccccccccccccccccccccc....xxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx....cccccccccccccccccccccccccc....xxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxx................................xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxx..............................xxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx............................xxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxx..........{.(.[...........xxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP


##############################################################################
# Antaeus (Cocytus) by Mu
##############################################################################

NAME:    coc_mu
ORIENT:  encompass
MONS:    patrolling Antaeus, ice fiend
MONS:    ice devil, blue devil, white imp, ice dragon, freezing wraith
KMONS:   8 = ice statue
KMONS:   9 = frost giant
SUBST:   3 = 3333344445555666779
KMONS:   E = water elemental
KFEAT:   E = w
: serpent_of_hell_setup(_G)
SUBST:   ^ : ^^^W. , ^ = W.
SUBST:   X : XXXc. , X = c.
SUBST:   " = 8:1 .:10
SUBST:   ' = .cc
SUBST:   ; : ;;;;w , ; = wc
KFEAT:   # = permarock_wall
COLOUR:  # = lightcyan
NSUBST:  - = 1:= / *:c
: coc_setup(_G)
MAP
################################################################################
################################################################################
################################################################################
################################################################################
################################################################################
################################################################################
######ccccc............wwwwwwwwwwwwwwwwxxxxxxxxxwwwwwww......3......cccccc######
######cccc..............wwwwwwwwwwwwwwwwxxxxxxxwwwwwwww.3.3......c...ccccc######
######ccc...wwwwwwwwww..wwwwwwwwwwwEwwwwwwxxxwwwwwwww....3..D.cccc....'.cc######
######ccc..wwwwww8www.2.wwwwwwwwwEw.wEwwwwwwwwwwwwww...3..3...cccccc..c..c######
######ccc..ww|$|www.......wwwwwwww...wwwwwwwwwwwwwwwww......ccccccc...cc.c######
######ccc..ww$O$....1..............8..Ewwwwwwwwwwwwwwww...ccccc"c"c.cccc.'######
######ccc..ww|$|www.......wwwwwwww...wwwwwwwwwwwwwwwwww.cccccc....c.cccc.'######
######ccc..wwwwww8www.2.wwwwwwwwwEw.wEwwwwwwwwwwwwwwwwwccccc...cc...."cc.c######
######ccc...wwwwwwwwww..wwwwwwwwwwwEwwwwwwwwwwwwwwwwwccccccc...ccccccccc.c######
######cccc..............wwwwwwwwwwwwwwwwwwwwwwwwwwwwcccccc......cccccc"...######
######ccccc............wwwwwwwwwwwwwwwwwwwwwwwwwwwwccccc..........ccccc"c.######
######cccccccccccccccccwwwwwwwwwwwwwwwwwwwwwwwwwwccccc.....333......ccccc.######
######ccccccccccccccccccwwwwwwwwwwwwwwwwwwwwwwwwcccc........333.......cc..######
######cccccccccccccccccc;wwwwwwwwwwwwwwwwwwwwwwcccc..................ccc.c######
######cccccc"c$.....ccc;cccwwwwwwwwwwwwwwwwwwccccc....................cc.c######
######ccccc$$$$........cccccccwwwwwwwwwwwwwcccccc....cccccc..........ccc..######
######ccc"$$$$...........ccccccccwwwwwwwcccccccc....cccccccc.......cccc...######
######cccc$$$$.............ccccccccccccccccccc.....cccccwwwcc....cccccc...######
######ccccc$$................ccccccccccccccc.....cccccccwwwwwwwcccccccc...######
######cccccc$...........wwwwwwwccccccccccc......ccccc.cwwcwwwwccccccccc..c######
######ccccccc.........wwwwwwwwwwww.............cccc333333cccwccccX.-....cc######
######ccccccccc.....wwwwwwwwwwwwwwww........ccccccc.2....cccc-XXX..cc...cc######
######ccccccccccccwwwwwwwwwwwwwwwwwwww.......cccccc333333ccccX....ccccX..c######
######ccccccccccwwwwww..wwwwwwwwwwwwwww........ccccc$$$$$cccX....cccccX...######
######cccccccccwwwwww..wwwwwwwwwwwwwwwww........cccc|||ccccc|.....ccc.....######
######ccccccccwwwwww..www...wwwwwwwwwwwwwww......ccccccccccc|......-......######
######ccccc..cwwww....ww....www..wwwwwwwwwwww.....ccccccccccX.2..Xcc......######
######ccccc..www..ccccww...www..wwwwwwwwwwwwwwww..cccccccccccXXXXcccc.....######
######cccc...ww..cc...ww...ww...ww..wwwwwwwwwwwwwwwcccccccccccccccccww...c######
######cccc..www.cc....www...www.ww.wwwwwwwwwwwwwwwwwwccccccccccccwwwwwwwcc######
######ccc...ww..c|..3..www..wwwwwwww^^^wwwwwwwwwwwwwwwccccccwwwccwwwwwwccc######
######ccc...ww..c|233..cwwwwwwwwwwwcc+ccccccccccccwwwwwccccwwwwwwwwwwwwccc######
######ccc..www..c|.33..c.wwwwwwwwwcc...2.$$$$$|||ccwwwwwwwwwwwwwwwwwwwcccc######
######ccc..www..cc..3.cc....wwwww.cc..33.$$$$$|||cc..wwwwwwwwwwwwwwwwccccc######
######ccc..wwww..cc$$cc....wwwwww.cc2333.$$$$$|||cc...wwwwwww^^wwwwwwccccc######
######ccc..wwww...cccc....wwwwww...ccccccccccccccc.....wwwww^..^wwwwwwcccc######
######ccc..wwwww........wwwwww......................c.wwwww^.6..^wwwwwcccc######
######ccc..wwwwwww....wwwwwww......................cccwwwww^....^wwwwwwccc######
######ccc..wwwwwwwwwwwwwwww........................cccwwwwww^..^wwwwwwwccc######
######ccc...wwwwwwwwwwwww.........333.3...........ccc.wwwwwww^^wwwwwwwwccc######
######cccc..wwwwwwwwwwww.............3............ccc.wwwwwwwwwwwwwwwww.cc######
######cccc...wwwwwwwww.........ccc....333........cccc..wwwwwwwwwwwwwwww.cc######
######cwccc....wwwww........cccccccc.....3......ccccc..wwwwwwwwwwwwwww..cc######
######cwwc;ccc...........ccccccccccccc....333..ccccccc..wwww^wwwwwwww..ccc######
######ccwwwcccccc.....cccccccccccccccccccc...ccccccccc..www^.wwwwww....ccc######
######ccwwwwwcccccccccccccccccccccccccccccc;ccccccccccc..wwwwwwwww...3cccc######
######cc.wwwwwcccccccccccccccccccccccccccccc;cccccccccccwwwwwwwwww..3ccccc######
######c...wwwwwww..ccccccccccccc...........wwXXXXXccccccXwwwwwwwww...3cccc######
######c....wwwww.....cccccccc...3.....wwwwwwwwwwwwXXccccXwwwwwwwwww....ccc######
######..{..wwww...333...............wwwwwwwwwwwwwwwwXcccXwwwwwwwwwwww..ccc######
######......www....333...........wwwwwwwwwwwwwwwwwwwwXccXwwwwwwwwwwwww..cc######
######.[....wwww.............wwwwwwwwwwwwwwwwwwwwwwwwwXXwwwwwwwwwwwwwww.cc######
######.......wwwww.......wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.^www.cc######
######..(....wwwwwwwwwwwwwwwwwwwwwwwwwwwwww....wwwwwwwwwwwwwwwwww^.wwwwccc######
######c.......wwwwwwwwwwwwwwwwwwwwwwwwww..........wwwwwwwwwwwwwwww^wwwwccc######
######cc.......wwwwwwwwwwwwwwwwwwwww........333......wwwwwwwwwww^wwwwwwccc######
######cc.........wwwwwwwwwwwwwwwww.........33.33.......wwwwwww^...wwwwcccc######
######ccccc.........wwwwwwwwwww............................wwww^^^wwwwcccc######
################################################################################
################################################################################
################################################################################
################################################################################
################################################################################
################################################################################
ENDMAP


##############################################################################
# Ereshkigal (Tartarus)
##############################################################################

NAME:    tar_old
ORIENT:  encompass
MONS:    patrolling Ereshkigal, reaper, shadow demon, shadow
MONS:    lich / ancient lich, shadow dragon / death drake w:1, shadow fiend
KMONS:   8 = ghoul
KMONS:   9 = vampire mage / vampire knight
KMONS:   0 = soul eater
KMONS:   Z = large skeleton / large zombie / small skeleton / small zombie
KFEAT:   A = secret_door
MARKER:  A = lua:restrict_door()
SUBST:   ? = ?..., ? = 2., 0 = 002
SHUFFLE: 3569
: serpent_of_hell_setup(_G)
: tar_setup(_G)
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx..............................................................xxxx
xxxx..............................................................xxxx
xxxx.................cccc..........ccc............................xxxx
xxxx.............ccccc..cccc.....ccc.cccc.........................xxxx
xxxx...........ccc.........ccccccc.....cc.........................xxxx
xxxx.........ccc........6...........V..cc.........................xxxx
xxxx........cc4........................cc...........xxxxxxxx......xxxx
xxxx........cc44xxx++xxx......D........cc..........xx......xx.....xxxx
xxxx........ccxxx......xxx.......ccc++ccc....6....xx........xx....xxxx
xxxx........cxx..........xxx.....ccc44ccc.........x..........x....xxxx
xxxx........cx............xx....cccc44cc.........xx.9......7.xx...xxxx
xxxx.......ccx.G........G.xxx7ccc..c44c..........x....||||....x...xxxx
xxxx.......cxx............xxxcc..................x....||||....x...xxxx
xxxx......ccx..............xxc...................xx.9......9.xx...xxxx
xxxx......ccx..G........G..xxc..x.........x.......x..........x....xxxx
xxxx......ccx..............xcc......??............xx........xx....xxxx
xxxx.......cxx............xxc......2222............xx......xx.....xxxx
xxxx.......ccx.G........G.xcc.......??..............xxxxxxxx......xxxx
xxxx........cx............xc......................................xxxx
xxxx........cxx....17....xxc....x.........x.......................xxxx
xxxx........ccxxx......xxxcc......................................xxxx
xxxx........ccccAxxxxxxAcccc.................................3....xxxx
xxxx........cc$$cccccccc$$cc......................................xxxx
xxxx.........cc$$$$O$$$$$cc.......................................xxxx
xxxx..........cccccccccccc......x.........x............V..........xxxx
xxxx..............................................................xxxx
xxxx...........................................cccccccccccccccc...xxxx
xxxx...........................................cccccccccccccccc...xxxx
xxxx...........................................cc$$$$$xx|||||cc...xxxx
xxxx.......3........V...........x....6....x....cc$$$$$xx|||||cc...xxxx
xxxx...........................................ccxxcccccccccccc...xxxx
xxxx...........................................ccxxcccccccccccc...xxxx
xxxx...........................................cc44744xx00000cc...xxxx
xxxx.......ccccccccc+ccccccccc.................cc44444xx88888cc...xxxx
xxxx.......c.................c..x.........x..ccccccccccccxxxxcc...xxxx
xxxx.......c.x.x.x.x.x.x.x.x.c.................ccccccccccxxxxcc...xxxx
xxxx.......c.................c......................=........cc...xxxx
xxxx.......cx5x.x.x.x.x.x.x5xc......................=........cc...xxxx
xxxx.......c.................c.................ccccccccccxxxxcc...xxxx
xxxx.......c.x.x.x.x5x.x.x.x.c..x.........x..ccccccccccccxxxxcc...xxxx
xxxx.......c.................c.................ccZZZZZxx88888cc...xxxx
xxxx.......cxxxxxxx.x.xxxxxxxc.................ccZZZZZxx00000cc...xxxx
xxxx.......c$$$$$$x....x$$$||c.................ccxxcccccccccccc...xxxx
xxxx.......c$x$$x$xx.x.x$x$x|c.................ccxxcccccccccccc...xxxx
xxxx.......c||||||+....+$$$||c..x....3....x....cc||xx444xx|||cc...xxxx
xxxx.......ccccccccccccccccccc.................cc||xx444xx|7|cc...xxxx
xxxx...........................................cccccccccccccccc...xxxx
xxxx...........................................cccccccccccccccc...xxxx
xxxx..............................................................xxxx
xxxx..............................................................xxxx
xxxx........(...........................................[.........xxxx
xxxx..............................................................xxxx
xxxx..............................................................xxxx
xxxx..............................{...............................xxxx
xxxx..............................................................xxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP


##############################################################################
# Ereshkigal (Tartarus) by Mu
##############################################################################

NAME:     tar_mu
ORIENT:   encompass
SUBVAULT: Z : eresh_room
# Ereshkigal is placed in the subvault.
MONS:     random, shadow fiend, reaper, soul eater, shadow demon
MONS:     shadow dragon, shadow wraith
KMONS:    8 = shadow imp
: serpent_of_hell_setup(_G)
# Randomising the secret doors to get into the pyramid.
# There may be secret doors that lead nowhere.
SHUFFLE:  FfGgHh
SUBST:    F = =
SUBST:    f : fff=c, f = =c
SUBST:    G : Gcc,   G = =cc
SUBST:    g : gcccc, g = =cc
SUBST:    H = c
SUBST:    h = c
# position of the loot chamber varies
SHUFFLE:  AB
SUBST:    A = %
SUBST:    B = x
NSUBST:   " = 1:= / *:x
KFEAT:    % = .
KMONS:    % = soul eater w:20 / shadow wraith w:15 / reaper w:5 / nothing w:20
KITEM:    % = | / $
SUBST:    4 = 3333444455566778
: tar_setup(_G)
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx..............................................................xxxx
xxxx..............................................................xxxx
xxxx..cccccccccccccccccccccccccccccc..............................xxxx
xxxx..cccccccccccccccccccccccccccccc..............................xxxx
xxxx..cc..c...........4...........cc..............................xxxx
xxxx..cc..F.......................cc..............................xxxx
xxxx..cc..ccGcccccccccccccccccccGFcc..............................xxxx
xxxx..cc..H.................f..c..cc..............ccccccc.........xxxx
xxxx..cc..f.........5.......h..H..cc............ccccccccccc.......xxxx
xxxx..cc..chgccccHccccccccGgc..c..cc...........ccccc$$$ccccc......xxxx
xxxx..cc..c..F.G............c..c..cc..........cccc$$$$$$$cccc.....xxxx
xxxx..cc..f..c.ccgcccccccccHc..c..cc..........ccc$$$$$$$$$ccc.....xxxx
xxxx..cc..c..c.cZZZZZZZZZZc.c..c..cc.........ccc$$$$$$$$$$$ccc....xxxx
xxxx..cc..c..c.hZZZZZZZZZZf.c..c..cc.........ccc.2.$$$$$.2.ccc....xxxx
xxxx..cc..c..c.cZZZZZZZZZZc.c..c..cc........ccc....xxxxx....ccc...xxxx
xxxx..cc..c..c.cZZZZZZZZZZc.c..h..cc........ccc..xxxxxxxxx..ccc...xxxx
xxxx..cc..c..h.cZZZZZZZZZZc.c..c..cc........cc..xxxxxxxxxxx..cc...xxxx
xxxx..cc.4c..c.cZZZZZZZZZZc.c5.c..cc........cc=cxxxxxxxxxxxc=cc...xxxx
xxxx..cc..c.5c.cZZZZZZZZZZc.c..cD2cc........cc.c...........c.cc...xxxx
xxxx..cc..c..c.cZZZZZZZZZZc.c..c..cc........cc.c.xxxxxxxxx.c.cc...xxxx
xxxx..cc..c..c.cZZZZZZZZZZc.c..c..cc........cc.c=xxxxxxxxc=c.cc...xxxx
xxxx..cc..c..G.cZZZZZZZZZZc.c..g..cc........cc.c.xx.444.xc.c.cc...xxxx
xxxx..cc..c..c.cZZZZZZZZZZc.c..c..cc........cc.c.cx.444.xc.c.cc...xxxx
xxxx..cc..c..cFccHccccGcFcc.H..f..cc........cc.c.cxxxxxxxc.c.cc...xxxx
xxxx..cc..c..G............c.c..c..cc........cc.c.cccxxxccc.c.cc...xxxx
xxxx..cc..c..cccccccccccHccfcgcc..cc........cc.c...cxxxc...c.cc...xxxx
xxxx..cc..F..c......5..........c..cc........cc.c.cccxxxccc.c.cc...xxxx
xxxx..cc..c..g.................c..cc........cc.c.cx|2.2|xc.c.cc...xxxx
xxxx..cccHcfcccHcccccccccccccfcc==cc........cc.c.cx|$$$|xc.c.cc...xxxx
xxxx..cc............4..........c..cc........cc.c.ccccxcccc.c.cc...xxxx
xxxx..cc.......................c..cc........cc.c....cxc....c.cc...xxxx
xxxx..cccccccccccccccccccccccccc++cc........cc.c.ccccxcccc.c.cc...xxxx
xxxx..cccccccccccccccccccccccccc++cc........cc.c.cxx|||xxc.c.cc...xxxx
xxxx........................................cc.c.cxx|||xxc.c.cc...xxxx
xxxx.........................xx....xx.......cc=c.ccccccccc.c=cc...xxxx
xxxx.........................xx....xx........c.c.....c.....c.c....xxxx
xxxx...........................................c...........c......xxxx
xxxx..............................................................xxxx
xxxx..............4..........xx....xx.............................xxxx
xxxx...4..4..................xx....xx.............................xxxx
xxxx....44...................................xx.................xxxxxx
xxxx..........4..............................xxx...............xxxxxxx
xxxx.........................xx....xx.......xxxxxx"xxxxxxxxx"xxxxxxxxx
xxxx.........................xx....xx.......xxxxxx.xxx.2.xxx.xxxxxxxxx
xxxx........44..............................xxxxxx.xxx2.2xxx.xxxAAAAxx
xxxx.......................................xxxxxxx.xxxxxxxxx.xxxAAAAxx
xxxx......4...................x....x.......xxxxxxx..xxxxxxx..xxxAAAAxx
xxxx.......................................xxxxxxxx.........xxxxAAAAxx
xxxx......................................xxxxxxxxxx.......xxxxxxxxxxx
xxxx..........................x....x......xxxxxxxxxxx.....xxAAAAAAAAxx
xxxx.....................................xxBBBBBBBxxxx...xxxAAAAAAAAxx
xxxx.....................................xxBBBBBBBxxxxx.xxxxAAAAAAAAxx
xxxx..........................x....x....xxxBBBBBBBxxxxx=xxxxxxxxxxxxxx
xxxx....................................xxxxxxxxxxxx..............$$xx
xxxx...................................xxxBBBBxBBBBx.4...4.......$$$xx
xxxx..........................x....x...xxxBBBBxBBBBx...4..4.....$$$$xx
xxxx.................................{xxxxBBBBxBBBBx.2..4..4...$$$$$xx
xxxx................................[xxxxxBBBBxBBBBx..........$$$$$$xx
xxxx...............................(xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

NAME:    eresh_room_1
TAGS:    eresh_room no_rotate
WEIGHT:  30
MONS:    patrolling Ereshkigal, shadow fiend
MARKER:  = = lua:restrict_door()
: tar_setup(_G)
MAP
..........
...c==c...
...c..c...
...c..c...
.ccc..ccc.
.cO.12..c.
.ccc..ccc.
...c||c...
...c||c...
...cccc...
..........
ENDMAP

NAME:    eresh_room_2
TAGS:    eresh_room no_rotate
WEIGHT:  10
MONS:    patrolling Ereshkigal, shadow fiend
MARKER:  = = lua:restrict_door()
SHUFFLE: |O
: tar_setup(_G)
MAP
..........
.G......G.
..........
c........c
cc......cc
|=..21..=O
cc......cc
c........c
..........
.G......G.
..........
ENDMAP

NAME:    eresh_room_3
TAGS:    eresh_room no_rotate
WEIGHT:  10
MONS:    patrolling Ereshkigal, shadow fiend
MARKER:  = = lua:restrict_door()
: tar_setup(_G)
MAP
..........
..........
..cc++cc..
.cc....cc.
.c......c.
.cG....Gc.
.c..12..c.
.c=cccc=c.
.cc|O||cc.
..cccccc..
..........
ENDMAP

NAME:    eresh_room_4
TAGS:    eresh_room no_rotate
WEIGHT:  5
MONS:    patrolling Ereshkigal, shadow fiend
NSUBST:  m = 1:==+ / *:nnnnm
SHUFFLE: 12 / AB
SUBST:   A=., B=.
MARKER:  m = lua:restrict_door()
: tar_setup(_G)
MAP
..........
.G......G.
....A.....
...mmmm...
...m||m...
..1mO|m2..
...m||m...
...mmmm...
.....B....
.G......G.
..........
ENDMAP

##############################################################################
# Ereshkigal (Tartarus) by minmay
##############################################################################

NAME:   tar_minmay_river
ORIENT: encompass
MONS:   patrolling Ereshkigal, reaper, shadow demon, shadow fiend, soul eater
FTILE:  "5!?^ = floor_green_bones
SUBST:  5 = 5:10 3:1
NSUBST: " = 2:4 / 4:3
NSUBST: 2 = 3:4 / *:2
NSUBST: w = 3=Ew / 20=Fw / *:w
NSUBST: ! = 2:. / *:c
NSUBST: ? = 2:. / *:c
NSUBST: ^ = 2:. / *:c
KMONS:  E = kraken spectre
KMONS:  F = shark spectre / big fish spectre / electric eel spectre
KFEAT:  EFw = deep_water
KMASK:  Ww = no_monster_gen
: serpent_of_hell_setup(_G)
: tar_setup(_G)
MAP
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccXXXXXX
XXXXXXc$$$$$cccc........cccc$$$$$c|||||O||||||c$$$$$cccc........cccc$$$$$cXXXXXX
XXXXXXc$$$ccc....cccccc....ccc$$$c|cccccccccc|c$$$ccc....cccccc....ccc$$$cXXXXXX
XXXXXXc$$cc...cccc....cccc...cc$$c+c........c+c$$cc...cccc....cccc...cc$$cXXXXXX
XXXXXXc$cc..ccc....cc....ccc..cc+cc....14....cc+cc..ccc....cc....ccc..cc$cXXXXXX
XXXXXXc$c..cc...cccccccc...cc...2c............c2...cc...cccccccc...cc..c$cXXXXXX
XXXXXXc+c.cc..ccc......ccc..cc..cc............cc..cc..ccc......ccc..cc.c+cXXXXXX
XXXXXXc2..c..cc...cccc...cc..c..c..............c..c..cc...cccc...cc..c..2cXXXXXX
XXXXXXcc.cc.cc..ccc..ccc..cc.cc.c..............c.cc.cc..ccc..ccc..cc.cc.ccXXXXXX
XXXXXXcc.c..c..cc......cc..c..c.c....cc++cc....c.c..c..cc......cc..c..c.ccXXXXXX
XXXXXXc..c.cc.cc..cccc..cc.cc.c.c...cc....cc...c.c.cc.cc..cccc..cc.cc.c..cXXXXXX
XXXXXXc.cc.c..c..cc..cc..c..c.c.cc..c......c..cc.c.c..c..cc..cc..c..c.cc.cXXXXXX
XXXXXXc.c..c.cc.cc....cc.cc.c....c.cc...D..cc.c....c.cc.cc....cc.cc.c..c.cXXXXXX
XXXXXXc.c.cc.c..c..cc.+2..c.c....c.c........c.c....c.c..2+.cc..c..c.cc.c.cXXXXXX
XXXXXXc.c.cc.c..c..cc.ccc.c.c....c.c........c.c....c.c.ccc.cc..c..c.cc.c.cXXXXXX
XXXXXXc.c..c.cc.cc......c.c.c....c3c........c3c....c.c.c......cc.cc.c..c.cXXXXXX
XXXXXXc.cc.c..c..cc+c...c...c2cc2ccccc++++ccccc2cc2c...c...c+cc..c..c.cc.cXXXXXX
XXXXXXc..c.cc.cc..c2c...ccc.c+c...cc........cc...c+c.ccc...c2c..cc.cc.c..cXXXXXX
XXXXXXcc.c..c..cc...cccc33c...c...c..........c...c...c33cccc...cc..c..c.ccXXXXXX
XXXXXXcc.cc.cc..ccc....c33cccccc..c..c....c..c..cccccc33c....ccc..cc.cc.ccXXXXXX
XXXXXXcc..c..cc...cccc.ccc|||c.c.....c....c.....c.c|||ccc.cccc...cc..c..ccXXXXXX
XXXXXXccc.cc..ccc........c||cc.cc...cc....cc...cc.cc||c........ccc..cc.cccXXXXXX
XXXXXXc.c..cc...cccccccc.c|cc...cc2cccc33cccc2cc...cc|c.cccccccc...cc..c.cXXXXXX
XXXXXXc.cc..ccc..2....2+.ccc.....cccc2cccc2cccc.....ccc.+2....2..ccc..cc.cXXXXXX
XXXXXXc..cc...cccc....cccc............................cccc....cccc...cc..cXXXXXX
XXXXXX..............WWWWWWWWWWWWWWWWWWWWWWW...............................XXXXXX
XXXXXX..WWWWWWWWWWWWWWwwwwwwwwwwwwwwWwwwwwWWWWWWWW........................XXXXXX
XXXXXXWWWWwwwwwwwwwwwWwwwwwwwwwwwwwWwwwwwwwwwwwwWWWWWWWWWW................XXXXXX
XXXXXXwwwwWwwwwwwwwwwWwwwwwwwwwwwwwWwwwwwwwwwwwwWwwwwwwwwWWWWWWWWWWWWW....XXXXXX
XXXXXXwwwwWwwwwwwwwwwwWwwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwWWWWWXXXXXX
XXXXXXwwwwWwwwwwwwwwwwWwwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwWwwwwwwwwwwWwwwwXXXXXX
XXXXXXwwwwwWwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwWwwwwXXXXXX
XXXXXXwwwwwWwwwwwwwWWWWWWWWWWWWWWWWWWWwwwwwwwwWwwwwwwwwwwwWwwwwwwwwwwWwwwwXXXXXX
XXXXXXwwwWWWWWWWWWWWcc""""""""""cccccWWWWWWwwwWwwwwwwwwwwWwwwwwwwwwwwWwwwwXXXXXX
XXXXXXWWWW"""^^^^^ccc^^^ccccccc^^c""c"""""WWWWWWWWwwwwwwwWwwwwwwwwwwWwwwwwXXXXXX
XXXXXX"""""""c""""""c""""c5"c""""c""c""""""""""""WWWWWWWWWWWwwwwwwwwWwwwwwXXXXXX
XXXXXXc^^^cccc""c""""""""c""c""""c"""""c^^^cccc"""""""""c""WWWWWWWWWWWWWwwXXXXXX
XXXXXXc""""c""""c""c"""ccc"""""""cc""""c""""""cccccc^^^^cccc"""""""""""WWWXXXXXX
XXXXXXc""ccc""""c""c"""""c""""c""c"""c"c"""c"5c""""""""""""c^^^^c^^^c"""""XXXXXX
XXXXXXc""""c""""c""c"""""""cccc""c5""c"c"""cccc"""""c""""c""""""c"""c"c""cXXXXXX
XXXXXXcc""""""ccccccccc""""c""c""cccccccc"""c"c"""c"c""ccccc""""c""cccccccXXXXXX
XXXXXXc""""""""c"""c"5cc""""""c""c""""""""""c"""""c"c"""c5""""""""cc5""c"cXXXXXX
XXXXXX""""c""""c""""""c"""""""c"""""""c"""""""""cccccc??c""""c"""""c"""""cXXXXXX
XXXXXX""ccc""""c""""""c""cccccc"""""""c""""""c"""""c""""ccccccc"""cc"""""cXXXXXX
XXXXXX""""c"""??"""cccc"""""c"""""""ccc""""""c""""cc""""c"5c"""""""cccc""cXXXXXX
XXXXXX""""ccccc"""""""c"""""c"""""""""c""""""c"""??c""c""""c"""""""""c"""cXXXXXX
XXXXXX"""""5c""""c""""c????cc"""""c""5c"""cc"ccccc""""c""""c""c""""""c""""XXXXXX
XXXXXX??ccccc""""c""""""""""c???cccccccc???c"""c""""""c""ccc""ccc????c""""XXXXXX
XXXXXX""""""c""""c""""""""""c"""""c""""""""c""5ccccc""c""""c??c"""""""""""XXXXXX
XXXXXXc""""""""""c"c"""""""""""cccc""""""""ccccc""""""c"""""""c""c"""cccc"XXXXXX
XXXXXXc"""""""""ccccccccccc"""""""c""""""""""""c""""""c"""""ccccccc""c5"""XXXXXX
XXXXXXcccc""""ccc"""5c""""""""""""c""""""""""""c"""ccccc"""cc""""""""cc"""XXXXXX
XXXXXXc5""""""""c""""c""""""""c"""""""""ccc""""c"""c""5cc"""""cc"""""c""ccXXXXXX
XXXXXXc""""""""""""""cccc!!!!"c!!!!!ccccc""""""""""c"""c"""""""cccc!!!!!!cXXXXXX
XXXXXXccc!!!!!!!!!cccc""""""c"c""""""c""cccccc!!!""c"""ccc!!!ccc"""""""""cXXXXXX
XXXXXX"""""""c""""c"c"""""""cccc"""""c""c5""""""cccc"ccc"""""""c""""c""cccXXXXXX
XXXXXX""""""cc""""c"c""""""""""c""""""""c""""""""""c"""""""""""c""cccc"""cXXXXXX
XXXXXX"""""""c""""c""""""""c""5cccc""""ccc""""""""cc"""""""c"cccccc"c""""cXXXXXX
XXXXXX"""""cccc"""c"""""""cccccc"""""""""c"""""""""""""ccccc"c"""5c"c"""""XXXXXX
XXXXXXc"""""""cc"""""c""""""c""c"""""c"""c""""""c""""""""""ccc""""c"""""c"XXXXXX
XXXXXXc"c"""""c""""""c""""""c""""""ccc""""""""""c""""""""""""c""ccc""c""c"XXXXXX
XXXXXXcccccc""c""""""cccc"""c""""""""ccccccc"""ccc"""""""""""c"""""""cccccXXXXXX
XXXXXXc...c"""""""cccc""""""c""cc""""c...c"""""""c""""""c""""c""""""cc...cXXXXXX
XXXXXXc.{..""""""""c"""""c""""""cc"""c.(.."""c""5cccc"""c"c""""""c"""..[.cXXXXXX
XXXXXXc...c""""""""c"""""c""""""c"""cc...c"""ccccc""""""c"c""""""c"""c...cXXXXXX
XXXXXXcccccccc"""""""""ccccccc"""""""ccccc"""""""""""""ccccc""""ccccccccccXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ENDMAP
