##############################################################################
# geh.des: Special maps for Gehenna.
# Content: (mini)vaults particular to Gehenna, and/or first appearing in
#          Geh (order: Dis, Geh, Coc, Tar)
##############################################################################

: crawl_require('dlua/vault.lua')

{{
function geh_setup(e)
   e.place("Geh:$")
   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
}}


##############################################################################
# Gehenna
##############################################################################

##############################################################################
# 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

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

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

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

NAME:    hangedman_generic_boss_arena
TAGS:    no_monster_gen
DEPTH:   Geh, !Geh:$
MONS:    hell knight, hellion, balrug, balrug
MONS:    hell hound, sun demon, hell hog
KFEAT:   L = l
SHUFFLE: dD, eE / fF / 56, 56 / 65 / 55 / 66 / 77 / '', ABC / 234 / <<<, 234 / 322
NSUBST:  < : 1:) / 1:( / 1:[[[<<>
SUBST:   ABC : v.., d : vLl, D : vvLl, eE : vvl.., fF : vvl.., v : xcv, ' = .
KPROP:   l = no_cloud_gen
MAP
      xxxxxxxxxxx
     xxcccccccccxx
    xxcclllclllccxx
   xxccl...2...lccxx
  xxccl.1.....1.lccxx
 xxccl..lllAlll..lccxx
xxccl.<ldl...ldl<.lccxx
xccl..lDl..f..lDl..lccx
xcl.1ldl..E6E..ldl1.lcx
xcl..ll..e5F5e..ll..lcx
xcl..l...........l..lcx
xcl...B..llDll..C...lcx
xcl....lldldldll....lcx
xccl3...1l.D.l1...4lccx
xxccl......<......lccxx
 xxccl....lll....lccxx
  xxcclllllclllllccxx
   xxcccccccccccccxx
    xxxxxxxxxxxxxxx
ENDMAP

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

NAME:    hangedman_hellfire_club
TAGS:    transparent no_monster_gen
DEPTH:   Geh, !Geh:$, Zot:1-4
MONS:    red draconian scorcher
MONS:    red draconian stormcaller
MONS:    hellion
ITEM:    any potion good_item
KMONS:   L = patrolling efreet w:12 / patrolling fire elemental w:8
KFEAT:   L = l
KPROP:   l = no_cloud_gen
SHUFFLE: 13, 24, 12 / 12 / 12 / 11 / 11 / 22, ()~- / ()~- / -~(), () / {( / }) / '' / ''
SUBST:   4 = 3, ' = .:99 >:1, ( = ( <:2, ) = ) >:2, ~- = .
: if you.in_branch("Geh") then
SUBST:   d$ = .
: end
MAP
xxxxxxxx.@.xxxxxxxx
xccccccxx.xxccccccx
xcd$$1cc...cc2$$dcx
xcd$$cc.....cc$$dcx
xc.~cc..x.x..cc..cx
xc.cc..GxlxG..cc.cx
xc....xxLllxx....cx
xc.(...llLll...).cx
xc....xxllLxx....cx
xc.cc..GxlxG..cc.cx
xc..cc..x.x..cc-.cx
xcd$$cc.....cc$$dcx
xcd$$3cc...cc4$$dcx
xccccccxx.xxccccccx
xxxxxxxx.@.xxxxxxxx
ENDMAP

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

NAME:    hangedman_elemental_grid_stream
TAGS:    transparent no_monster_gen no_pool_fixup patrolling allow_dup
DEPTH:   Geh, Coc, Zot:1-4
:  if you.in_branch("Geh") then
KMONS:   1 = brimstone fiend w:9 / hell sentinel w:1
KMONS:   2 = hellion / balrug
KMONS:   34 = smoke demon / red devil
KMONS:   56 = skeletal warrior ; broad axe ego:flaming ident:type | \
         halberd ego:flaming ident:type w:7 | morningstar ego:flaming ident:type
KMONS:   7 = hell knight
SUBST:   w = l, W = .
KPROP:   l = no_cloud_gen
:  elseif you.in_branch("Coc") then
KMONS:   1 = ice fiend
KMONS:   2 = blizzard demon
KMONS:   34 = ice devil
KMONS:   56 = reaper ; scythe ego:freezing ident:type / shard shrike w:5
KMONS:   7 = alligator snapping turtle skeleton / anaconda simulacrum / \
         golden dragon simulacrum w:5 / iron troll simulacrum w:5 / hydra simulacrum
KMONS:   0 = skeletal warrior ; hunting sling ego:freezing ident:type . sling bullet
SUBST:   l = w, W = .
:  else
KMONS:   1 = shard shrike
KMONS:   2 = seven-headed hydra simulacrum / eight-headed hydra simulacrum
KMONS:   3 = orb of fire / hellephant w:5
KMONS:   4 = draconian scorcher
KMONS:   5 = red draconian ; cloak . mace ego:freezing ident:type
KMONS:   6 = white draconian ; cloak . mace ego:flaming ident:type
KFEAT:   1 = w
KFEAT:   3 = l
NSUBST:  0 = 1:5 / 1:6
SUBST:   x : x:9 b:1, 7 = .
:  end
SHUFFLE: {` / `}
SUBST:   { : .:4 A:3 B:3, } : .:2 C:3, ` = .
NSUBST:  A = 1:{ / 1:} / *:., B = 1:{ / 1:[ / *:., C = 1:} / 1:] / *:.
MAP
xxxx@@....
xllxxx......
x47llxxx........xxxx
xll0.ll..ll...xxxwwx
x1`ww..ww..ww..ww72x
xww5.ww{WwwW{ww.6wwx
x47ww..ww..ww..ll`3x
xwwxxx...ll..ll.0llx
xxxx........xxxll72x
        ......xxxllx
          ....@@xxxx
ENDMAP

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

NAME:    hangedman_elemental_corridor
TAGS:    no_monster_gen no_pool_fixup allow_dup
DEPTH:   Geh, Coc, Zot, !Geh:$, !Coc:$, !Zot:$, Abyss
SHUFFLE: 123456, }] / }] / {[ / **
:  if you.in_branch("Geh") then
MONS:    brimstone fiend / balrug / hellion
MONS:    sun demon / smoke demon / hell knight
SUBST:   w = l, f = F, %* = ., 2 = 1, 3456 = 2
:  elseif you.in_branch("Coc") then
MONS:    ice fiend / blizzard demon / shard shrike / \
         reaper ; scythe ego:freezing ident:type
MONS:    eight-headed hydra simulacrum w:2 / \
         seven-headed hydra simulacrum w:2 / \
         ice dragon simulacrum w:3 / freezing wraith w:3 / ice devil
SUBST:   l = w, F = f, %* = ., 2 = 1, 3456 = 2
:  elseif you.in_branch("Abyss") then
MONS:    blizzard demon / frost giant / dancing weapon ; battleaxe ego:freezing ident:type w:5
MONS:    simulacrum w:12 / white draconian / water elemental w:5 / \
         white very ugly thing w:15 / ice devil w:8
MONS:    balrug / hellion / fire crab w:5 / hellephant w:5
MONS:    hell hound w:8 / red draconian / fire elemental w:5 / \
         red very ugly thing w:15 / efreet w:12
SUBST:   * = *||, {}[] = ***|, xc = xxxccb, 5 = 2, 6 = 4
:  else
KMONS:   123 = fire dragon
KMONS:   456 = ice dragon
KMONS:   789 = red draconian ; cloak . long sword ego:freezing ident:type
KMONS:   ABC = white draconian ; cloak . long sword ego:flaming ident:type
KMONS:   D = golden dragon
SUBST:   c : c:5 b:2 n:1
SHUFFLE: 123456 / 1784AB / 789ABC / 1D'4D'
:  end
KFEAT:   f = deep_water
KFEAT:   F = lava
KPROP:   lF = no_cloud_gen
SUBST:   % = $:2 %:5 *:2, ] = ] >:5, [ = [ <:5, G : G:6 c:2 b:1 .:1
# Clearly, they commissioned the deep dwarves.
MARKER:  f = lua:fog_machine {cloud_type = "freezing vapour", \
             pow_min = 3, pow_max = 3, delay = 75, size_min = 2, size_max = 2, \
             walk_dist = 1, start_clouds = 1, excl_rad = 0 }
MARKER:  F = lua:fog_machine {cloud_type = "flame", \
             pow_min = 3, pow_max = 3, delay = 100, size_min = 2, size_max = 2, \
             walk_dist = 1, start_clouds = 1, excl_rad = 0 }
MAP
  xx+++xxx
  xc...ccxx
 xxc...wccxxx
 xcc...cfcccxx
xxcc...ccwwccxxxxxx
xccc...ccccfccccccxx
xccl..1cccccwcccwccxx
xcFc...2%]%...6..wccx
xcFc.....G.G.....cfcx
xccl..3...%}%5...cfcx
xxcclccclccccc4..wccx
 xxccccccFcccc...cccx
  xxxxxxccllcc...ccxx
       xxcccFc...cxx
        xxxccl...cx
          xxcc...cx
           xxx+++xx
ENDMAP

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

NAME:    nicolae_geh_sunburst
DEPTH:   Geh, !Geh:$
TAGS:    transparent extra decor
SHUFFLE: abcdefgh/!''''!!!/!!''!!''/!''!!''!/!'!'!'!'/!!!'!!!'/!!!!!!!'/''''''''
SUBST:   { = }}}{
SHUFFLE: }]), ([{
SUBST:   'abcd = ., !efgh = l
MAP
       .....
     .........
   ......l......
  .......l.......
  ..l....l....l..
 ....l.bblcc.l....
 .....lb...cl.....
.....aa.....dd.....
.....a.......d.....
..llll...{...llll..
.....h.......e.....
.....hh.....ee.....
 .....lg...fl.....
 ....l.gglff.l....
  ..l....l....l..
  .......l.......
   ......l......
     .........
       .....
ENDMAP

NAME:    nicolae_geh_lava_in_the_way
DEPTH:   Geh:2-, !Geh:$
SHUFFLE: {[(, }])
KPROP:   '; = no_tele_into
NSUBST:  ' = 1:1 / *:., ; = 1:1 / *:.
KMONS:   1 = hellion
MAP
   xxxxx
 xxxxxxxxx
xxx'''''xxx
xll'''''llx
xlll'''lllx
@.lllllll.@
...lllll...
.{.lllll.}.
...lllll...
@.lllllll.@
xlll;;;lllx
xll;;;;;llx
xxx;;;;;xxx
 xxxxxxxxx
   xxxxx
ENDMAP

NAME:     nicolae_geh_fiery_graves
DEPTH:    Geh, !Geh:$
TAGS:     transparent extra decor
SUBVAULT: A : nicolae_fiery_grave
SUBVAULT: B : nicolae_fiery_grave
SUBVAULT: C : nicolae_fiery_grave
SUBVAULT: D : nicolae_fiery_grave
SUBVAULT: E : nicolae_fiery_grave
SUBVAULT: F : nicolae_fiery_grave
SUBVAULT: G : nicolae_fiery_grave
SUBVAULT: H : nicolae_fiery_grave
SUBVAULT: I : nicolae_fiery_grave
MAP
................
.AAAA.BBBB.CCCC.
.AAAA.BBBB.CCCC.
.AAAA.BBBB.CCCC.
.AAAA.BBBB.CCCC.
................
.DDDD.EEEE.FFFF.
.DDDD.EEEE.FFFF.
.DDDD.EEEE.FFFF.
.DDDD.EEEE.FFFF.
................
.GGGG.HHHH.IIII.
.GGGG.HHHH.IIII.
.GGGG.HHHH.IIII.
.GGGG.HHHH.IIII.
................
ENDMAP

NAME:  nicolae_geh_single_fiery_grave
DEPTH: Geh
TAGS:  transparent extra decor allow_dup nicolae_fiery_grave
SUBST: l : llll., C : b..., b : ccc.
MAP
Cbbc
.llc
.llc
Cbbc
ENDMAP

NAME:    hangedman_gehenna_grave_pits
TAGS:    transparent extra decor allow_dup luniq
DEPTH:   Geh, !Geh:$
KFEAT:   ' = open_door
# Randomized: lava pit edges, extra entrance, door pair openness.
SUBST:   ! = {[(<}])> ':40 +:40 .:120
SUBST:   d : ++++', e : +++++'", f : +++++'", g : +++++'"
SHUFFLE: C`D- / C`D- / C`D- / E~F_, GH / GH / HG, JK / JK / KJ
SUBST:   CFHK = c, - : ccc+, ~E = ., GJ = l
CLEAR:   D`
MARKER:  " = lua:fog_machine {cloud_type = "flame", \
             pow_min = 8, pow_max = 10, delay = 100, \
             size_min = 1, size_max = 1, start_clouds = 1, excl_rad = 0 }
FTILE:   " = floor_volcanic
MAP
       cc@.c
   DDDcc...cc
  DD``C.....c
  D```C.....ccccccc
  ccc-cc+c+cccccGGc
  cclllc........llc
cccclllc..."....llc
cKKccecccdcccfccHHc
cll...."...clllcccc
cll........clllcccc
cJJccgccc!cccgccJJc
cccclllc........llc
cccclllc..."....llc
cHHccfcccdccceccKKc
cll...."...clllcccc
cll........clllcc
cGGccccc+c+cc-ccc
ccccccc.....C```D
      c.....C``DD
      cc...ccDDD
       c.@cc
ENDMAP

NAME: nicolae_geh_amphitheater
TAGS: extra decor transparent
DEPTH: Geh, !Geh:1
SUBST: { = {[(
MAP
   lllll
 lllclclll
 lclllllcl
llll...lll
lcl......@
lll..{...@
lcl......@
llll...lll
 lclllllcl
 lllclclll
   lllll
ENDMAP

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

NAME:   geh_old
TAGS:   no_rotate
ORIENT: encompass
MONS:   patrolling Asmodeus, brimstone fiend, Balrug, molten gargoyle
: 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 = red devil
# Place one Serpent in the inner circle.
: serpent_of_hell_setup(_G)
KFEAT:  D = lava
NSUBST: X = 1:D / *:l
SUBST:  4 = 34456778, % = $|
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....lllllllll.llllllllll.........v.vvvv.vllll".'x
x..."lllv.v2|v.v.......lllllllllll.llllllllllll...4...v.v|2v.vlll"..'x
x'."llllv.v+vv.v.....lllllllllllcc+ccllllllllllll.....v.vv+v.vll"..'xx
x'."llllv.v....v...lllllllllllllc...cllllllllllllll...v....v.vll".'xxx
x'."llllv.vvvvvv..lllllllllllXllc.4.cllXllllllllllll..vvvvvv.vll".'xxx
x'."llllv.v......lllllllllllllllc...cllllllllllllllll......v.vll".'xxx
x'.."lllv.v.4...llllllcccccccccccc+cclllllllllllllllll.....v.vll"..'xx
x'.."lllv.v.....llllllccc..........cccccccccccllllllll..4..v.vlll".'xx
x'."llllv.v....lllllllccc..........ccccccccccclllllllll....v.vlll".'xx
x'."llllv.v....lllllllccc..........c..c....ccclllllllll....v.vlll"..'x
x'."llllv.v...lllcccccc.+..........c..+..1.cccllllllllll...v.vllll".'x
x'.."lllv.v...lllc$$$$c.+..........c..c....cccccccclllll...v.vllll".[x
xx."llllv.v...lllc$$$$c.c.44....44.c..c2.2.c|||.nOclllll...v.vllll".'x
x'.."lllv.v...lllc$2..c.cccccccccccc..c....c|||.n.clllll...v.vllll".'x
x'.."lllv.v...lllc$...c.+..........c..c....c|||.n+clllll...v.vlll"..'x
x'.."lllv.v...lllcccc+c.+..4..vvvv.c..cc++cc......clllll...v.vll"...'x
x'."llllv.v...llllllc.ccc.....n||+.c..c....c.%%%%%clllll...v.vll"...'x
x'.."lllv.v...llllllc.ccc..4..n||+.c..c%%%.c.%%%%%clllll...v.vll"...'x
x'.."lllv.v...llllllc...+.....vvvv.c..c%%%.+.%%%%%clllll...v.vll"...'x
xx.."lllv.v....lllllccccc..........c..c%%%.c.%%%%%cllll....v.vll"...'x
xx.."lllv.v....lllllcccccccc+ccccccc..cccccc.%%%%%cllll....v.vll"...'x
xx.."lllv.v.....llllcccccccc+ccccccc....ccccccccccclll.....v.vl"...'xx
x'.."lllv.v.....llllccccccc....c...cc....cllllllllllll.....v.vl".4.'xx
x'.."lllv.v......lllccccccc..4.+...++..4.clllllllllll......v.vl"...'xx
x'.."lllv.v.4.....lllllllcc....c...cc....cllllllllll.......v.vll"...'x
x'4."lllv.v........llllllccccccccccccc..cclllllllll........v.vll"..4'x
x'.."lllv.v..........llllcccccccccclcccccclllllll......4...v.vlll"..'x
xx.."lllv.v........4...llllllllllllllllllllllll............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_stone_red
SUBST:   - = .
KFEAT:   RV = lava
KFEAT:   L = endless_lava
KFEAT:   m = iron_grate
: set_border_fill_type("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

##############################################################################
# Asmodeus (Gehenna) by Grunt
##############################################################################

NAME:    geh_grunt
ORIENT:  encompass
MONS:    patrolling Asmodeus, Brimstone Fiend, balrug
MONS:    hellion, sun demon, fire giant, red devil / crimson imp w:20
KMONS:   9 = molten gargoyle
SHUFFLE: {[(<
SUBST:   - = ll.
SUBST:   _ = ..l
KFEAT:   L = endless_lava
: serpent_of_hell_setup(_G)
: set_border_fill_type("endless_lava")
: geh_setup(_G)
MAP
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllL
Llllllllllllllllllll--------------cc--------------lllllllllllllllllllL
Lllllllllllllllllll-_____________cccc_____________-llllllllllllllllllL
Llllllllllllllllll-________.....cccccc.....________-lllllllllllllllllL
Lllllllllllllllll-____.........cccccccc.........____-llllllllllllllllL
Llllllllllllllll-___..........cccc||cccc..........___-lllllllllllllllL
Lllllllllllllll-_............cccc$23$cccc............_-llllllllllllllL
Llllllllllllll-_..cccccccccccccc$$$$$$cccccccccccccc.._-lllllllllllllL
Lllllllllllll-_...cccccccccccccc++cc++cccccccccccccc..._-llllllllllllL
Llllllllllll-_....cccccccccccccc++cc++cccccccccccccc...._-lllllllllllL
Llllllllllll-_....ccc.....+cc............cc+.....ccc...._-lllllllllllL
Lllllllllll-_.....ccc.5..+++....7.6D.7....+++..5.ccc....._-llllllllllL
Lllllllllll-_.....ccc...cc+................+cc...ccc....._-llllllllllL
Llllllllll-_......ccc..cccccccc++cccc++cccccccc..ccc......_-lllllllllL
Llllllllll-_......ccc.+cccccccc++cccc++cccccccc+.ccc......_-lllllllllL
Llllllllll-_......ccc+++cc.......cccc.......cc+++ccc......_-lllllllllL
Lllllllll-_.......cccc+.cc.G....+cccc+....G.cc.+cccc......._-llllllllL
Lllllllll-_.......cccc..cc.....+++||+++.....cc..cccc......._-llllllllL
Lllllllll-_......cccc...cc....cc+$34$+cc....cc...cccc......_-llllllllL
Llllllll-_......ccccc...cc.4.cccccccccccc.4.cc...ccccc......_-lllllllL
Llllllll-_.....cccccc...cc..+cccccccccccc+..cc...cccccc....._-lllllllL
Llllllll-_....cccc$++.7.cc.+++cc$$O|$$cc+++.cc.7.++$cccc...._-lllllllL
Llllllll-_...cccc$$++...cccc+$cc$$$$$$cc$+cccc...++$$cccc..._-lllllllL
Llllllll-_..cccc|2$ccccccccc3|cc$$12$$cc|4ccccccccc$2|cccc.._-lllllllL
Llllllll-_..cccc|3$ccccccccc4|cc$$..$$cc|3ccccccccc$3|cccc.._-lllllllL
Llllllll-_...cccc$$++...cccc+$cc$....$cc$+cccc...++$$cccc..._-lllllllL
Llllllll-_....cccc$++.5.cc.+++cc......cc+++.cc.5.++$cccc...._-lllllllL
Llllllll-_.....cccccc...cc..+ccccc++ccccc+..cc...cccccc....._-lllllllL
Llllllll-_......ccccc...cc...ccccc++ccccc...cc...ccccc......_-lllllllL
Ll-llllll-_......cccc...cc....cc+.23.+cc....cc...cccc......_-llllll-lL
Ll-llllll-_.......cccc..cc.....+++..+++.....cc..cccc......._-llllll-lL
Ll-llllll-_.......cccc+.cc.G..4.+cccc+.4..G.cc.+cccc......._-llllll-lL
Ll-lllllll-_......ccc+++cc.......cccc.......cc+++ccc......_-lllllll-lL
Ll-lllllll-_......ccc.+cccccccccccccccccccccccc+.ccc......_-lllllll-lL
Ll--llllll-_......ccc..cccccccccccccccccccccccc..ccc......_-llllll--lL
Ll--lllllll-_.....ccc...cc+................+cc...ccc....._-lllllll--lL
Ll--lllllll-_.....ccc.7..+++....7.56.7....+++..7.ccc....._-lllllll--lL
Ll-_-lllllll-_....ccc.....+cc............cc+.....ccc...._-lllllll-_-lL
Ll-_-lllllll-_....ccccccccccccc++cccc++ccccccccccccc...._-lllllll-_-lL
Ll-__-lllllll-_...ccccccccccccc++cccc++ccccccccccccc..._-lllllll-__-lL
Ll-__-llllllll-_..cccccccccccccc......cccccccccccccc.._-llllllll-__-lL
Ll-_._-llllllll-_............cccc....cccc............_-llllllll-_._-lL
Ll-_.._-llllllll-_............cccc..cccc............_-llllllll-_.._-lL
Ll-_.._-lllllllll-_............ccc++ccc............_-lllllllll-_.._-lL
Ll-_.9._-llllllll-_.............cc..cc............._-llllllll-_.9._-lL
Ll-_...._-llllll-_.__............c..c............__._-llllll-_...._-lL
Ll-_....._-llll-_._--___......9..++++..9......___--_._-llll-_....._-lL
Ll-_......_-ll-_._-lll--___................___--lll-_._-ll-_......_-lL
Ll-_......._--_._-llllll---___..9....9..___---llllll-_._--_......._-lL
Ll-_........__._-llllllllll---__________---llllllllll-_.__........_-lL
Ll-_.........._-llllllllllllll----------llllllllllllll-_.........._-lL
Ll-_.........._--llllllllllllllllllllllllllllllllllll--_.........._-lL
Ll-_...........__-llllllllllllllllllllllllllllllllll-__..........._-lL
Ll-_............._--llllllllllllllllllllllllllllll--_....__......._-lL
Ll-_.._____.......__--llllllllllllllllllllllllll--__...._--_......_-lL
Ll-_._-----__...9...__---llllllllllllllllllll---__...9._-ll-_....._-lL
Ll-__-lllll--_........___-----llllllllll-----___......_-lll-_....._-lL
Ll-_-llllllll-_.........._____----------_____........._-llll-_...._-lL
Ll-__-llllllll-_..............__________............._-lllll-_...._-lL
Ll-_._--llllll-_...................................._-lllll-_....._-lL
Lll-_.__--ll--_...................................._-llll--_....._-llL
Lll-__..__--__......................................_-ll-__......_-llL
Llll-__...__...................(.{..[.<.............._--_......__-lllL
Lllll--_____..........................................__.._____--llllL
Lllllll-----__________..........................__________-----llllllL
Llllllllllll----------__________________________----------lllllllllllL
Llllllllllllllllllllll--------------------------lllllllllllllllllllllL
LllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
ENDMAP

##############################################################################
# Asmodeus (Gehenna) by Lightli
# XXX: Disabled pending rebalancing.
##############################################################################

NAME: lightli_geh_unto_the_cruel
TAGS: no_vmirror no_monster_gen
WEIGHT: 0
ORIENT: encompass
MONS: patrolling Asmodeus
MONS: smoke demon w:9 / sun demon w:9 / hellion w:1 / balrug w:1
MONS: hell knight / fire giant w:2, Brimstone Fiend, fire giant / balrug w:2
MONS: red devil / sun demon w:1 / smoke demon w:1, hellion
NSUBST: 2  = 10:2 / *:.
NSUBST: 4  = 2:4 / *:.
KFEAT:  g  = iron_grate
NSUBST: l  = 3:L / *:l
KMONS:  G  = cacodemon
KMONS:  L  = flying skull
KFEAT:  GL = lava
KITEM:  A  = any weapon good_item / any armour good_item
: serpent_of_hell_setup(_G)
: geh_setup(_G)
MAP
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ccc..6........6......cccccccccccccccccccccccccccccc|*%...2...2...2...ccccccccccc
cc7.c.....6....6......ccccccccccccccccccccccccccccc|*%.....2...2...2....cccccccc
cc..cccccccccccccccc..cccccccccccccccccccccccccccccccccccggggcggggg..2....cccccc
cc...ccccccccccccc.5..5.cccccccccccccccccccccccccccccccclllllcllllggg..2...ccccc
cc....ccccccccccc........cccccccccccccccccccccccccccccclllllllGlllllggg..2..cccc
ccc.....cccccccc...cccc...ccccccccccccccccccccccccccccllllllllllllllllggg..2.ccc
cccc.....cccccc...cccccc...cccccccccccccccccccccccccclllllllllllllllllllgg...ccc
ccccc..2..ccccc..cccccccc..ccccccccccccccccccccccccclllllllllllllllllllllgg.2.cc
cccccc.....6c....cccccccc.................ccccccccclllllllllllllllllllllllg...cc
ccccccc..6..c.....cccccc...................ccccccccllGlllllllll...6...lllGgg.2cc
cccccccc....+.................6......ccc....ccccccclllllllllll.........llllg..cc
ccccccccc.6.+........................c3c....cccccccllllllllll...cc+cc...lllg..cc
cccccccccc..c.....4...5..............c+c....cccccccllllllcll..6ccc$ccc6..llc..cc
ccccccccccc.c.................xxx...........ccccccclllllccc...ccc$3$ccc...ccc2cc
ccccccccccccc................xx.xx..........ccccccc......c...ccccccccccc...c..cc
ccccccccccccc...............xx*|*xx.........+..c..+..5.......cc*ccccc(cc.....2cc
ccccccccO|||+...4...1...5...g.|A|.x...D.....+..+..+..5.....6.+*3ccccc{.+.6....cc
ccccccccccccc...............xx*|*xx.........+..c..+..5.......cc*ccccc[cc.....2cc
ccccccccccccc................xx.xx..........ccccccc......c...ccccccccccc...c..cc
ccccccccccc.c.................xxx...........ccccccclllllccc...ccc$3$ccc...ccc2cc
cccccccccc..c.....4...5..............c+c....cccccccllllllcll...ccc$ccc6..llc..cc
ccccccccc.6.+........................c3c....cccccccllllllllll...cc+cc...lllg.2cc
cccccccc....+.................6......ccc....ccccccclllllllllll.........llllg..cc
ccccccc..6..c.....cccccc...................ccccccccllGlllllllll...6...lllGgg.2cc
cccccc.....6c....cccccccc.................ccccccccclllllllllllllllllllllllg...cc
ccccc..2..ccccc..cccccccc..ccccccccccccccccccccccccclllllllllllllllllllllgg.2.cc
cccc.....cccccc...cccccc...cccccccccccccccccccccccccclllllllllllllllllllgg...ccc
ccc.....cccccccc...cccc...ccccccccccccccccccccccccccccllllllllllllllllggg..2.ccc
cc....ccccccccccc........cccccccccccccccccccccccccccccclllllllGlllllggg..2..cccc
cc...ccccccccccccc.5..5.cccccccccccccccccccccccccccccccclllllcllllggg..2...ccccc
cc..cccccccccccccccc..cccccccccccccccccccccccccccccccccccggggcggggg..2....cccccc
cc7.c.....6....6......cccccccccccccccccccccccccccccccccc...2...2...2....cccccccc
ccc..6.......6.......cccccccccccccccccccccccccccccccccA+.2...2...2...ccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
ENDMAP

##############################################################################
# Asmodeus (Gehenna) by hangedman
##############################################################################

NAME:    geh_hangedman
ORIENT:  encompass
MONS:    patrolling Asmodeus, brimstone fiend, balrug
MONS:    hellion, fire giant, hell knight, hell hog
KMONS:   y = red devil w:20 / fire elemental / salamander
KMONS:   Y = molten gargoyle
KMONS:   zZ = sun demon / efreet / smoke demon w:5 / \
              fire dragon skeleton w:5
KITEM:   $ = $ no_pickup
KFEAT:   yYZ = lava
KFEAT:   L = endless_lava
# Swap trios of hell knights with fire giants.
SHUFFLE: 5A6B / 5A6B / 6B5A
SUBST:   A = ., B = 6
# Just some pillar, door, and floor/wall/lava edge randomization.
SHUFFLE: O1 / |0, =- / =- / -=, !? / !? / ?!
SHUFFLE: ef, hi, def / def / edf / fed, ghi / ghi / hgi / ihg
SHUFFLE: EF / EF / FE, GH / GH / HG, IJ / IJ / JI
SHUFFLE: PQ / PQ / QP, RS / RS / SR, TU / TU / UT
SUBST:   X : ^<>, ^ = xxx., < = xx., > = x.
SUBST:   ` : `'", ` = ll., ' = l., " = l..
SUBST:   =! = +, -? = ., dg = v, efhi = .
SUBST:   EGIPRT = x, FHJQSU = l
KMASK:   l = no_monster_gen
: serpent_of_hell_setup(_G)
: set_border_fill_type("endless_lava")
: geh_setup(_G)
MAP
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLllllllllllllllllllllllllllllccccccccccccxxxxxxxxxxxxxxxxxxxxxxxxxxLL
LLllllllllllllll..............+....4....ccxXXXXXXXXXXXXXXXXXXXXXXXxxLL
LLlll.B.......................c++cc+cc++cccX..................[..XXxLL
LLll.6...........ll````````llcc.........ccc..```````x```````x...{.XxLL
LLllB.vv-vvvvvvvvllllllllllll+...vd3dv...cc..llllllllllllllllll...XxLL
LLll..v...v$$$.vvYlllllllllllc..f..e..f..cc..lllllllllllllllllll.(XxLL
LLll..-.$..$.2$vvllllllFFllllc..f..e..f..cc..lllllllllllllllllll..XxLL
LLll..v...v$..$vvYlllllxxllll+...vd.dv...cc.xlllllll.xllllllllllx.XxLL
LLll..vv.vv.$$$vvllllllEEllllc.....v.....cc..llxllll.xlllllxllll`.XxLL
LLll..v$$$.vv=vvvYlllllllllllccc...v...cccc..lllllllllllllllllll`.XxLL
LLll..v$..$v%%.vvlll..llllllllccv+++++vccc7.lllllxxlllllxxllllll`.XxLL
LLll..v$2.$=%0%vvlllxx.lllllllc....v....cc..lllllxxlllllxxllllll`.XxLL
LLll..v.$$$v.%|vvlllxx.llHHlll+.ef*z*fe.cc..lllllllylll.llllllll`.XxLL
LLll..vvvvvvvvvvvllllllllxxllyc.fdededf.cc..llllllll.$.lllllllll`.XxLL
LLll..vvvvvvvvvvvl.3lllllGGlll+.ef*+*fe.cc..llxxllll$.$llllxxlll`.XxLL
LLl..llYlYlYllllll*.llllllllllc....v....cc.xll..llll3$.llll..lllx.XxLL
LLl..lllllllllll.**.Zlllllllllccc..v..cccc..lllllll.lllyllllllll`.XxLL
LLl..`llllllllll3..2lllllllllllccv+++vccc7..lllllxxlllllxxllllll`.XxLL
LLl..`llllll.xxlllZllllllllllllc...v...cc..llllllxxlllllxxllllll`.XxLL
LLl..`llllll.xxllllllllllllllll+...v...cc..lllllllllllllllllllll`.XxLL
LLl..`lllllll..lllllllEElllllll+..vzv..cc..llxxxllll.xlllllxllll`.XxLL
LLl..`llFxElllllllllllExFllllllc...v...cc.xllxxxllll.xllllllllll`.XxLL
LLl..`llFxEllllllllllllFFllllllccc.v.cccc..llxxxllllllllllllllll`.XxLL
LLl..`llllllllGxHlllllllllllllllcc+v+ccc7..lllllllllllllll..x.....XxLL
LLl..`llllllllGxHlllllllllllllllc.A5A.cc..llllllll..x............XXxLL
LLl..lllllllllllllllllllllllllll+..v..cc..ll..x..........7ccccccccxxLL
LLl..lllllllllllllllllllllllllllc.....cc.........7ccccccccccccccccccLL
LLl..c+cc+cclllyllllllllllllllllccc.ccc....7ccccccccccccccc.....ccccLL
LLc+cc.....ccc+c+cclllllllllllxxxzc+c....ccccccccccc.....cc......+.cLL
LLc.+......cc.....ccc++cclllllx6B.......cccccc....cc.ivh.+...ii..c.cLL
LLc.c..ii...+.ivh.cc....ccc+ccxB........c...cc.hg.+..*g*.c..v..v.+.cLL
LLc.+.v..v..c.*g*..+.gh.cc...cz..d..e..cc..A+..iv.c..hvi.+..g..g.c.cLL
LLc.c.g..g..+.hvi..c.iv..+Av.cc....f...+..v5c...z.+...z..c...hh3.+4cLL
LLc4+.3hh...c..z...+.z...c5...+...f....cc..A+..iv.c..ivh.+..g..g.c.cLL
LLc.c.g..g..+.ivh..c.iv..+Av.cc..e..d..zc...cc.hg.+..*g*.c..v..v.+.cLL
LLc.+.v..v..c.*g*..+.gh.cc...c........Bxcc+ccc....cc.hvi.+...ii..c.cLL
LLc.c..ii...+.hvi.cc....ccc+ccxD.....B6xlllllcc++ccc.....cc......+.cLL
LLc.+......cc.....ccc++cclllllxx.c+czxxxlllllllllllcc+c+ccc.....cc+cLL
LLc+cc.....ccc+c+ccllllllllllllccc.cccllllllllllllllllylllcc+cc+c..lLL
LLl..c+cc+cclllylllllllllllllllc.....clllllllllllllllllllllllllll..lLL
LLl..llllllllllllllllllllllllll+.v.v.+lllllllllllllllllllllllllll..lLL
LLl..`llldlllllllllllllllllllllc.A5A.clllllllllllllllSxRllllllll`..lLL
LLl..`lldllllllllllllllllllllllcc+v+cclllllllllllllllSxRllllllll`..lLL
LLll..llllllllllllllllllllllllccc.v.cccllllllUUllllllllllllPxQll`..lLL
LLll..`llellllllllllllllllllllc...v...cllllllUxTlllllllllllPxQll`..lLL
LLll..`lelllllllllllllllllllll+..vzv..+lllllllTTlllllll..lllllll`..lLL
LLll..`lllllllllllllllllllllll+...v...+llllllllllllllllxx.llllll`..lLL
LLlll..lllflllllllllllllllllllc...v...cllllllllllllZlllxx.llllll`..lLL
LLlll..`lfllllllllllllllllllllccv+++vcclllllllllll2..3llllllllll`..lLL
LLlll..`lllZlllllllllllllllllccc..v..ccclllllllllZ.**.lllllllllll..lLL
LLlll..`llgllllllllllllllllllc....v....cllllllllll.*llllllYlYlYll..lLL
LLlll..`lglllllllllllllllllllc.ef*+*fe.+lllSSlllll3.lvvvvvvvvvvv..llLL
LLllll..lllllllllllllllllllly+.fdededf.cyllxxllllllllvvvvvvvvvvv..llLL
LLllll..`llhlllllllllllllllllc.ef*z*fe.+lllRRll.xxlllvvO%.v$$$.v..llLL
LLllll..`lhllllllllllllllllllc....v....clllllll.xxlllvv%1%!$.2$v..llLL
LLllll..`llllllllllllllllllllccv+++++vccllllllll..lllvv.%%v$..$v..llLL
LLllll..`llillhlllZlllllllllccc...v...ccclllllllllllYvvv!vv.$$$v..llLL
LLllll..`lillhlllgllflllllllc.....v.....cllllPPllllllvv$$$.vv.vv..llLL
LLlllll..lllllllgllflllelldl+...vd.dv...+llllxxlllllYvv$..$v...v..llLL
LLlllll.2.`````lllllllelldllc..f..e..f..cllllQQllllllvv$2.$..$.?..llLL
LLllv+vv........````llllllllc..f..e..f..clllllllllllYvv.$$$v...v..llLL
LLllv..vll...........```llll+...vd3dv...+llllllllllllvvvvvvvv?vv.BllLL
LLllv*.+llllllll.........``lcc.........ccll````````ll...........6.llLL
LLllvvvvlllllllllllll........cc++c+c++cc.......................B.lllLL
LLlllllllllllllllllllllll....+....4....+..............llllllllllllllLL
LLlllllllllllllllllllllllllllcccccccccccllllllllllllllllllllllllllllLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
ENDMAP

##############################################################################
# Asmodeus (Gehenna) Pentagon by Grunt
##############################################################################

NAME:    geh_grunt_pentagon
ORIENT:  encompass
MONS:    patrolling Asmodeus, Brimstone Fiend, balrug
MONS:    hellion, sun demon, fire giant, red devil / crimson imp w:20
KMONS:   9 = molten gargoyle
SHUFFLE: {[(
SUBST:   - = ll.
SUBST:   _ = ..l
SUBST:   d = x.
NSUBST:  P = 1:O / *:|
KFEAT:   L = endless_lava
: serpent_of_hell_setup(_G)
: set_border_fill_type("endless_lava")
: geh_setup(_G)
MAP
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllL
Llllll-------------lllllllllllll------------------lllllllllllllllllllL
Lllll-_____________--llllllllll-__________________---------llllllllllL
Lllll-_............__-lllllll--_.................._________--llllllllL
Llll-_....d........._-lllllll-_...ccccc.......dd...........__--llllllL
Lll-_....xx....d...._-llllll-_...cc$$$cc.....................__-lllllL
Lll-_...dxx........._-llllll-_...c$.4..cccccc.......d.........._-llllL
Lll-_...xxx........._-llllll-_...c$35..+....ccccc......ccccc...._-lllL
Lll-_...xd........._-lllllll-_...c$....cccc.....ccccc.cc$$$cc...._-llL
Lll-_.............._---lllll-_...cc...++..ccccc.....ccc..3.$c...._-llL
Lll-_.........xd...____------_....cc+c+.......ccccc...+..54$c...._-llL
Lll-_........xxx9..........._..d...c.c............ccccc....$c...._-llL
Ll-_.........dx...._----___....9..cc.c...2............++...cc...._-llL
Ll-_.............._-llll---_......c..c........5..7.....+c+cc...._-lllL
Ll-_............._-lllllll-_..7...c.cc..................c.c....._-lllL
Ll-_............._-lllllll-_......c.c......ccccccc......c.cc...._-lllL
Ll-_....d........_-llllll-_.9....cc.c....ccc$$$$$c++....c..c..._-llllL
Ll-_............_-lllllll-_......c..c....c4........+....cc.c..._-llllL
Ll-_............_-lllllll-_.d....c.cc...cc..ccccc..cc.7..c.c..._-llllL
Ll-_............_-lllllll-_.....cc.c....c$.cc|P|cc.$c....c.cc..._-lllL
Ll-_.......d...._-lllllll-_.....c..c7.3.c$.c$$|||c.$c....c..c..._-lllL
Ll-_..d........._-lllllll-_.....c.cc....c$.c..1|Pc.$c....cc.c...._-llL
Ll-_..xx........_-lllllll-_....cc+cc....c$.c.2.$|c.$c.....c.c....._-lL
Ll-_..xxx......._-lllllll-_...cc...cc...c$.++..$cc.$c..5..c.cc...._-lL
Ll-_..xxd......._-lllllll-_...c$...$c...cc..+cccc..cc.....c..c...._-lL
Ll-_...dd......._-lllllll-_...c$42.$c....c........3c......cc.c...._-lL
Ll-_............_-lllllll-_...c$3..$c.6..ccc$$$$$ccc.......c.c...._-lL
Ll-_.........d.._-lllllll-_...cc|||cc......ccccccc.....2...c.c...._-lL
Ll-_............_-llllllll-_...ccccc...D..................+c+cc..._-lL
Ll-_............_-lllllllll-_......++....6.....4.........++...cc.._-lL
Ll-_............._-llllllll-_....7..++...............ccccc....$c.._-lL
Ll-_............._-lllllllll-_.......++.ccccc..7.ccccc...+..54$c.._-lL
Ll-_....d........._-llllllll-_9.......+cc$$$cccccc.....ccc..3.$c.._-lL
Lll-_............._-llllllll--_........c|....ccc...ccccc.cc$$$cc.._-lL
Lll-_.......d......_-lllllllll-_.....7.c|32..+...ccc......ccccc..._-lL
Llll-_......xd....._-lllllllll-__......c|.4..ccccc................_-lL
Llll-_.....dxxd....._-lllllllll--__9...cc$$$cc..........d........._-lL
Llll-_....dxxxd....._-lllllllllll--___..ccccc.......d............_-llL
Llll-_....dxxxd....._-lllllllllllll---_.......7.9..............___-llL
Llll-_.....ddd......._-lllllllllllllll-___..9....______________---lllL
Llll-_..............._-llllllllllllllll---____.._--------------llllllL
Llll-_...........d...._-llllllllllllllllll----._--lllllllllllllllllllL
Lllll-_................_-llllllllllllllllllll-._-llllllllllllllllllllL
Lllll-_................._-lllllllllllllllllll-._-llllllllllllllllllllL
Llllll-_................._-llllllllllllllllll-._-llllllllllllllllllllL
Lllllll-.................._--llllllllllllllll--.-llllllllllllllllllllL
Lllllll-_....d.............__--lllllllllllllll-_.-lllllllllllllllllllL
Llllllll-_............dd.....__--lllllllllllll-_.-llllll--------lllllL
Lllllllll-_........xxxxd.......__-------llllll-_.-l-----________-llllL
Llllllllll-_.......dxxxd........._______-------_.--_____........_--llL
Lllllllllll-_......ddx.................._______..__.............._-llL
Llllllllll-_...................................9.................._-lL
Llllllllll-_..dd..........d...................dd.d..........ddd..._-lL
Lllllllll-_...xd...............d...............xxx.....d...dxxxd.._-lL
Llllllll-_...xx...............xxd.............dxxd..........dxxxd._-lL
Lllllll-_....d...._........dxxxxxd..............d............xxxd._-lL
Llllll-_........._-_........dxxxx........d...................dxd.._-lL
Lllll-_........._-l-__........xxd......................dd.....d..._-lL
Llll-_.........._-ll--__.............................dxxxxd......._-lL
Llll-_.........._-llll--__.........d......ddd........dxxxxd......._-lL
Lll-_.........._-lllllll--__.............xxxd...d.....xxxx........_-lL
Lll-_.(......._-llllllllll--__.........dxxxxd.........dxxd........_-lL
Lll-_........._-llllllllllll--__........dxxxd..........dd........_-llL
Lll-_.{.[...._-lllllllllllllll--__.......dd....................._-lllL
Llll-_......_-llllllllllllllllll--__.........................___-llllL
Llll-_______-lllllllllllllllllllll--_________________________---lllllL
Lllll-------llllllllllllllllllllllll-------------------------llllllllL
LllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllL
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
ENDMAP
