##############################################################################
# temple.des: Entries for the Ecumenical Temple, and Temples themselves
#
# <<E>>       Entries
# <<M>>       Temple maps
##############################################################################

{{
-- Call this function, with the default being the top parameter,
-- for any temple with variable altar totals.
-- Note that it returns a string, not a number!
function get_altar_count(e, default)
  local params = dgn.map_parameters()
  local count = "";
  if params ~= nil then
    local tag = unpack(params)
    if tag ~= nil then
      -- temple_altars_ is 14 characters
      count = string.sub(tag, 15)
    end
  end
  if count == nil or count == "" then
     count = default
  end
  return count
end

-- Standard temple entry header lines.
function temple_entry(e)
  e.tags("temple_entry")
  e.orient("float")
  e.kfeat("O = enter_temple")
end
}}

##############################################################################
# <<E>> Temple entries
##############################################################################

NAME:   temple_hall
SUBST:  ? : c:20 x v b G:5
: temple_entry(_G)
MAP
ccccccccc
c...O...c
c.......c
c.?...?.c
c.......c
c.......c
c.?...?.c
c.......c
c.......c
c.?...?.c
c.......c
c.......c
c.?...?.c
c.......c
c@..@..@c
ENDMAP

NAME:   temple_hall_moat
TAGS:   no_pool_fixup no_monster_gen
ORIENT: float
WEIGHT: 1
SUBST:  ? : v b G:5
: temple_entry(_G)
MAP
   ccc
   cOc
cccc+cccc
cwwG.Gwwc
cwww.wwwc
cw?w.w?wc
cwww.wwwc
cwww.wwwc
cw?w.w?wc
cwww.wwwc
cwww.wwwc
cw?w.w?wc
cwww.wwwc
cwww.wwwc
cw?w.w?wc
cwww.wwwc
c@..@..@c
ENDMAP

NAME:   temple_fountains
TAGS:   transparent
SUBST:  ? : T:30 U
: temple_entry(_G)
MAP
...?...
.......
.?.O.?.
.......
...?...
ENDMAP

NAME:   temple_statues
TAGS:   transparent
: temple_entry(_G)
MAP
GOG
ENDMAP

NAME:   temple_green
TAGS:   transparent
NSUBST: ? = 1:+ / * = +bb
: temple_entry(_G)
MAP
bbbb+bbbb
b.......b
b.......b
?...O...?
b.......b
b.......b
bbbb?bbbb
ENDMAP

# A set of encased glass and doors: they used to feature secret doors.
# Vault compression here randomly lops off one entrance.
NAME:    temple_doors_ab
TAGS:    transparent
WEIGHT:  2
SHUFFLE: Y'"E& / ZD~~~
NSUBST:  XY = + / m+
SUBST:   Z = m, cCD : cxxx
SUBST:   ? : ?:40 T:30 U, ? = T:30 U, & = @
CLEAR:   ~
: temple_entry(_G)
MAP
cccccccccCC
cccmmmmmcCC
cccm?.?mcCC
@..X.O.Y'"&
cccm?.?mcCC
cccmmmmmcCC
cccccccccCC
ENDMAP

NAME:    temple_doors_cd
TAGS:    transparent
WEIGHT:  2
SHUFFLE: Y'"C& / ZD~~~
NSUBST:  XY = + / m+
SUBST:   Z = m, cCD : cxxx
SUBST:   ? : ?:40 T:30 U, ? = T:30 U, & = @
CLEAR:   ~
: temple_entry(_G)
MAP
cccccccccCC
cccmmmmmcCC
cccm?.?mcCC
@..X.O.Y'"&
cccm?.?mcCC
cccmmXmmcCC
ccccc.cccCC
ccccc.cccCC
ccccc@cccCC
ENDMAP

NAME:   temple_doors_e
TAGS:   transparent
WEIGHT: 6
SUBST:  ? : ?:40 T:30 U, ? = T:30 U
SUBST:  c:cxxx
NSUBST: X = 1:+ / * = m+
: temple_entry(_G)
MAP
cccccc@cccccc
cccccc.cccccc
cccccc.cccccc
ccccmmXmmcccc
ccccm?.?mcccc
@...X.O.X...@
ccccm?.?mcccc
ccccmmXmmcccc
cccccc.cccccc
cccccc.cccccc
cccccc@cccccc
ENDMAP

NAME:    temple_pool_b
TAGS:    no_pool_fixup no_monster_gen no_rotate transparent
: if crawl.x_chance_in_y(3, 10) then
SHUFFLE: XY
SUBST:   X = ., ABCDEFGHIJKLMNPQY = w
: else
SHUFFLE: ABCD / EFGH / IJKL / MNPQ
SHUFFLE: AB, EF, IJ, MN
SUBST:   ACD = W, B = wW, EFGHIJKLMNPQXY = w
: end
: temple_entry(_G)
MAP
.................
......wwwww......
....wABwwwwwG....
..wwwCwwwwFHwww..
.wwwwwD...Ewwwww.
.wwwwww.O.YYYYYY.
.wwwwww...wwwwww.
.wwwwJLwXwQwwwww.
..wwKIwwXwMNwww..
....wwwwXwwPw....
......wwXww......
.................
ENDMAP

# The garden of good and evil
NAME:   temple_garden
TAGS:   no_monster_gen transparent
WEIGHT: 1
SUBST:  _ = 3., - = l.
SUBST:  . = .:900 3:30, ' = .:400 3:30, ! = .:100 3:30
SUBST:  ? = .:50  3:30 G:5 T:10 U:1 V:4
MONS:   angel, rust devil, plant
KMASK:  12 = opaque
KPROP:  12 = no_tele_into
: temple_entry(_G)
MAP
            ............................xxxxxxxx
        .............'''''...............-llxxxx
      ............'''''''''''...........-llllxxx
    ...........'''''''!!!'''''''........-lll2xxx
   .........''''''''!!!!!!!''''''''......-llllxx
   ........'''''''!!!!!!!!!!!'''''''.......-lllx
  ........'''''!!!!!!!!!!!!!!!!!'''''........llx
 ........'''''!!!!!!!!!?!!!!!!!!!'''''........lx
 .......'''''!!!!!!!!!???!!!!!!!!!'''''........x
.......'''''!!!!!!!!!?????!!!!!!!!!'''''........
.......''''!!!!!!!!!???????!!!!!!!!!''''........
.......'''!!!!!!!!!????O????!!!!!!!!!'''........
.......''''!!!!!!!!!???????!!!!!!!!!''''........
.......'''''!!!!!!!!!?????!!!!!!!!!'''''.......
x.......'''''!!!!!!!!!???!!!!!!!!!'''''........
x........'''''!!!!!!!!!?!!!!!!!!!'''''.........
xx._......'''''!!!!!!!!!!!!!!!!!'''''.........
xxxxm......'''''''!!!!!!!!!!!'''''''..........
xxxxxm......''''''''!!!!!!!''''''''..........
xxxx1m_........'''''''!!!'''''''.............
xxxxxxm_..........'''''''''''...............
xxxxxxxxxx...........'''''................
xxxxxxxxxxxx...........................
ENDMAP

# Firewalks (Lemuel)
# To reach the Temple, you just have to walk straight.
# Autoexclusions and low fire frequency should make this easy,
# and most of the time the safe path is marked anyway.
NAME:    lemuel_temple_firewalk_a
TAGS:    uniq_firewalk no_item_gen no_monster_gen
WEIGHT:  3
SHUFFLE: def
MARKER:  D = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 3, delay = 20, start_clouds = 1, \
             size = 2, walk_dist = 1, spread_rate= 0 }
MARKER:  E = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 4, delay = 39, start_clouds = 1, \
             size = 2, walk_dist = 1, spread_rate= 0 }
MARKER:  F = lua:fog_machine { cloud_type = "flame", \
             pow_min = 2, pow_max = 5, delay = 47, start_clouds = 1, \
             size = 2, walk_dist = 1, spread_rate= 0 }
KPROP:   'DEF = no_tele_into
SUBST:   - = --.
COLOUR:  - = yellow
FTILE:   - = floor_pebble_darkgray
: temple_entry(_G)
MAP
xxxxxxxG@Gxxxxxxx
x''''''---''''''x
x''''''---''''''x
x'D'E''---''F'D'x
x''''''---''''''x
x''''''---''''''x
x''''''---''''''x
x'E'F''---''D'E'x
x''''''---''''''x
x''''''---''''''x
x''''''---''''''x
x'F'D''---''E'F'x
x''''''---''''''x
x''''''---''''''x
x''''''---''''''x
x'D'E''---''F'D'x
x''''''---''''''x
x''''''-O-''''''x
xxxxxxxxxxxxxxxxx
ENDMAP

NAME:    lemuel_temple_firewalk_b
TAGS:    uniq_firewalk no_item_gen no_monster_gen
WEIGHT:  7
SHUFFLE: def
MARKER:  D = lua:fog_machine { cloud_type = "flame", \
              pow_min = 2, pow_max = 3, delay = 39, start_clouds = 1, \
              size = 2, walk_dist = 2, spread_rate= 0 }
MARKER:  E = lua:fog_machine { cloud_type = "flame", \
              pow_min = 2, pow_max = 5, delay = 59, start_clouds = 1, \
              size = 2, walk_dist = 2, spread_rate= 0 }
MARKER:  F = lua:fog_machine { cloud_type = "flame", \
              pow_min = 2, pow_max = 7, delay = 79, start_clouds = 1, \
              size = 2, walk_dist = 2, spread_rate= 0 }
KPROP:   'DEF = no_tele_into
SUBST:   - : --.
COLOUR:  - = yellow
FTILE:   - = floor_pebble_darkgray
: temple_entry(_G)
MAP
xxxxxxxG@Gxxxxxxx
x''F'''---''''E'x
x''''''---''''''x
x'D''''---'''F''x
x''''''---''''''x
x''E'''---''''D'x
x''''''---''''''x
x'E''''---'''D''x
x''''''---''''''x
x''F'''---''''E'x
x''''''---''''''x
x'F''''---'''E''x
x''''''---''''''x
x''D'''---''''F'x
x''''''---''''''x
x'D''''---'''F''x
x''''''---''''''x
x''E'''-O-''''D'x
xxxxxxxxxxxxxxxxx
ENDMAP

NAME:   minmay_temple_entry_fiery
SUBST:  ' : .'l, ' = .l
SUBST:  l : l w:1
KMASK:  l = no_monster_gen
: temple_entry(_G)
MAP
xxx.@..xx
xxl'...xx
xxll..xxx
xlll'.xxx
xll'.'lxx
xxl.'llxx
xxx'.lxxx
xxxx.xxxx
xccc+cccx
xcG...Gcx
xc.....cx
xc..O..cx
xc.....cx
xcG...Gcx
xcccccccx
xxxxxxxxx
ENDMAP

NAME:   minmay_temple_entry_poolview
TAGS:   no_pool_fixup
SUBST:  ? : lw
SUBST:  c : cx
KMASK:  lw = no_monster_gen
KPROP:  lw = no_tele_into
: temple_entry(_G)
MAP
ccccccccccccc
c???????????c
c???????????c
c???????????c
c???nnnnn???c
c???n...nnnnc
c???n.O.....@
c???n...nnnnc
c???nnnnn???c
c???????????c
c???????????c
c???????????c
ccccccccccccc
ENDMAP

NAME:   minmay_temple_entry_overgrown
TAGS:   transparent
MONS:   plant, bush
SUBST:  ? = .1, ! = ...1, 1 : 123, 2 = 2.., 3 = 12
: temple_entry(_G)
MAP
!!!!!
!???!
!?O?!
!???!
!!!!!
ENDMAP

NAME:   minmay_temple_entry_junction
TAGS:   transparent
SUBST:  T = TV U:1, X : xc v:1 b:1
: temple_entry(_G)
MAP
xxx...xxx
xxX.T.Xxx
xXX...XXx
.........
.T..O..T.
.........
xXX...XXx
xxX.T.Xxx
xxx...xxx
ENDMAP

NAME:   minmay_temple_entry_glass
TAGS:   transparent
SUBST:  m : mb
: temple_entry(_G)
MAP
...........
.m.m.m.m.m.
...........
.m.......m.
...........
.m...O...m.
...........
.m.......m.
...........
.m.m.m.m.m.
...........
ENDMAP

NAME:   minmay_temple_entry_trees
TAGS:   transparent
SUBST:  t : t1
MONS:   bush
: temple_entry(_G)
MAP
.....
.t.t.
..O..
.t.t.
.....
ENDMAP

NAME:   minmay_temple_entry_butterflies
TAGS:   transparent
MONS:   butterfly
NSUBST: . = 1:1 / 1:1.. / *:.
: temple_entry(_G)
MAP
...
.O.
...
ENDMAP

NAME:   minmay_temple_entry_metal_lava
TAGS:   transparent
WEIGHT: 1
KMASK:  l = no_monster_gen
: temple_entry(_G)
MAP
vvvvvvv
vlvlvlv
@..O..@
vlvlvlv
vvvvvvv
ENDMAP

NAME:   minmay_temple_entry_nine_rooms
NSUBST: A = 1:O / * = T:40 VU
NSUBST: B = 1:. / *:c, C = 1:. / *:c, D = 1:. / *:c
NSUBST: E = 1:. / *:c, F = 1:. / *:c
: temple_entry(_G)
MAP
ccBcccBcccBcc
c...c...c...c
B.A.D.A.E.A.B
c...c...c...c
ccDccc.cccEcc
c...c...c...c
B.A...A...A.B
c...c...c...c
ccCccc.cccFcc
c...c...c...c
B.A.C.A.F.A.B
c...c...c...c
ccBcccBcccBcc
ENDMAP

NAME:   minmay_temple_entry_mist
TAGS:   transparent
KFEAT:  ! = shallow_water
MARKER: ! = lua:fog_machine { cloud_type = "thin mist", pow_min = 1, \
        pow_max = 3, delay = 10, start_clouds = 1, size_min = 2, \
        size_max = 3, spread_rate = -1 }
KMASK:  W! = no_monster_gen
: temple_entry(_G)
MAP
..WWW..
.WW!WW.
WWWWWWW
W!WOW!W
WWWWWWW
.WW!WW.
..WWW..
ENDMAP

NAME:   minmay_temple_entry_grid
TAGS:   transparent
SUBST:  m : bm
: temple_entry(_G)
MAP
.........
...m.m...
..m.m.m..
.m.m.m.m.
..m.O.m..
.m.m.m.m.
..m.m.m..
...m.m...
.........
ENDMAP

NAME:   minmay_temple_entry_hall
TAGS:   transparent
SUBST:  c : c:80 xv, T = T:80 UV
: temple_entry(_G)
MAP
ccc+ccc
c.....c
c.T.T.c
+..O..+
c.T.T.c
c.....c
ccc+ccc
ENDMAP

NAME:   minmay_temple_entry_purple_smoke
TAGS:   transparent
WEIGHT: 5
MARKER: O = lua:fog_machine { cloud_type = "purple smoke", pow_min = 1, \
        pow_max = 3, delay_min = 1, delay_max = 10, start_clouds = 5,  \
        size_min = 2, size_max = 2, spread_rate = 1 }
: temple_entry(_G)
MAP
.....
.....
..O..
.....
.....
ENDMAP

NAME:   minmay_temple_entry_statues_fountains
TAGS:   transparent
: temple_entry(_G)
MAP
.......
.G.G.G.
..T.T..
.G.O.G.
..T.T..
.G.G.G.
.......
ENDMAP

NAME:   minmay_temple_entry_large_hall
TAGS:   transparent
SUBST:  x : xxxc, T = T:80 UV
: temple_entry(_G)
MAP
xx@xx@xx@xx
x.........x
@.........@
x..T...T..x
x.........x
@....O....@
x.........x
x..T...T..x
@.........@
x.........x
xx@xx@xx@xx
ENDMAP

NAME:   minmay_temple_entry_glassed_door
TAGS:   transparent
: temple_entry(_G)
MAP
xxx+xxx
x.....x
x.m+m.x
+.mOm.+
x.mmm.x
x.....x
xxx+xxx
ENDMAP

NAME:   minmay_temple_entry_steel_oval
TAGS:   transparent
WEIGHT: 2
: temple_entry(_G)
MAP
 ....vvv....
...vv...vv...
..v..vvv..v..
.v..v...v..v.
.v.v.vvv.v.v.
v.v.v...v.v.v
v.v.v.O.v.v.v
v.v.v...v.v.v
.v.v.vvv.v.v.
.v..v...v..v.
..v..vvv..v..
...vv...vv...
 ....vvv....
ENDMAP

NAME:   minmay_temple_entry_oklob
TAGS:   transparent
WEIGHT: 1
MONS:   plant, oklob sapling
: temple_entry(_G)
MAP
....1..
1.111.1
.11.11.
.1.O211
11.1111
.111.1.
1..11..
ENDMAP

NAME:   minmay_temple_entry_crystal_x
TAGS:   transparent
WEIGHT: 5
: temple_entry(_G)
MAP
.......
.b...b.
..b.b..
...O...
..b.b..
.b...b.
.......
ENDMAP

NAME:   minmay_temple_entry_junction_2
TAGS:   transparent
WEIGHT: 5
SUBST:  x : xccbbmv, T = T:39 V U:1
: temple_entry(_G)
MAP
...........
...x...x...
...x.T.x...
.xxx...xxx.
...........
..T..O..T..
...........
.xxx...xxx.
...x.T.x...
...x...x...
...........
ENDMAP

NAME:   minmay_temple_entry_water_ring
TAGS:   no_pool_fixup transparent
WEIGHT: 3
SUBST:  x : xxcccvvbt
KMASK:  W = no_monster_gen
: temple_entry(_G)
MAP
.............
.xxx.....xxx.
.xWWWWWWWWWx.
.xWx.....xWx.
..W.......W..
..W.......W..
..W...O...W..
..W.......W..
..W.......W..
.xWx.....xWx.
.xWWWWWWWWWx.
.xxx.....xxx.
.............
ENDMAP

NAME:   minmay_temple_entry_statues
WEIGHT: 5
: temple_entry(_G)
MAP
xGGGx
G...G
G.O.@
G...G
xGGGx
ENDMAP

NAME:   minmay_temple_entry_statues_pillars
TAGS:   transparent
SUBST:  c : cccxxb
KFEAT:  O = enter_temple
: temple_entry(_G)
MAP
c.G.c
.....
G.O.G
.....
c.G.c
ENDMAP

NAME:   minmay_temple_entry_from_below_a
WEIGHT: 5
: temple_entry(_G)
MAP
      @.
ccccccncc
c.......c
c.O.c.}.c
c.......c
ccncccccc
  @
ENDMAP

NAME:   minmay_temple_entry_from_below_b
WEIGHT: 2
: temple_entry(_G)
MAP
         @.
cccccccccnccc
cG.........Gc
c....T.T....c
c..O.....}..c
c....T.T....c
cG.........Gc
cccnccccccccc
   @
ENDMAP

NAME:   minmay_temple_entry_enclosed_plants
SUBST:  t : t12
MONS:   plant, bush
: temple_entry(_G)
MAP
 xxxxx
xxtttxx
xt...tx
xt.O.tx
xt...tx
xxt.txx
 xx+xx
ENDMAP

# Sometimes you just don't feel like walking all the way downstairs, you know?
NAME:   nicolae_temple_entry_ecumenical
TAGS:   uniq_ecumenical_altar
WEIGHT: 1
SUBST:  c : ct, - : p.
KMONS:  p = plant
KFEAT:  _ = altar_ecumenical
: temple_entry(_G)
MAP
 ccccc...ccccc
ccccc-...-ccccc
cc---..T..---cc
c-...........-c
c-._..---..O.-c
c-...-ccc-...-c
cc---ccccc---cc
 ccccccccccccc
ENDMAP

NAME:   minmay_temple_entry_arrows
TAGS:   transparent
SUBST:  c : ccccb
: temple_entry(_G)
MAP
        .
       ...
      ..c..
     ...c...
    ..c.c.c..
   ....ccc....
  ..c...c...c..
 ....c.....c....
..ccccc.O.ccccc..
 ....c.....c....
  ..c...c...c..
   ....ccc....
    ..c.c.c..
     ...c...
      ..c..
       ...
        .
ENDMAP

NAME:   minmay_temple_entry_sparse_star
TAGS:   transparent
SUBST:  ? : cGT.
SUBST:  c : ccccb
: temple_entry(_G)
MAP
      ...
      .c.
     .....
     .c.c.
    .......
  ...c.?.c...
...c.......c...
.c...?.O.?...c.
...c.......c...
  ...c.?.c...
    .......
     .c.c.
     .....
      .c.
      ...
ENDMAP

NAME:   minmay_temple_entry_slanted
TAGS:   transparent
SUBST:  c : ccccb
: temple_entry(_G)
MAP
       ...
       .c.
      .....
    ...c.c.
  ...cnc.c..
...ccc...cc.
.c........n..
...cc..O..cc...
  ..n........c.
   .cc...ccc...
   ..c.cnc...
    .c.c...
    .....
     .c.
     ...
ENDMAP

NAME:   minmay_temple_entry_antechambers
TAGS:   transparent
SUBST:  c : ccccb
SUBST:  ! : ..TG
SUBST:  ? : TG
: temple_entry(_G)
MAP
    ccccccc
ccccc!...!ccccc
c...c.....c...c
..?....O....?..
c...c.....c...c
ccccc!...!ccccc
    ccccccc
ENDMAP

NAME:   minmay_temple_entry_mini_moons
TAGS:   transparent
SUBST:  c : ccccb
: temple_entry(_G)
MAP
  ........
 ..c...cc..
....c.c..c.
.c..c....c.
..cc....c..
.....O.....
..c....cc..
.c....c..c.
.c..c.c....
..cc...c..
 ........
ENDMAP

NAME:   minmay_temple_entry_wispy
TAGS:   transparent
SUBST:  c : ccccb
: temple_entry(_G)
MAP
 ...
 .c...... ....
 ..cc..c...cc..
  ..cc..cccccc.
  ..ccc..cccc..
   .ccc.......
   ..c..O...c.
    .......c..
     ..cc.cc.
     .ccccc.
     ..ccc.
      ....
ENDMAP

NAME:   minmay_temple_entry_drinking_statues
TAGS:   transparent
SUBST:  T = T:99 V:1
: temple_entry(_G)
MAP
....
.GT.
......
.GT.O.
......
.GT.
....
ENDMAP

NAME:    minmay_temple_entry_offerings
TAGS:    transparent
SHUFFLE: def$
ITEM:    any weapon, any book, gold
: temple_entry(_G)
MAP
d.e
.O.
f.$
ENDMAP

NAME:   minmay_temple_entry_gardened_gates
TAGS:   transparent
KMONS:  p = plant
SUBST:  c : ccccb
: temple_entry(_G)
MAP
  p@p
 cc.cc
pc...cp
@..O..@
pc...cp
 cc.cc
  p@p
ENDMAP

NAME:   minmay_temple_entry_proselytizer
TAGS:   transparent
KMONS:  O = orc priest
: temple_entry(_G)
MAP
O
ENDMAP

NAME:   minmay_temple_entry_stoned_glass
TAGS:   transparent
: temple_entry(_G)
MAP
.........
.nc...cn.
.cn...nc.
.........
....O....
.........
.cn...nc.
.nc...cn.
.........
ENDMAP

NAME:   minmay_temple_entry_tees
TAGS:   transparent
SUBST:  c : ccccb
: temple_entry(_G)
MAP
     ...
    ..c..
   ...c...
  ...ccc...
 ...........
...c.....c...
.ccc..O..ccc.
...c.....c...
 ...........
  ...ccc...
   ...c...
    ..c..
     ...
ENDMAP

NAME:   minmay_temple_entry_ruins
TAGS:   transparent
: temple_entry(_G)
MAP
...............
.c.c.c....cc.c.
.c.c.c.cc....c.
...........c...
.c.cc.c.cc.c...
.c....c........
....c...c.c.cc.
.cc.c.O.c.c....
............c..
...c.c.c....c..
.c.c.c.c.cc....
.c...........c.
....c.cc.c.c.c.
.cc.c....c.c...
...............
ENDMAP

NAME:   minmay_temple_entry_waves
TAGS:   transparent
SUBST:  ? : ..TG
SUBST:  c : ccccb
: temple_entry(_G)
MAP
   .........
  ..c..?..c..
 ..cc.....cc..
..cc..c.c..cc..
.cc..cc.cc..cc.
....cc...cc....
..?....O....?..
....cc...cc....
.cc..cc.cc..cc.
..cc..c.c..cc..
 ..cc.....cc..
  ..c..?..c..
   .........
ENDMAP

##############################################################################
# <<M>> Temple maps
##############################################################################
# Maps for the Ecumenial Temple branch are here, through
# PLACE:  Temple
# ORIENT: encompass
#
# Altars are placed as B glyphs, and can (though do not need to) use
# placement modifications with SUBST / SHUFFLE transformations (alongside
# lua conditions or transformations). All temples should have a tag
# with the number of altars that can place. If a variable number of altars can
# be placed, use multiple tags and place the number of B glyphs returned by
# get_altar_count.
#
# TAGS:   temple_altars_X temple_altars_Y temple_altars_Z
# : local altar_count = get_altar_count(e, Z)
#
# The temple_altars_[X|Y|Z] tags must correspond to potential altar counts, and
# Z refers to the highest of those given potential altar totals.
#
# Layouts should stick to the range segments suited for 21 to 23 gods
# guaranteed in D:
#
# <<1>> Six to eight altars
# <<2>> Nine to twelve altars
# <<3>> Thirteen to fifteen altars
# <<4>> Sixteen to twenty altars
# <<5>> Twenty-one altars
# <<6>> Variable altars, generic layouts
# <<7>> Variable altars, unusual layouts
# <<8>> Rare temples, tagged with temple_rare
#
# When selecting a temple, there is a 1% chance that a rare temple will be
# used, (this is handled in ng-init.cc for temple selection, not with a CHANCE
# group). Temples containing non-temple gods should always be rare, other
# exceptionally abnormal temples should also be in this category. Rare temples
# cannot place a variable number of altars.
#
# Gods that don't show up in the Temple due to missing the altar count will
# instead appear in the Dungeon - see des/altar/overflow.des.
#
# For new vault-makers, new layouts should stick to a singular defining shape,
# a fixed altar count and existing themes in some of the other vaults until
# one knows what they are doing. While we have many maps as stands, variety
# in altar count and themes is still welcome.

##############################################################################
# <<1>> Six to eight gods.

# 6 gods
NAME:   nicolae_temple_stand_before_the_council
TAGS:   temple_altars_6
PLACE:  Temple
ORIENT: encompass
FTILE:  `B = floor_limestone
COLOUR: ` = yellow
MAP
xxxxxxxx
x```...xxxxx
x`B`.......xxx
x```.........xx
x`B`...U......xx
x```...........x
x`B`...........x
x```...U.....{.x
x`B`...........x
x```...........x
x`B`...U......xx
x```.........xx
x`B`.......xxx
x```...xxxxx
xxxxxxxx
ENDMAP

# 7 gods
NAME:    nicolae_temple_little_seven
TAGS:    temple_altars_7
PLACE:   Temple
ORIENT:  encompass
: if crawl.coinflip() then
SUBST:   DJ = G, EH = ., F = B, KLM = x
: else
SUBST:   DEF = x, HM = G, JL = ., K = B
: end
SHUFFLE: pqrs
SUBST:   p = T, qrs = .
MAP
xxxxxxxxxxxxxxxxx
xKJHFEDMLKJHFEDMx
xL.............Lx
xM....pqrsp....Kx
xD...s.....q...Jx
xE..r.......r..Hx
xF.q.........s.Fx
xH.p.........p.Ex
xJ.s....{....q.Dx
xK.r.........r.Mx
xL.q.........s.Lx
xM..p.......p..Kx
xD...s.....q...Jx
xE....rqpsr....Hx
xF.............Fx
xHJKLMDEFHJKLMDEx
xxxxxxxxxxxxxxxxx
ENDMAP

# 8 gods
NAME:   nicolae_temple_colour_theory
TAGS:   temple_altars_8
PLACE:  Temple
ORIENT: encompass
KFEAT:  PQR = c
{{
  local schemes = { {"lightblue", "lightred", "lightmagenta"},
                    {"lightgreen", "lightred", "yellow"},
                    {"lightblue", "lightgreen", "lightcyan"},
                    {"lightblue", "yellow", "lightgreen"},
                    {"lightred", "yellow", "brown"} } -- no orange, sadly

  local colorscheme = util.random_from( schemes )
  ftile("p' = floor_pebble_" .. colorscheme[1])
  ftile("q` = floor_pebble_" .. colorscheme[2])
  ftile("r{ = floor_pebble_" .. colorscheme[3])
  colour("Pp = " .. colorscheme[1])
  colour("Qq = " .. colorscheme[2])
  colour("Rr = " .. colorscheme[3])
}}
SUBST:  '` = B
MAP
ccccccccccccccccccccccccccccccccccccc
cccccccPPPPPPPPPcccccQQQQQQQQQccccccc
cccccPPPpppppppPPPcQQQqqqqqqqQQQccccc
ccccPPpppppppppppPRQ.qqqqqqqqqqQQcccc
cccPPpppppppp'ppppRqqqq`qqqqqqqqQQccc
ccPPpppppppppppppprqqqqqqqqqqqqqqQQcc
ccPpppppppppppppprrrqqqqqqqqqqqqqqQcc
cPPpp'pppPPPPPppprrrqqqQQQQQqqq`qqQQc
cPppppppPPcccPPprrrrrqQQcccQQqqqqqqQc
cPpppppPPcccccPRrrrrrRQcccccQQqqqqqQc
cPpppppPcccccccRrrrrrRcccccccQqqqqqQc
cPpppppPcccccccRrr{rrRcccccccQqqqqqQc
cPpppppPcccccccRrrrrrRcccccccQqqqqqQc
cPpppppPPcccccPRrrrrrRQcccccQQqqqqqQc
cPppppppPPcccPPprrrrrqQQcccQQqqqqqqQc
cPPpp'pppPPPPPppprrrqqqQQQQQqqq`qqQQc
ccPpppppppppppppprrrqqqqqqqqqqqqqqQcc
ccPPpppppppppppppprqqqqqqqqqqqqqqQQcc
cccPPpppppppp'ppppRqqqq`qqqqqqqqQQccc
ccccPPpppppppppppPRQqqqqqqqqqqqQQcccc
cccccPPPpppppppPPPcQQQqqqqqqqQQQccccc
cccccccPPPPPPPPPcccccQQQQQQQQQccccccc
ccccccccccccccccccccccccccccccccccccc
ENDMAP

# 8 gods
NAME:   nicolae_temple_godpark
TAGS:   temple_altars_8
PLACE:  Temple
ORIENT: encompass
KMONS:  p = plant
SUBST:  p = ttp
LFLOORCOL: green
LFLOORTILE: floor_grass
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xpppppppppppppppppppppppppppx
xpWWWWWWWppWWWWWWWppWWWWWWWpx
xpWT...TWWWWT...TWWWWT...TWpx
xpW.......................Wpx
xpW..B........B........B..Wpx
xpW.......................Wpx
xpWT...TWWWWT...TWWWWT...TWpx
xpWW...WWppWW...WWppWW...WWpx
xppW...WppppW...WppppW...Wppx
xppW...WppppW...WppppW...Wppx
xpWW...WWppWW...WWppWW...WWpx
xpWT...TWWWWT...TWWWWT...TWpx
xpW.......................Wpx
xpW..B........{........B..Wpx
xpW.......................Wpx
xpWT...TWWWWT...TWWWWT...TWpx
xpWW...WWppWW...WWppWW...WWpx
xppW...WppppW...WppppW...Wppx
xppW...WppppW...WppppW...Wppx
xpWW...WWppWW...WWppWW...WWpx
xpWT...TWWWWT...TWWWWT...TWpx
xpW.......................Wpx
xpW..B........B........B..Wpx
xpW.......................Wpx
xpWT...TWWWWT...TWWWWT...TWpx
xpWWWWWWWppWWWWWWWppWWWWWWWpx
xpppppppppppppppppppppppppppx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 8 gods
NAME:   pf_temple_reverse_labyrinth
TAGS:   temple_altars_8 no_pool_fixup
PLACE:  Temple
ORIENT: encompass
KFEAT:  a = x
# Make a path through the walls
NSUBST: a = 1:. / a
NSUBST: p = . / c
NSUBST: q = . / v
NSUBST: r = . / b
# Place a few dead-ends
NSUBST: ' = c / .
NSUBST: " = v / .
TILE:   c = wall_lab_stone
TILE:   v = wall_lab_metal
FTILE:  -."apqvcbT{ = floor_gauntlet
FTILE:  B` = floor_grass
: set_border_fill_type("open_sea")
MAP
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwxxxxxxxxxxxxxxxxxxwwwwwww
wwwwwwwwx..'.'.'.'.'.'.'.xwwwwwww
wwwwwwwwx'ccpcpcpcpcpcpc.xwwwwwww
wwwwwwwwx.p..".".".".".c'xwwwwwww
wwwwwwwwx'c"vvqvqvqvqv.p.xwwwwwww
wwwwwwwwx.p.q........v"c'xwwwwwww
wwwwwwwwx'c"v.TbrrbT.q.p.xwwwwwww
wwwwwwwwx.p.q.bb..bb.v"c'xwwwwwww
wwwwwwwwx'c"v.r.{..r.q.p.xwwwwwww
wwwwwwwwx.p.q.r....r.v"c'xwwwwwww
wwwwwwwwx'c"v.bb..bb.q.p.xwwwwwww
wwwwwwwwx.p.q.TbrrbT.v"c'xwwwwwww
wwwwwwwwx'c"v........q.p.xwwwwwww
wwwwwwwwx.p.vqvqvqvqvv"c'xwwwwwww
wwwwwwwwx'c."."."."."..p.xwwwwwww
wwwwwwwwx.cpcpcpcpcpcpcc'xwwwwwww
wwwwwwwwx.'.'.'.'.'.'.'..xwwwwwww
wwwwwwwwxxxaaaaaaaaaaaaxxxwwwwwww
wwwwwwwww````````````````wwwwwwww
wwwwwwwwww`B``````````B``wwwwwwww
wwwwwwwww`````B````B`````wwwwwwww
wwwwwwwww`B````````````B`wwwwwwww
wwwwwwwwww``````````````wwwwwwwww
wwwwwwwwwwww```B``B``wwwwwwwwwwww
wwwwwwwwwwwwww``````wwwwwwwwwwwww
wwwwwwwwwwwwwww```wwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ENDMAP

##############################################################################
# <<2>> Nine to twelve gods.

# 10 gods
NAME:    jpeg_temple_alley_garden
TAGS:    no_rotate temple_altars_10
PLACE:   Temple
ORIENT:  encompass
MONS:    bush, plant
NSUBST:  . = 12:1 / 7:2 / *:.
COLOUR:  ' : darkgrey w:3 / white w:1 / lightgrey
COLOUR:  . = green
COLOUR:  " = brown
FTILE:   .t12 = floor_grass
FTILE:   'BGT+ = floor_vault
FTILE:   D" = floor_dirt
MAP
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
tt''''''''''..................................................tt
tt'G'''''G''............................t............t........tt
tt''''''''''....................t..............t..............tt
tt''''''''''.............................................t....tt
tt''''''''''..............ccccccccccccccccccccccccc...........tt
tt''''''''''..............c'''''''''''''''''''''''c....t......tt
tt''''''''''..t.t.t.t.t...c'''B'''B'''B'''B'''B'''c...........tt
tt'T'''''T''"""""""""""""Dc'''''''''''''''''''''''c...........tt
tt''''''''''""""""""""""""+'''''''''''''''''''''''c........t..tt
tt''''{'''''""""""""""""""+''''''T'''''''''T''''''c...t.......tt
tt''''''''''""""""""""""""+'''''''''''''''''''''''c...........tt
tt'T'''''T''"""""""""""""Dc'''''''''''''''''''''''c...........tt
tt''''''''''..t.t.t.t.t...c'''B'''B'''B'''B'''B'''c.....t.....tt
tt''''''''''..............c'''''''''''''''''''''''c...........tt
tt''''''''''..............ccccccccccccccccccccccccc...........tt
tt''''''''''.........................................t........tt
tt''''''''''....................t...........t.................tt
tt'G'''''G''.......................t.......................t..tt
tt''''''''''..................................................tt
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
ENDMAP

# 9 gods
NAME:    jpeg_temple_island
TAGS:    no_rotate no_pool_fixup temple_altars_9
PLACE:   Temple
ORIENT:  encompass
MONS:    bush, plant
SUBST:   W = W:30 w, ~ = ':20 W
NSUBST:  ' = 5:t / 7:1 / 4:2 / *:'
NSUBST:  A = 1:{ / *:'
COLOUR:  ' = green / brown w:2
FTILE:   'A12 = floor_grass
FTILE:   .BT = floor_vault
: set_border_fill_type("open_sea")
MAP
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwww
wwwwwwwwwwwwwwWW~~~~~~~~~~~~~~~~~WWwwwwwwwwwwwwww
wwwwwwwwwwwwwWW~'''''''''''''''''~WWwwwwwwwwwwwww
wwwwwwwwwwwwWW~'''''''''''''''''''~WWwwwwwwwwwwww
wwwwwwwwwwwWW~'''''''''''''''''''''~WWwwwwwwwwwww
wwwwwwwwwwWW~''''''''ccccccc''''A'''~WWwwwwwwwwww
wwwwwwwwwWW~'''''''ccc.....ccc'''''''~WWwwwwwwwww
wwwwwwwwWW~''''''ccc...B.....ccc''''''~WWwwwwwwww
wwwwwwwwW~''''''cc.........B...cc''''''~Wwwwwwwww
wwwwwwwwW~''''''+...B........B..c''''''~Wwwwwwwww
wwwwwwwwW~''A'''+.......B.T.....c''''''~Wwwwwwwww
wwwwwwwwW~''''''+...B........B..c''''''~Wwwwwwwww
wwwwwwwwW~''''''cc.........B...cc''''''~Wwwwwwwww
wwwwwwwwWW~''''''ccc...B.....ccc''''''~WWwwwwwwww
wwwwwwwwwWW~'''''''ccc.....ccc'''''''~WWwwwwwwwww
wwwwwwwwwwWW~''''''''ccccccc''''A'''~WWwwwwwwwwww
wwwwwwwwwwwWW~'''''''''''''''''''''~WWwwwwwwwwwww
wwwwwwwwwwwwWW~'''''''''''''''''''~WWwwwwwwwwwwww
wwwwwwwwwwwwwWW~'''''''''''''''''~WWwwwwwwwwwwwww
wwwwwwwwwwwwwwWW~~~~~~~~~~~~~~~~~WWwwwwwwwwwwwwww
wwwwwwwwwwwwwwwWWWWWWWWWWWWWWWWWWWwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ENDMAP

# 10 gods
NAME:    cyrus_temple_forest
TAGS:    no_rotate temple_altars_10
PLACE:   Temple
ORIENT:  encompass
MONS:    plant, bush
NSUBST:  . = 10:X / 34:Y / *:.
SUBST:   X : tXY., X = t., Y : Y., Y = 1112..
SUBST:   - = ., " : """.
COLOUR:  .12 = green
COLOUR:  " : brown
COLOUR:  ' : white
FTILE:   T.t12 = floor_grass
FTILE:   " = floor_dirt
FTILE:   '{+GB = floor_vault
MAP
                 tttttttttttttttttttttttttttttt
                 tttttttttttttttttttttttttttttt
                 tt..........................tt
                 tt.."""................"""..tt
                 tt.."B"...""".."""....."B"..tt
                 tt.."""..."B".."B"....."""..tt
ccccccccccccccccccc........""".."""..........tt
c'''G''G''G''G''G'c..........................tt
c'''''''''''''''''+--..""".."""..""".."""....tt
c{''''''''''''''''+----"B".."T".."T".."B"....tt
c'''''''''''''''''+--..""".."""..""".."""....tt
c'''G''G''G''G''G'c..........................tt
ccccccccccccccccccc..........""".."""........tt
                 tt.."""....."B".."B"..."""..tt
                 tt.."B".....""".."""..."B"..tt
                 tt.."""................"""..tt
                 tt..........................tt
                 tttttttttttttttttttttttttttttt
                 tttttttttttttttttttttttttttttt
ENDMAP

# 12 gods
NAME:       minmay_temple_forest_path
TAGS:       temple_altars_12
PLACE:      Temple
ORIENT:     encompass
# No plants in corners (confuses autoexplore),
# only fringe the edge of the paths with either (no teleport closets).
KMONS:      P = plant / bush w:1 / fungus w:1
SUBST:      T = t:18 P:1 .:1, U = t:19 .:1
LFLOORCOL:  green
LFLOORTILE: floor_moss
MAP
tttttttttttttttttttttttttttttttttttttttttttttttttt
ttUTTTUttttttttttttttttttttttttttttttttttttttttttt
tUT...TTTUtttttttttUTTTUttttttttttttttttttUTTTUttt
tT.......TTTUttUTTTT...TUttttttttttttttttUT.{.TUtt
tT..B..T....TUUT........TttttttttttttttttT.....Ttt
tT.....TTTTT.TT..TT..B..TttttttttttttttttT.....Ttt
tUT...TUtttT....TUT.....TtttttttttUTTTUttT.....Ttt
ttT.TTUttttUT.TTUUT....TUttttttttUT...TUtUT...TUtt
ttUT.TtttttT..TttT.TTTTUttttttttUT.....TttUT.TUttt
tttT.TUtttUT.TTttT.TttttttttttttT...B..TtttT.Ttttt
tttUT.TttUT...TUUT.TttttttttttttUT.....TttUT.Ttttt
tttUT.TttT.....TT..TtttttttttttttUTT..TUUTT.TUtttt
tttT..TttT..B..TT.TUttttUTTTUtttttT..TUUT..TUttttt
tttT.TUttT.....TT..TTUtUT...TTTTUUT.TUUT.TTUtttttt
tttT.TUttUT...TTT....TTT........TT...TT.TUtUTTTUtt
tttT..TtttUTTTUUT.TTT.....B..TTT...TT.T.TtUT...TUt
tttUT.TTUtttttTT.TUtUTTT.....TtUTTTUUT.TUtT.....Tt
tttUT...TUtUTTT.TUtttttT....TUtttttttT.TUtT..B..Tt
tttT.....TTT...TUttttttT.TTTUttttttttUT.TTT.....Tt
tttT..B.....TT.TtttttttT.TTTTUttUTTTUtT.T......TUt
tttT.....TTTTT.TttttttUT.....TTTT...TUUT..TTTTTUtt
tttT....TUtT..TUTTTTTTT..TTTT........TTT.TUttttttt
tttT.TTTUttT.TUUT...T...TUttUTTT..B.....TUtttttttt
tttUT..TUtUT.TtT......TTUttttttT......TTUttttttttt
ttttUT..TTT..TtT..B..TTUtUTTUttUT...TTUttttttttttt
tttttUT.....TTtT.......TTT..TUttUTT..Ttttttttttttt
ttttttUTTTTTTttUT...TTT...TT.TTTUtUT.TUtttUTTTUttt
ttttttttttttttttT.TTUtUTTTUUT...TUtUT.TTTUT...TUtt
tttttUTTTTTTTTTTT.TtttttttttUTTT.TUTT....T.....Ttt
ttttUT...TT....T..TttttttttttttUT.T..TTT....B..Ttt
ttttT.......TT...TUttttttUTTTTTTT...TUtUTT.....Ttt
ttttT..B..TTTTTTTUttttttUT...T....TTUttttUT...TUtt
ttttT.....TtttttttttttttT......TTTUtttttttUTTTUttt
ttttUT...TUtttttttttttttT..B..TUtttttttttttttttttt
tttttUTTTUttttttttttttttT.....Tttttttttttttttttttt
ttttttttttttttttttttttttUT...TUttttttttttttttttttt
tttttttttttttttttttttttttTTTTTtttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttt
ENDMAP

# 11 gods
NAME:   minmay_temple_curvy_loop
TAGS:   no_rotate no_pool_fixup temple_altars_11
PLACE:  Temple
ORIENT: encompass
MONS:   plant
SUBST:  y : Ww, z : Ww, Y : W., Z : W.
SUBST:  1 : 1G., X : 1..
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxwwwxxxxxxxxwwwxxxxxxxxxx
xxxxxxxzzzWWWWWxxxxWWWWWyyyxxxxxxx
xxxxx........ZZZxxYY.........xxxxx
xxxx....B................{....xxxx
xxxx............xx............xxxx
xxx............xxxx............xxx
xxx.........xxxxxxxxxx.........xxx
xxx.......xxxxxxxxxxxxxx.......xxx
xx.......xx...xxxxxx...xx.......xx
xx.......x.....xxxx.....x.......xx
x1.......+..B..xxxx..B..+.......Xx
xx.......x.....xxxx.....x.......xx
xX.......xx...xxxxxx...xx.......1x
xx.......xxxxxxxxxxxxxxxx.......xx
x1.......xx...xxxxxx...xx.......Xx
xx.......x.....xxxx.....x.......xx
xX.......+..B..xxxx..B..+.......1x
xx.......x.....xxxx.....x.......xx
x1.......xx...xxxxxx...xx.......Xx
xx.......xxxxxxxxxxxxxxxx.......xx
xX.......xx...xxxxxx...xx.......1x
xx.......x.....xxxx.....x.......xx
x1.......+..B..xxxx..B..+.......Xx
xx.......x.....xxxx.....x.......xx
xX.......xx...xxxxxx...xx.......1x
xx.......xxxxxxxxxxxxxxxx.......xx
x1.......xx...xxxxxx...xx.......Xx
xx.......x.....xxxx.....x.......xx
xX.......+..B..xxxx..B..+.......1x
xx.......x.....xxxx.....x.......xx
xx.......xx...xxxxxx...xx.......xx
xxx.......xxxxxxxxxxxxxx.......xxx
xxx.........xxxxxxxxxx.........xxx
xxx............xxxx............xxx
xxxx............xx............xxxx
xxxx....B................B....xxxx
xxxxx.........YYxxZZZ........xxxxx
xxxxxxxyyyWWWWWxxxxWWWWWzzzxxxxxxx
xxxxxxxxxxwwwxxxxxxxxwwwxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 12 gods
NAME:   minmay_temple_bridge_abc
TAGS:   no_pool_fixup temple_altars_12
PLACE:  Temple
ORIENT: encompass
SUBST:  A : TUV
: local wrnd = crawl.random2(9)
: if wrnd == 0 then
SUBST:  '"- = ., ;~ = w
: elseif wrnd == 1 then
SUBST:  "; = ., '-b = w, ~ = b
: else
SUBST:  `~ = ., '";b = w
: end
MAP
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwww...wwwwww''''wwwwww...wwwwwwwww
wwwwwwww.....wwww'wwww'wwww..B..wwwwwwww
wwwwwwww.....www'wwbbww'www.....wwwwwwww
wwwwwwww..A..www'wbbbbw'www.B.B.wwwwwwww
wwwwwwww.....www'wwbbww'www.....wwwwwwww
wwwwwwww.....wwww'w;;w'wwww..B..wwwwwwww
wwwwwwww.....wwwww"ww"wwwww.....wwwwwwww
wwwwwwww......wwww"ww"wwww...B..wwwwwwww
wwwwwwww........-.-~~-..-.......wwwwwwww
wwwwwwww..{......-~~~~-.....B.B.wwwwwwww
wwwwwwww........-.-~~-..-.......wwwwwwww
wwwwwwww......wwww"ww"wwww...B..wwwwwwww
wwwwwwww.....wwwww"ww"wwwww.....wwwwwwww
wwwwwwww.....wwww'w;;w'wwww..B..wwwwwwww
wwwwwwww.....www'wwbbww'www.....wwwwwwww
wwwwwwww..A..www'wbbbbw'www.B.B.wwwwwwww
wwwwwwww.....www'wwbbww'www.....wwwwwwww
wwwwwwww.....wwww'wwww'wwww..B..wwwwwwww
wwwwwwwww...wwwwww''''wwwwww...wwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ENDMAP

# 12 gods
NAME:    nicolae_temple_hex_pool
TAGS:    no_pool_fixup temple_altars_12
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: JK, MN
SUBST:   JMP : GTt., KNQ : GTt.
NSUBST:  { = 1:{ / *:.
MAP
ccccccccccccccccccccccccccccccc
cccccccccccccc.P.cccccccccccccc
ccccccccccccQ.....Qcccccccccccc
cccccccccccc.......cccccccccccc
ccccccccccc....{....ccccccccccc
ccccccccccc.........ccccccccccc
ccccccccccc...B.B...ccccccccccc
cccc.K.cc.............cc.N.cccc
ccJ.......ww.......ww.......Mcc
cc.......wwwww...wwwww.......cc
c...{.B...wwwwwwwwwww...B.{...c
cK........wwwwwwwwwww........Nc
c...B.....wwwwwwwwwww.....B...c
cc.......wwwwwwwwwwwww.......cc
cc.......wwwwwwwwwwwww.......cc
cccc...wwwwwwwwwwwwwwwww...cccc
ccccc.wwwwwwwwwwwwwwwwwww.ccccc
cccc...wwwwwwwwwwwwwwwww...cccc
cc.......wwwwwwwwwwwww.......cc
cc.......wwwwwwwwwwwww.......cc
c...B.....wwwwwwwwwww.....B...c
cN........wwwwwwwwwww........Qc
c...{.B...wwwwwwwwwww...B.{...c
cc.......wwwww...wwwww.......cc
ccM.......ww.......ww.......Pcc
cccc.N.cc.............cc.Q.cccc
ccccccccccc...B.B...ccccccccccc
ccccccccccc.........ccccccccccc
ccccccccccc....{....ccccccccccc
cccccccccccc.......cccccccccccc
ccccccccccccK.....Kcccccccccccc
cccccccccccccc.J.cccccccccccccc
ccccccccccccccccccccccccccccccc
ENDMAP

# 9 gods
NAME:    nicolae_temple_figure_zero
TAGS:    temple_altars_9
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: Cc / Dd
SUBST:   cD = B, Cd = .
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvv...vvvvvvvvvvvvv
vvvvvvvvvvvv.....vvvvvvvvvvvv
vvvvvvvvvvvv.CcC.vvvvvvvvvvvv
vvvvv...vvvv.....vvvv...vvvvv
vvvv.....vvvv...vvvv.D...vvvv
vvvv..B..vvvvv+vvvvv..d..vvvv
vvvv.....vvv.....vvv...D.vvvv
vvvvv...+v.........v+...vvvvv
vvvvvvvvv...........vvvvvvvvv
vvvvvvvv.....vvv.....vvvvvvvv
vvvvvvvv....vvvvv....vvvvvvvv
vv...vv....v+...+v....vv...vv
v.....v...vv.....vv...v.....v
v..B..+...vv..{..vv...+..B..v
v.....v...vv.....vv...v.....v
vv...vv....v+...+v....vv...vv
vvvvvvvv....vvvvv....vvvvvvvv
vvvvvvvv.....vvv.....vvvvvvvv
vvvvvvvvv...........vvvvvvvvv
vvvvv...+v.........v+...vvvvv
vvvv.....vvv.....vvv.....vvvv
vvvv..B..vvvvv+vvvvv..B..vvvv
vvvv.....vvvv...vvvv.....vvvv
vvvvv...vvvv.....vvvv...vvvvv
vvvvvvvvvvvv..B..vvvvvvvvvvvv
vvvvvvvvvvvv.....vvvvvvvvvvvv
vvvvvvvvvvvvv...vvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 9 gods.
NAME:   nicolae_temple_cloud_nine
TAGS:   temple_altars_9
PLACE:  Temple
ORIENT: encompass
FTILE:  B.{ = floor_w_marble
COLOUR: c. = white
MARKER: { = lua:fog_machine{cloud_type = "white fluffiness", pow_max = 20, \
             delay_min = 10, delay_max = 50, size = 1,    \
             walk_dist = 5, start_clouds = 7}
MARKER: B = lua:fog_machine{cloud_type = "white fluffiness", pow_max = 20, \
             delay_min = 10, delay_max = 50, size = 1,    \
             walk_dist = 5, start_clouds = 7}

MAP
ccccccccccccccccccc
cccccc.......cccccc
cccc...........cccc
ccc.....B.......ccc
cc..........B....cc
cc..B............cc
c.................c
c..............B..c
c.................c
c..B.....{........c
c.................c
c..............B..c
c.................c
cc..B............cc
cc..........B....cc
ccc.....B.......ccc
cccc...........cccc
cccccc.......cccccc
ccccccccccccccccccc
ENDMAP

# 12 gods
NAME:   nicolae_temple_godzebo
TAGS:   temple_altars_12
PLACE:  Temple
ORIENT: encompass
SUBST:  - = t.
FTILE:  `cB = floor_sandstone
COLOUR: ` = brown
LFLOORCOL: green
LFLOORTILE: floor_grass
MAP
tttttttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttt
ttttttttttttttttttttttt-...-ttttttttttt-.-tttttttt
ttttttttttttttttttttt-........-tttttt-.....-tttttt
tttttttttttttttttttt-.......................-ttttt
tttttttttttttttttttt.........................-tttt
tttttttttttttttttttt........```````````.......tttt
ttttttttttttttttttt-.......``c```c```c``......-ttt
ttttttttttttttttttt.......```````````````......ttt
ttttttttttttttttttt......``c```B```B```c``.....ttt
ttttt-...-ttttttttt.....```````````````````....-tt
ttt-.......-tttttt-.....`c```````````````c`.....tt
ttt.........-tttt-......```````````````````.....tt
tt-..........-tt-.......```B```B```B```B```.....tt
tt......................```````````````````....-tt
tt-....{................`c```````````````c`....ttt
ttt-....................```````````````````....ttt
tttt-...................```B```B```B```B```...-ttt
ttttt-....-tt-..........```````````````````...tttt
ttttttt-.-tttt..........`c```````````````c`...tttt
tttttttttttttt-.........```````````````````...tttt
ttttttttttttttt..........``c```B```B```c``....-ttt
ttttttttttttttt...........```````````````......ttt
ttttttttttttttt............``c```c```c``......-ttt
ttttttttttttttt.............```````````.......tttt
ttttttttttttttt-.............................-tttt
tttttttttttttttt-...........................-ttttt
ttttttttttttttttt-.........................-tttttt
tttttttttttttttttttttt-..................-tttttttt
tttttttttttttttttttttttttttt-........-tttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttt
ENDMAP

##############################################################################
# <<3>> Thirteen to fifteen gods.

# 13 gods
NAME:    dshaligram_water_room_temple
TAGS:    no_pool_fixup no_rotate temple_altars_13
PLACE:   Temple
ORIENT:  encompass
MAP
ccccccccccccccccccccccccccccccccccccccccccccccccccc
cwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwc
cwwwwwwwwwwww.........................wwwwwwwwwwwwc
cwwwwwwww.................................wwwwwwwwc
cwwwww...................G...................wwwwwc
cwww......B.............................B......wwwc
cwww.............B...............B.............wwwc
cww.............................................wwc
cww.............................................wwc
cww...B......B...........{...........B......B...wwc
cww.............................................wwc
cww.............................................wwc
cwww.............B...............B.............wwwc
cwww......B.............................B......wwwc
cwwwww...................B...................wwwwwc
cwwwwwwww.................................wwwwwwwwc
cwwwwwwwwwwww.........................wwwwwwwwwwwwc
cwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwc
ccccccccccccccccccccccccccccccccccccccccccccccccccc
ENDMAP

# 14 gods
NAME:    eino_temple_water
TAGS:    no_pool_fixup no_rotate temple_altars_14
PLACE:   Temple
ORIENT:  encompass
: set_border_fill_type("open_sea")
MAP
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwww...wwwwwwwwwwwwwww
wwwwwwwwwwwwww..B..wwwwwwwwwwwwww
wwwwwwwwwwww.........wwwwwwwwwwww
wwwwwwwwwwww....B....wwwwwwwwwwww
wwwwwwwwwww..B.....B..wwwwwwwwwww
wwwwwwwwwwww.........wwwwwwwwwwww
wwwwwwwwwwww...www...wwwwwwwwwwww
wwwwwwwwwww...wwwww...wwwwwwwwwww
wwwwwwwwww...ww...ww...wwwwwwwwww
wwwwwwwwww......B......wwwwwwwwww
wwwwwwwww..B.........B..wwwwwwwww
wwwwwwwwww...www.......wwwwwwwwww
wwwwwwwwwwwwwwwww...wwwwwwwwwwwww
wwwwwwwwwwwwwwwwww...wwwwwwwwwwww
wwwwwwwwwwwwwwwwwww...wwwwwwwwwww
wwwwwwwwwwwwwwwwwww...wwwwwwwwwww
wwwwwwwwwwwwwwwwww...wwwwwwwwwwww
wwwwwwwwwwwwwwwww...wwwwwwwwwwwww
wwwwwwwwwww...........wwwwwwwwwww
wwwwwwwwww..G...{...G..wwwwwwwwww
wwwwwwwwwww...........wwwwwwwwwww
wwwwwwwwwwwww...wwwwwwwwwwwwwwwww
wwwwwwwwwwww...wwwwwwwwwwwwwwwwww
wwwwwwwwwww...wwwwwwwwwwwwwwwwwww
wwwwwwwwwww...wwwwwwwwwwwwwwwwwww
wwwwwwwwwwww...wwwwwwwwwwwwwwwwww
wwwwwwwwwwwww...wwwwwwwwwwwwwwwww
wwwwwwwwww.......www...wwwwwwwwww
wwwwwwwww..B.........B..wwwwwwwww
wwwwwwwwww......B......wwwwwwwwww
wwwwwwwwww...ww...ww...wwwwwwwwww
wwwwwwwwwww...wwwww...wwwwwwwwwww
wwwwwwwwwwww...www...wwwwwwwwwwww
wwwwwwwwwwww.........wwwwwwwwwwww
wwwwwwwwwwww.B.....B.wwwwwwwwwwww
wwwwwwwwwww.....B.....wwwwwwwwwww
wwwwwwwwwwww.........wwwwwwwwwwww
wwwwwwwwwwwwww..B..wwwwwwwwwwwwww
wwwwwwwwwwwwwww...wwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ENDMAP

# 13 gods
NAME:    cyrus_circular_temple
TAGS:    no_rotate temple_altars_13
PLACE:   Temple
ORIENT:  encompass
SUBST:   X : xc.
MAP
         ccccccccccccc
      cccc...........cccc
    ccc........{........ccc
   cc.....................cc
  cc.....B...X...X...B.....cc
 cc.........................cc
 c.........X...B...X.........c
cc...........................cc
c........B...X...X...B........c
c.............................c
c..B...X...X...B...X...X...B..c
c.............................c
c........B...X...X...B........c
cc...........................cc
 c.........X...B...X.........c
 cc.........................cc
  cc.....B...X...X...B.....cc
   cc.....................cc
    ccc........T........ccc
      cccc...........cccc
         ccccccccccccc
ENDMAP

# 14 gods
NAME:    minmay_temple_curvy_branch
TAGS:    temple_altars_14
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: GT, C'D" / D"C' / C'E` / E`C'
SUBST:   C = B, '"D = ., E` = x
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxx
xxxxxxx.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxx
xxxxxxx..B..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..B..xxxxxxx
xxxxxxx.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxx
xxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxx
xxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxx
xx...xxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxx...xx
x.....x........xxxxxxxxxxxxxxxxxxxxxxxxx........x.....x
x..B..+..G........xxxxxxxxxxxxxxxxxxx........G..+..B..x
x.....x.............xxxxxx"""xxxxxx.............x.....x
xx...xxx.............xxxx"""""xxxx.............xxx...xx
xxxxxxxxx+xxxx.......xxxx""D""xxxx.......xxxx+xxxxxxxxx
xxxxxxxx...xxxxxx.....xxx"""""xxx.....xxxxxx...xxxxxxxx
xxxxxxx.....xxxxxxx....xxx"""xxx....xxxxxxx.....xxxxxxx
xxxxxxx..B..xxxxxxxx.....xx+xx.....xxxxxxxx..B..xxxxxxx
xxxxxxx.....xxxxxxxx...............xxxxxxxx.....xxxxxxx
xxxxxxxx...xxxxx'''xx....T...T....xx'''xxxxx...xxxxxxxx
xxxxxxxxxxxxxxx'''''x.............x'''''xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx''C''+......{......+''C''xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx'''''x.............x'''''xxxxxxxxxxxxxxx
xxxxxxxx...xxxxx'''xx....T...T....xx'''xxxxx...xxxxxxxx
xxxxxxx.....xxxxxxxx...............xxxxxxxx.....xxxxxxx
xxxxxxx..B..xxxxxxxx.....xx+xx.....xxxxxxxx..B..xxxxxxx
xxxxxxx.....xxxxxxx....xxx"""xxx....xxxxxxx.....xxxxxxx
xxxxxxxx...xxxxxx.....xxx"""""xxx.....xxxxxx...xxxxxxxx
xxxxxxxxx+xxxx.......xxxx""D""xxxx.......xxxx+xxxxxxxxx
xx...xxx.............xxxx"""""xxxx.............xxx...xx
x.....x.............xxxxxx"""xxxxxx.............x.....x
x..B..+..G........xxxxxxxxxxxxxxxxxxx........G..+..B..x
x.....x........xxxxxxxxxxxxxxxxxxxxxxxxx........x.....x
xx...xxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxx...xx
xxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxxxxxx
xxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxx
xxxxxxx.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxx
xxxxxxx..B..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..B..xxxxxxx
xxxxxxx.....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.....xxxxxxx
xxxxxxxx...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...xxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 13 altars
NAME:   oiseaux_autumnal_temple
TAGS:   no_rotate no_pool_fixup temple_altars_13
PLACE:  Temple
ORIENT: encompass
KFEAT:  A = w
SUBST:  c : c-""""""", " = c-
MARKER: A = lua:fog_machine { cloud_type = "thin mist", pow_min = 2, \
        pow_max = 6, delay = 4, start_clouds = 1, size_min = 2, \
        size_max = 6, spread_rate = 2 }
COLOUR: . = brown
COLOUR: t = red w:5 / yellow w:5 / brown
COLOUR: ' = darkgrey
FTILE:  t. = floor_swamp
FTILE:  - = floor_pebble
FTILE:  B{' = floor_pebble_brown
TILE:   c = wall_stone_smooth
TILE:   t = dngn_tree_yellow w:5 / dngn_tree_lightred w:5 / \
            dngn_tree_red / dngn_tree_dead w:3
MAP
tttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttt
ttttttttttAwwwtttttttttttttttttttttttttt
tttttttttttttwwwtttttttttttttttttttttttt
tttttttttttttttwwwtttttttttttttttttttttt
ttttt.-ccccttttttwwwtttttttttttttttttttt
ttttt.c'''cttttttttwwttttttttttttttttttt
ttttt.c'B'ctttttttttwwtttttttttttttttttt
tttt..c'''ttttttttttwwtttttttttttttttttt
ttttttc-c''t..tttttwwtttttttcccctttttttt
ttttttt...''.--tttWwwtttttttc''''ttttttt
tttttttt..c'''c..tWwwWttttttc'B'tttttttt
tttttt....-'B'c...WwwW..ttt.-.''''.ttttt
ttttt......'''c..WwwW'--..t.c.'''..ttttt
tttt........''..Wwwc'''c'......'....tttt
tt...cc-c-...'tWwwWc'B''.....''....ttttt
ttt..c'''c.....WwW.-''.......'''..tttttt
ttt..c'B'''.'..WwwWt....t...-'B'-..ttttt
tttt.c''.c......Wwwtt........''.cttttttt
ttttttt......t..ttwttt....'.'..ttttttttt
ttttttttttt...ttttwwttt..t.......ttttttt
tttttttttttt..tttttwttttt..-cc'...tttttt
ttttttttttt'.ttttttwwtttt..''c.....ttttt
ttttttt.ccc''...ttttwwwttt'B'c......tttt
tttttt..-'''''.ttcttttwwtt'''-.....ttttt
ttt.....c''B''c..c'Btttwwt.....'.--.tttt
tttt....c'''''c..c'''ttWwwW.....''c..ttt
ttt.......'''....-cc'cttWwW.--.'B't...tt
tt..--.....''......'''.tWwwW--..''c..ttt
tt..c''.....'t.....'''''tWww--W..cc...tt
tt..t'B'.....'.........'.tWw--wW.....ttt
ttt..'''.........t.........W--wwW...tttt
tt...c...t............t....'--WwwW...ttt
ttttt...'...t....''....t....--tWwwW..ttt
tttttttt..'ttt..''''.tttt.....ttWwwWtttt
ttttttttt'.ttttt-'B''.ttttt..'ttttwttttt
tttttttt''ttttttc'''.ttttttt'.ttttwwtttt
ttttttt''tttttttccc-ttttttttt''ttttwwttt
ttttttc-'ttttttttttttttttttt''tttttwwttt
ttttttc'''ctttttttttttttttttt''''tttwwtt
ttttttc'B'cttttttttttttttttt''''''tttwtt
ttttttc'''c.ttttttttttttttt'''{'''tttAtt
tttttt-cccc.tttttttttttttttt''''''tttttt
ttttttt.....tttttttttttttttttt''tttttttt
tttttttttt.ttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttt
ENDMAP

# 13 gods
NAME:   nicolae_temple_figure_eight
TAGS:   temple_altars_13
PLACE:  Temple
ORIENT: encompass
NSUBST: A = 1:{ / *:B
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvv...vvvvvvvvvvvvv...vvvvvvvvvvvvv
vvvvvvvvvvvv.....vvvvvvvvvvv.....vvvvvvvvvvvv
vvvvvvvvvvvv..B..vvvvvvvvvvv..B..vvvvvvvvvvvv
vvvvv...vvvv.....vvvv...vvvv.....vvvv...vvvvv
vvvv.....vvvv...vvvv.....vvvv...vvvv.....vvvv
vvvv..B..vvvvv+vvvvv..A..vvvvv+vvvvv..B..vvvv
vvvv.....vvv.....vvv.....vvv.....vvv.....vvvv
vvvvv...+v.........v+...+v.........v+...vvvvv
vvvvvvvvv...........vvvvv...........vvvvvvvvv
vvvvvvvv.....vvv.....vvv.....vvv.....vvvvvvvv
vvvvvvvv....vvvvv.....v.....vvvvv....vvvvvvvv
vv...vv....v+...+v.........v+...+v....vv...vv
v.....v...vv.....vv.......vv.....vv...v.....v
v..A..+...vv..A..vvv.....vvv..A..vv...+..A..v
v.....v...vv.....vv.......vv.....vv...v.....v
vv...vv....v+...+v.........v+...+v....vv...vv
vvvvvvvv....vvvvv.....v.....vvvvv....vvvvvvvv
vvvvvvvv.....vvv.....vvv.....vvv.....vvvvvvvv
vvvvvvvvv...........vvvvv...........vvvvvvvvv
vvvvv...+v.........v+...+v.........v+...vvvvv
vvvv.....vvv.....vvv.....vvv.....vvv.....vvvv
vvvv..B..vvvvv+vvvvv..A..vvvvv+vvvvv..B..vvvv
vvvv.....vvvv...vvvv.....vvvv...vvvv.....vvvv
vvvvv...vvvv.....vvvv...vvvv.....vvvv...vvvvv
vvvvvvvvvvvv..B..vvvvvvvvvvv..B..vvvvvvvvvvvv
vvvvvvvvvvvv.....vvvvvvvvvvv.....vvvvvvvvvvvv
vvvvvvvvvvvvv...vvvvvvvvvvvvv...vvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 13 gods
NAME:    nicolae_temple_god_jail
TAGS:    temple_altars_13
PLACE:   Temple
ORIENT:  encompass
KFEAT:   m = iron_grate
SHUFFLE: PQR
SUBST:   PQ = m, R = +
MAP
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
v...v...v...v...v...v...v...v
v.B.v.B.v.B.v.{.v.B.v.B.v.B.v
v...v...v...v...v...v...v...v
vPQRvPQRvPQRv...vRQPvRQPvRQPv
v...........m...m...........v
v...........+...+...........v
v...........m...m...........v
vPQRvPQRvPQRvm+mvRQPvRQPvRQPv
v...v...v...v...v...v...v...v
v.B.v.B.v.B.v.B.v.B.v.B.v.B.v
v...v...v...v...v...v...v...v
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 15 gods
NAME:    regret_index_temple_waves
TAGS:    no_rotate no_pool_fixup temple_altars_15
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: {<defgh / {<defgh / <{hgfed
SHUFFLE: def, PQRS, -' / -' / ="
SUBST:   < = B, d : W.., e : W.ccc, fgh = c
SUBST:   P : wc, Q : wc.., R : wc..., S : wc....
SUBST:   - = ~, ' = ., =" = c, ~ : cccww
MAP
ccccccccccccccccccccccccccc
c--~~~~~~~~~~~~~~~~.....''c
c--~~~~~~~~~~~~~~~~.....''c
c--~~~~~~~~~~~~.......{.''c
c--~~~~~~~~~~......P....''c
c--~~~~~~.......B.......''c
c--~~~~......Q......cchcccc
c''.......B.......ccc...''c
c''....P......ccgcc.....''c
c''.<.......cfc.......B.''c
c''.....ccccc......R....''c
c''...cec.......B.......''c
ccccdcc......S......ccdcccc
c''.......B.......cec...''c
c''....R......ccccc.....''c
c''.B.......cfc.......B.''c
c''.....ccccc......R....''c
c''...cgc.......B.......''c
cccchcc......S......cchcccc
c''.......B.......cgc...''c
c''....R......ccccc.....''c
c''.B.......cfc.......B.''c
c''.....ccccc......P....''c
c''...cec.......B.......''c
ccccdcc......Q......~~~~--c
c''.......B.......~~~~~~--c
c''....P......~~~~~~~~~~--c
c''.B.......~~~~~~~~~~~~--c
c''.....~~~~~~~~~~~~~~~~--c
c''...~~~~~~~~~~~~~~~~~~--c
ccccccccccccccccccccccccccc
ENDMAP

# 15 gods
NAME:    regret_index_temple_generic_petals
TAGS:    no_rotate temple_altars_15
PLACE:   Temple
ORIENT:  encompass
KMONS:   P = plant
KMONS:   b = bush
SHUFFLE: de, fg, DEFGHI
SUBST:   d : ++., f : ++., eg = c
SUBST:   h : ++., i : ++., j : ++., k : ++.
SUBST:   D : Pbx.., E : Pbx..., F : Pxx...., G : Pxx.....
SUBST:   H : Pxx......, I : Pxx......., ' : c.., " : c..
MAP
ccccccccccccccccccccccccccccccccc
c........c...'''.'''...c........c
c.D......d....'...'....f...B..E.c
c...{....c.....'.'.....c........c
c.......cc.............cc.....B.c
c......cc......chc......cc......c
c....cec......cc.cc......cgc....c
c...cc.....cccc...cccc.....cc...c
ccdcc....kcc.cc...cc.cci....ccfcc
c........c...c..B..c...c........c
c.......cc.B.cc...cc.B.cc.......c
c.......c...I.c.F.c.G...c.......c
c"......cccc..cc.cc..cccc......"c
c""....ccc.ccccccccccc.ccc....""c
c"."..cc.....ccccccc.....cc.."."c
c...".j...B.H.ccccc.H.B...j."...c
c"."..cc.....ccccccc.....cc.."."c
c""....ccc.ccccccccccc.ccc....""c
c"......cccc..cc.cc..cccc......"c
c.......c...G.c.F.c.I...c.......c
c.......cc.B.cc...cc.B.cc.......c
c........c...c..B..c...c........c
ccfcc....icc.cc...cc.cck....ccdcc
c...cc.....cccc...cccc.....cc...c
c....cgc......cc.cc......cec....c
c......cc......chc......cc......c
c.B.....cc.............cc..B..B.c
c........c.....'.'.....c........c
c.E..B...f....'...'....d...B..D.c
c........c...'''.'''...c........c
ccccccccccccccccccccccccccccccccc
ENDMAP

##############################################################################
# <<4>> Sixteen to twenty gods.

# 18 gods
NAME:    dpeg_five_rooms_temple
TAGS:    no_rotate temple_altars_18
PLACE:   Temple
ORIENT:  encompass
SUBST:   X : GUT
MAP
                   xxxxxxxxx
              xxxxxx.......xxxxxx
         xxxxxx........x........xxxxxx
      xxxx........xxxxx+xxxxx........xxxx
     xx.....xxxxxxxxx.....xxxxxxxxx.....xx
    xx...xxxxxxxxxx.........xxxxxxxxxx...xx
   xx..xxxxxxxxxxx...........xxxxxxxxxxx..xx
  xx..xxxxxxxxxxxx.....{.....xxxxxxxxxxxx..xx
  x..xxxxxxxxxxxxx...........xxxxxxxxxxxxx..x
 xx..xxx.....xxxxxx.........xxxxxx.....xxx..xx
 x..+x...B.....xxxxxx.....xxxxxx.....B...x+..x
xx..x...........xxxxxxxxxxxxxxx...........x..xx
x..xx..B..X..B..xxxxxxxxxxxxxxx..B..X..B..xx..x
x..xx...........xxxxxxxxxxxxxxx...........xx..x
x..xxx.....B...xxxxxxxxxxxxxxxxx...B.....xxx..x
x..xxxxx.....xxxxxxxxxxxxxxxxxxxxx.....xxxxx..x
x..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..x
x..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx..x
x..xxxxxxxxxx.....xxxxxxxxxxx.....xxxxxxxxxx..x
xx..xxxxxxx...B.....xxxxxxx.....B...xxxxxxx..xx
 x..xxxxxx.......B...xxxxx...B.......xxxxxx..x
 xx..xxxxx..B..X.....xxxxx.....X..B..xxxxx..xx
  x..xxxxx........B..xxxxx..B........xxxxx..x
  xx..xxxxx....B....xxxxxxx....B....xxxxx..xx
   xx..xxxxxx.....xxxxxxxxxxx.....xxxxxx..xx
    xx...xxx+xxxxxxxxxxxxxxxxxxxxx+xxx...xx
     xxx....xxxxxxxxxxxxxxxxxxxxxxx....xxx
       xxx........xxxxxxxxxxx........xxx
         xxxxxx........x........xxxxxx
              xxxxxx.......xxxxxx
                   xxxxxxxxx
ENDMAP

# 16 gods
NAME:    eino_temple_scatter_basement
TAGS:    no_rotate temple_altars_16
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: CD, ab, cde, fgh, ij, klm, no, pq, rs, tu, vw, yz, @&
SUBST:   C = B, D = ., a : x., c : x., f : x., i : x., k : x.
SUBST:   n : x., p : x., r : x., t : x., v : x., y : x., @ : x.
SUBST:   bdeghjlmoqsuwz& = x, ' : x., " : x., ` : x.
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxx@xxxxxxxxxxx&xxxxxxxxxxx
xxxxvx...x...x.xyxzx.x...x...xwxxxx
xxxvx.....x.x...xxx...x.x.....xwxxx
xxxx....C..x..D..x..D..x..C....xxxx
xxxt............xxx............uxxx
xxxx...x.x....xxrxsxx....x.x...xxxx
xnxxx.xxxxx..xpxxxxxqx..xxxxx.xxxox
x..x...xxx....xxlxmxx....xxx...x..x
x.x.....x.......xkx.......x.....x.x
xx...B..x..B.....x.....B..x..B...xx
x.......x.................x.......x
xx.....xxx....`..'.."....xxx.....xx
xix...xdxex...xx...xx...xgxhx...xjx
xx.....xcx...xaxx.xxbx...xfx.....xx
x.......x.....xx...xx.....x.......x
x..B.......x.Bx..{..xB.x.......B..x
x.......x.....xx...xx.....x.......x
xx.....xfx...xbxx.xxax...xcx.....xx
xjx...xhxgx...xx...xx...xexdx...xix
xx.....xxx...."..'..`....xxx.....xx
x.......x.................x.......x
xx...B..x..B.....x.....B..x..B...xx
x.x.....x.......xkx.......x.....x.x
x..x...xxx....xxmxlxx....xxx...x..x
xoxxx.xxxxx..xqxxxxxpx..xxxxx.xxxnx
xxxx...x.x....xxsxrxx....x.x...xxxx
xxxu............xxx............txxx
xxxx....C..x..D..x..D..x..C....xxxx
xxxwx.....x.x...xxx...x.x.....xvxxx
xxxxwx...x...x.xzxyx.x...x...xvxxxx
xxxxxxxxxxx&xxxxxxxxxxx@xxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 16 gods
NAME:    eino_temple_rhombus
TAGS:    temple_altars_16
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: defghij, klmnopq, rs / rs / sr, tu / tu / ut
SUBST:   deklrt = x, f : x.., m : x.., ghijnopqsu = .
SUBST:   W : xx., X : xx., Y : xx., Z : xx.
SUBST:   D : GGTTUb.., E : GGTTUb.., F : GGTTUb..
MAP
                    xxx       xxx
                   xxXxx     xxYxx
                  xx...xx   xx...xx
                 xx..x..xx xx..x..xx
                xx..x.x..xxx..x.x..xx
               xx..x...x..x..x...x..xx
              xx..x..B..x.F.x..B..x..xx
             xx....r...x.....x...t....xx
            xx..x.ssr.x...x...x.tuu.x..xx
           xx..x.rss.x...x.x...x.uut.x..xx
          xx..x...r.....x.A.x.....t...x..xx
          xW.x..B..x...x.....x...x..B..x.Zx
          xx..x...x...x...B...x...x...x..xx
           xx..x.x...x.de...lk.x...x.x..xx
            xx..x...x..fgh.onm..x...x..xx
             xx....x....ij.qp....x....xx
              xxE.x...B...D...B...x..xx
             xx....x....pq.ji....x..xx
            xx..x...x..mno.hgf..x..xx
           xx..x.x...x.kl...ed.x..xx
          xx..x...x...x...B...x..xx
         xx..x.....x.{.x.....x..xx
        xx..x...B...x...x...x..xx
       xx..x.de...lk.x...x.x..xx
      xx..x..fgh.onm..x...x..xx
     xx..x....ij.qp....x....xx
    xx..x...B...D...B...x.Exx
   xx....x....pq.ji....x....xx
  xx..x...x..mno.hgf..x...x..xx
 xx..x.x...x.kl...ed.x...x.x..xx
xx..x...x...x...B...x...x...x..xx
xZ.x..B..x...x.....x...x..B..x.Wx
xx..x...t.....x...x.....r...x..xx
 xx..x.tuu.x...x.x...x.ssr.x..xx
  xx..x.ttt.x...x...x.rss.x..xx
   xx....t...x.....x...r....xx
    xx..x..B..x.F.x..B..x..xx
     xx..x...x..x..x...x..xx
      xx..x.x..xxx..x.x..xx
       xx..x..xx xx..x..xx
        xx...xx   xx...xx
         xxYxx     xxXxx
          xxx       xxx
ENDMAP

# 17 gods
# XXX: Too large and enclosed?
NAME:    minmay_crystal_spiral_temple
TAGS:    temple_altars_17
PLACE:   Temple
ORIENT:  encompass
MAP
                  bbbbbbb
                  b.....b
                  b.....b
                  b..{..b
                 bb.....b
                bb......b
            bbbbb...bbbbbbbbbbb
            b......bb   b.....b
            b.....bb    b.....b
            b..B..b     b..B..b
           bb.....b    bb.....bb
          bb......b   bb.......bb
      bbbbb...bbbbbbbbb...bbb...bbbbb
      b......bb   b......bb bb......b
      b.....bb    b.....bb   bb.....b
      b..B..b     b..B..b     b..B..b
     bb.....b    bb.....b     b.....bb
    bb......b   bb......b     b......bb
bbbbb...bbbbbbbbb...bbbbbbbbbbbbbbb...bbbbb
b......bb   b......bb   b.....b   bb......b
b.....bb    b.....bb    b...B.b    bb.....b
b..B..b     b..B..b     b.....b     b..B..b
b.....bb    b.....bb   bb.B...b    bb.....b
b......bb   b......bb bb......b   bb......b
bbbbb...bbbbbbbbb...bbb...bbbbbbbbb...bbbbb
    bb......b   bb.......bb   b......bb
     bb.....b    bb.....bb    b.....bb
      b..B..b     b..B..b     b..B..b
      b.....bb    b.....b    bb.....b
      b......bb   b.....b   bb......b
      bbbbb...bbbbbbbbbbbbbbb...bbbbb
          bb......b     b......bb
           bb.....b     b.....bb
            b..B..b     b..B..b
            b.....bb   bb.....b
            b......bb bb......b
            bbbbb...bbb...bbbbb
                bb.......bb
                 bb...B.bb
                  b.....b
                  b.B...b
                  b.....b
                  bbbbbbb
ENDMAP

# 16 gods
NAME:    nicolae_temple_elliptical
TAGS:    temple_altars_16
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: G{
NSUBST:  { = 1:{ / *:G
SUBST:   G : GT, c : ccccvb, d : cccvbxm
MAP
                 ccccccccccccccc
             ccccc.............ccccc
          cccc..........{..........cccc
        ccc...........................ccc
      ccc.............dd.dd.............ccc
     cc...............d...d...............cc
    cc...G..............B..............G...cc
   cc...........dd.dd.d...d.dd.dd...........cc
  cc............d...d.dd.dd.d...d............cc
 cc...............B...........B...............cc
 c........dd.dd.d...d.dd.dd.d...d.dd.dd........c
cc........d...d.dd.dd.d...d.dd.dd.d...d........cc
c...........B...........B...........B...........c
c...dd.dd.d...d.dd.dd.d...d.dd.dd.d...d.dd.dd...c
c...d...d.dd.dd.d...d.dd.dd.d...d.dd.dd.d...d...c
c.{...B...........B...........B...........B...{.c
c...d...d.dd.dd.d...d.dd.dd.d...d.dd.dd.d...d...c
c...dd.dd.d...d.dd.dd.d...d.dd.dd.d...d.dd.dd...c
c...........B...........B...........B...........c
cc........d...d.dd.dd.d...d.dd.dd.d...d........cc
 c........dd.dd.d...d.dd.dd.d...d.dd.dd........c
 cc...............B...........B...............cc
  cc............d...d.dd.dd.d...d............cc
   cc...........dd.dd.d...d.dd.dd...........cc
    cc...G..............B..............G...cc
     cc...............d...d...............cc
      ccc.............dd.dd.............ccc
        ccc...........................ccc
          cccc..........{..........cccc
             ccccc.............ccccc
                 ccccccccccccccc
ENDMAP

# 16 gods
NAME:   lightli_temple_of_artemis
TAGS:   temple_altars_16
TAGS:   no_pool_fixup
PLACE:  Temple
ORIENT: encompass
KFEAT:  ~ = floor
MARKER: d = lua:fog_machine { cloud_type = "flame", pow_min = 100, \
                              pow_max = 100, delay = 1, start_clouds = 1, \
                              size = 1, spread_rate = 0, excl_rad = -1 }
COLOUR: c = white
COLOUR: . = lightgrey
COLOUR: ~ = green
FTILE:  .BGd = floor_marble
FTILE:  ~t{ = floor_grass
TILE:   c = wall_marble
MAP
tttttttttttttttttttttttttttttttt
twwwwwwwwwwwwwwwwwwwwwwwwwwwwwwt
tw~~~~~~~~~~~~~~~~~~~~~~~~~~~~wt
tw~c~c~c~c~c~c~c~c~c~c~c~c~c~cwt
tw~~~~~~~~~~~~~~~~~~~~~~~~~~~~wt
tw~c~ccccccccccccccccccccccc~cwt
tw~~~c.................G...c~~wt
tw~c~c.....................c~cwt
tw~~~c.....B..B..B..B..B...c~~wt
tw~c~cc.c...................~cwt
tw~~~cdBG..B..B..B..B..B....~~{t
tw~c~cc.c...................~cwt
tw~~~c.....B..B..B..B..B...c~~wt
tw~c~c.....................c~cwt
tw~~~c.................G...c~~wt
tw~c~ccccccccccccccccccccccc~cwt
tw~~~~~~~~~~~~~~~~~~~~~~~~~~~~wt
tw~c~c~c~c~c~c~c~c~c~c~c~c~c~cwt
tw~~~~~~~~~~~~~~~~~~~~~~~~~~~~wt
twwwwwwwwwwwwwwwwwwwwwwwwwwwwwwt
tttttttttttttttttttttttttttttttt
ENDMAP

# 18 gods
NAME:    regret_index_temple_chain_breaker
TAGS:    temple_altars_18
TAGS:    no_rotate
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: hi, qrs / qrs / rqs / rsq, xyz / xyz / yxz / yzx, QR, YZ
SUBST:   hqx = v, i : v.., j : vv., k : vv.
SUBST:   r : v.., y : v.., szRZ = ., Q : v..., Y : v...
MAP
ccccccccccccccccccccccccccccccccccccccccccccc
c......vBv....................vBv...........c
c.v.v......Rv.vQ.....h...v.v......Rv.vQ.....c
cv...v.....v...v..v.....v...v.....v...v..v..c
c..B..vv.vv..B..vv.vj.....B..vv.vv..B..vv.vvc
cv...v.rqs.v...v..v.....v...v.rqs.v...v..v..c
c.v.v......Qv.vR.....i...v.v......Qv.vR.....c
c.....Zv.vY......v.v...i.....Zv.vY......v.v.c
c..v..v...v.zxy.v...v.....v..v...v.zxy.v...vc
cvv.vv..B..vv.vv..B.....kv.vv..B..vv.vv..B..c
c..v..v...v.yxz.v...v.h...v..v...v.yxz.v...vc
c.....Yv.vZ......v.v.........Yv.vZ......v.v.c
c.....................{.....................c
c.v.v......Zv.vY.........v.v......Zv.vY.....c
cv...v.yxz.v...v..v...h.v...v.yxz.v...v..v..c
c..B..vv.vv..B..vv.vk.....B..vv.vv..B..vv.vvc
cv...v.zxy.v...v..v.....v...v.zxy.v...v..v..c
c.v.v......Yv.vZ.....i...v.v......Yv.vZ.....c
c.....Rv.vQ......v.v...i.....Rv.vQ......v.v.c
c..v..v...v.sqr.v...v.....v..v...v.sqr.v...vc
cvv.vv..B..vv.vv..B.....jv.vv..B..vv.vv..B..c
c..v..v...v.....v...v.....v..v...v.....v...vc
c.....Qv.vR......v.v...h.....Qv.vR......v.v.c
c...........vBv....................vBv......c
ccccccccccccccccccccccccccccccccccccccccccccc
ENDMAP

# 18 gods
NAME:    regret_index_temple_mists
TAGS:    no_rotate no_pool_fixup temple_altars_18
PLACE:   Temple
ORIENT:  encompass
KFEAT:   F = w
SHUFFLE: HIJKLMN
SUBST:   HIJKL = B, M : GTUtx, N : GTUtx, m : nwW, o : nwW
SUBST:   - : wxWW, ~ : wxWW, ' : wW, " : wW, ` : wW
MARKER:  F = lua:fog_machine { cloud_type = "thin mist", pow_min = 10, \
         pow_max = 14, delay = 60, start_clouds = 3, size_min = 6, \
         size_max = 8, walk_dist = 2, spread_rate = 6 }
MAP
    bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 bbbbnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbb
 bnnnnWWWWWWWWWWWWWWWWWmmmmmWWWWWWWWWWWWWWWWWWWnnbb
 bnFWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWFnnb
bbnWWWWWW...WWWWWWWWWWWWWWWWWWWWWWWWWWW...WWWWWWWnb
bnnWWWWWW.B.WWWWWWWWWWWW...WWWWWWWWWWWW.B.WWWWWWWnb
bnWWWWWWW...WWWWW...WWWW.K.WWWW...WWWWW...WWWWWWWnb
bnWWWWWWWWWWWWWWW.J.WWWW...WWWW.L.WWWWWWWWWWWWWWWnb
bnWW...WWWWWWWWWW...WWWWWWWWWWW...WWWWWWWWWW...WWnb
bnWW.B.WWW...WWWWWWWWW-WWWWW~WWWWWWWWW...WWW.B.WWnb
bnWW...WWW.I.WWW'W'WW-WWWWWWW~WWW`W`WW.M.WWW...WWnb
bnWWWWWWWW...WW'W'WW-WWWWWWWWW~W`W`WWW...WWWWWWWWnb
bnoWWWWWWWWWWWWWWWWWWWWW...WWWWWWWWWWWWWWWWWWWWWonb
bnoWW...WWWW""WW...WWWW.....WWWW...WWWWWWWW...WWonb
bnoWW.H.WW""WWWW.N.WWWW..{..WWWW.N.WWWW""WW.H.WWonb
bnoWW...WWWWWWWW...WWWW.....WWWW...WW""WWWW...WWonb
bnoWWWWWWWWWWWWWWWWWWWWW...WWWWWWWWWWWWWWWWWWWWWonb
bnWWWWWWWW...WWW`W`W~WWWWWWWWW-WW'W'WW...WWWWWWWWnb
bnWW...WWW.M.WW`W`WWW~WWWWWWW-WW'W'WWW.I.WWW...WWnb
bnWW.B.WWW...WWWWWWWWW~WWWWW-WWWWWWWWW...WWW.B.WWnb
bnWW...WWWWWWWWWW...WWWWWWWWWWW...WWWWWWWWWW...WWnb
bnWWWWWWWWWWWWWWW.L.WWWW...WWWW.J.WWWWWWWWWWWWWWWnb
bnWWWWWWW...WWWWW...WWWW.K.WWWW...WWWWW...WWWWWWWnb
bnWWWWWWW.B.WWWWWWWWWWWW...WWWWWWWWWWWW.B.WWWWWWnnb
bnWWWWWWW...WWWWWWWWWWWWWWWWWWWWWWWWWWW...WWWWWWnbb
bnnFWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWFnb
bbnnWWWWWWWWWWWWWWWWWWWmmmmmWWWWWWWWWWWWWWWWWnnnnb
 bbnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnbbbb
  bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
ENDMAP

# 16 gods
NAME:    regret_index_temple_sphere_string
TAGS:    no_rotate temple_altars_16
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: CD / CD / DC, EF / EF / FE, HI / HI / IH, JK / JK / KJ
SHUFFLE: defghi, jklmno
SUBST:   CEHJLMP = c, DFIKMOQhino = .
SUBST:   L : cc., M : cc., N : cc., O : cc.
SUBST:   d : GGTUVc., j : GGTUVc.
SUBST:   e : cc., f : c., g : c.., k : cc., l : c., m : c..
MAP
                                        ccccccccc
                                      ccc.......ccc
                                    ccc...........ccc
                                  ccc......cOc......ccc
                                ccc.....IHc...cJK.....ccc
    cccccccccc              ccccc.......H...B...J.......ccccc
  ccc........ccc          ccc...........c.j...k.c...........ccc
ccc............ccc      ccc............c...lmn...c............ccc
c......cMc.......ccc  ccc......ccc.....O.B.o.o.B.N.....cLc......c
c...DCc...cEF......cccc......cc...cc...c...nml...c..DCc...cEF...c
c...C...B...E...............c.......c...c.k...j.c...C...B...E...c
c...c.d...e.c...............c.......c...J...B...H...c.d...e.c...c
c..c...fgh...c.............c.........c..KJc...cHI..c...fgh...c..c
c..M.B.i.i.B.L.....cNc.....c....{....c.....cNc.....L.B.i.i.B.M..c
c..c...hgf...c..IHc...cJK..c.........c.............c...hgf...c..c
c...c.e...d.c...H...B...J...c.......c...............c.e...d.c...c
c...E...B...C...c.j...k.c...c.......c...............E...B...C...c
c...FEc...cCD..c...lmn...c...cc...cc......cccc......FEc...cCD...c
c......cLc.....N.B.o.o.B.O.....ccc......ccc  ccc.......cMc......c
ccc............c...nml...c............ccc      ccc............ccc
  ccc...........c.k...j.c...........ccc          ccc........ccc
    ccccc.......J...B...H.......ccccc              cccccccccc
        ccc.....KJc...cHI.....ccc
          ccc......cOc......ccc
            ccc...........ccc
              ccc.......ccc
                ccccccccc
ENDMAP

# 18 gods
NAME:    mainiacjoe_temple_coin_purse
TAGS:    temple_altars_18
PLACE:   Temple
ORIENT:  encompass
SUBST:   c : cvb
MAP
                  ccc
                 cc.cc
                 c...cc
               ccc....cc
           ccccc.c.....cc
       ccccc.....c......cc
   ccccc........c...B....cc
  cc............c.........cc
  c.........B...c..........cc
  cc....B.......c......B....cc
   cc..........c...B.........cccccc
   ccc.........c............cccc..c
   c..c....B...c........cccc......c
   c...c.......c....cccc.........cc
   c....c.....c.cccc.............c
  cc.....c....c....c.........B...c
  c.......c...c.....c....B.......c
  c...B....c.c.......c..........cc
  c.........c....{....c.........c
 cc..........c.......c.c....B...c
 c.......B....c.....c...c.......c
 c...B.........c....c....c.....cc
 c.............cccc.c.....c....c
cc.........cccc....c.......c...c
c......cccc........c...B....c..c
c..cccc............c.........ccc
cccccc.........B...c..........cc
     cc....B......c.......B....cc
      cc..........c...B.........c
       cc.........c............cc
        cc....B...c........ccccc
         cc......c.....ccccc
          cc.....c.ccccc
           cc....ccc
            cc...c
             cc.cc
              ccc
ENDMAP

# 18 gods
NAME:    mainiacjoe_temple_bowtie_tessellation
TAGS:    temple_altars_18
PLACE:   Temple
ORIENT:  encompass
SUBST:   c : cvb
MAP
                        ccccc
                        c...cccc
                        c......c
                        c......c
                       cc...B..cc
                       c........c
                       c........c
               ccc  cccc........cc
            cccc+cccc.......cccc+cccc
         cccc...c........+ccc...c...cccc
         c......c........c......c......c
         c......c........c......c......c
        cc..B...cc..B...cc..B...cc..{..cc
        c........c......c........c......c
        c........c......c........c......c
       cc........+ccc...c........+ccc...cc
       c+cccc.......cccc+cccc.......cccc+cccc
       cc...ccc+........c...ccc+........c...cccc
        c......c........c......c........c......c
        c......c........c......c........c......c
       cc...B..cc...B..cc...B..cc...B..cc...B..cc
       c........c......c........c......c........c
       c........c......c........c......c........c
    cccc........c...ccc+........c...ccc+........c
ccccc.......cccc+cccc.......cccc+cccc.......ccccc
c........+ccc...c........+ccc...c........+ccc
c........c......c........c......c........cc
c........c......c........c......c........c
cc..B...cc..B...cc..B...cc..B...cc..B...cc
 c......c........c......c........c......c
 c......c........c......c........c......c
 cccc...c........+ccc...c........+ccc...cc
    cccc+cccc.......cccc+cccc.......cccc+c
       cc...ccc+........c...ccc+........cc
        c......c........c......c........c
        c......c........c......c........c
        cc..B..cc...B..cc...B..cc...B..cc
         c......c......c........c......c
         c......c......c........c......c
         cccc...c...ccc+........c...cccc
            cccc+cccc.......cccc+cccc
               cc........+ccc  ccc
                c........cc
                c........c
                cc..B...cc
                 c......c
                 c......c
                 cccc...c
                    ccccc
ENDMAP

# 20 gods
NAME:    mainiacjoe_temple_big_plus
TAGS:    temple_altars_20
PLACE:   Temple
ORIENT:  encompass
SUBST:   c : cvb
MAP
       ccccccccccccccccccccccccccccc
       c...........................c
       c...........................c
       c...........................c
       c...c+++c+++c+++c+++c+++c...c
       c...c...c...c...c...c...c...c
       c...c.B.c...c...c...c.B.c...c
cccccccc...c...c...c...c...c...c...cccccccc
c..........cc..c...c...c...c..cc..........c
c...........cc.c...c...c...c.cc...........c
c............ccc.B.c...c.B.ccc............c
c...ccccc.....cc...c...c...cc.....ccccc...c
c...+...cc.....cc..c...c..cc.....cc...+...c
c...+.B..cc.....cc.c...c.cc.....cc..B.+...c
c...+.....cc.....ccc.B.ccc.....cc.....+...c
c...ccccccccc.....cc...cc.....ccccccccc...c
c...+.......cc.....cc.cc.....cc.......+...c
c...+.....B..cc.....ccc.....cc..B.....+...c
c...+.........cc.....c.....cc.........+...c
c...ccccccccccccc.........ccccccccccccc...c
c...+...........cc.......cc...........+...c
c...+.........B..cc..{..cc..B.........+...c
c...+...........cc.......cc...........+...c
c...ccccccccccccc.........ccccccccccccc...c
c...+.........cc.....c.....cc.........+...c
c...+.....B..cc.....ccc.....cc..B.....+...c
c...+.......cc.....cc.cc.....cc.......+...c
c...ccccccccc.....cc...cc.....ccccccccc...c
c...+.....cc.....ccc.B.ccc.....cc.....+...c
c...+.B..cc.....cc.c...c.cc.....cc..B.+...c
c...+...cc.....cc..c...c..cc.....cc...+...c
c...ccccc.....cc...c...c...cc.....ccccc...c
c............ccc.B.c...c.B.ccc............c
c...........cc.c...c...c...c.cc...........c
c..........cc..c...c...c...c..cc..........c
cccccccc...c...c...c...c...c...c...cccccccc
       c...c.B.c...c...c...c.B.c...c
       c...c...c...c...c...c...c...c
       c...c+++c+++c+++c+++c+++c...c
       c...........................c
       c...........................c
       c...........................c
       ccccccccccccccccccccccccccccc
ENDMAP

# 20 gods
NAME:    mainiacjoe_temple_cubbyholes
TAGS:    temple_altars_20
PLACE:   Temple
ORIENT:  encompass
SUBST:   x : cvb
SUBST:   y : cvb
MAP
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
y.....................................y
y.....................................y
y.....................................y
y...xxx+xxxxx+xxxxx+xxxxx+xxxxx+xxx...y
y...xx...xxx...xxx...xxx...xxx...xx...y
y...x.....x.....x.....x.....x.....x...y
y...x.....x.....x.....x.....x.....x...y
y...x.....x.....x.....x.....x.....x...y
y...x..B..x..B..x..B..x..B..x..B..x...y
y...xx...xxx...xxx...xxx...xxx...xx...y
y...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...y
y...xx...xxx...xxx...xxx...xxx...xx...y
y...x..B..x..B..x..B..x..B..x..B..x...y
y...x.....x.....x.....x.....x.....x...y
y...x.....x.....x.....x.....x.....x...y
y...x.....x.....x.....x.....x.....x...y
y...xx...xxx...xxx...xxx...xxx...xx...yyyyyyy
y...xxx+xxxxx+xxxxx+xxxxx+xxxxx+xxx...yy....yy
y.....................................y......y
y.....................................+....{.y
y.....................................y......y
y...xxx+xxxxx+xxxxx+xxxxx+xxxxx+xxx...yy....yy
y...xx...xxx...xxx...xxx...xxx...xx...yyyyyyy
y...x.....x.....x.....x.....x.....x...y
y...x.....x.....x.....x.....x.....x...y
y...x.....x.....x.....x.....x.....x...y
y...x..B..x..B..x..B..x..B..x..B..x...y
y...xx...xxx...xxx...xxx...xxx...xx...y
y...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...y
y...xx...xxx...xxx...xxx...xxx...xx...y
y...x..B..x..B..x..B..x..B..x..B..x...y
y...x.....x.....x.....x.....x.....x...y
y...x.....x.....x.....x.....x.....x...y
y...x.....x.....x.....x.....x.....x...y
y...xx...xxx...xxx...xxx...xxx...xx...y
y...xxx+xxxxx+xxxxx+xxxxx+xxxxx+xxx...y
y.....................................y
y.....................................y
y.....................................y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ENDMAP

NAME:    sentei_temple_godly_chess
TAGS:    temple_altars_17 no_hmirror no_vmirror no_rotate
PLACE:   Temple
ORIENT:  encompass
KFEAT:   PpLlNnRrQq = granite_statue
TILE:    Pp = dngn_statue_imp
TILE:    Nn = dngn_statue_centaur
TILE:    Ll = dngn_statue_tengu
TILE:    Rr = dngn_statue_orb_guardian
TILE:    Qq = dngn_statue_ancient_evil
: set_feature_name("granite_statue", "a statue of a chess piece")
KFEAT:   _ = B
SHUFFLE: ce
SUBST:   c = -, e = B
COLOUR:  d' = white
COLOUR:  - = brown
FTILE:   GD'PNLRQK_ = floor_pebble_white
FTILE:   Hpnlrq-B = floor_pebble_brown
SUBST:   x : cvb
MAP
xxxxxxxxxxxx
x..........x
x._B_B_B_B.x
x.B_e_c_B_.x
x.'-'-'-'-.x
x{-'c'e'-'.x
x.'-'-P-'-.x
x.-'-'-'-'.x
x.PpPp'pPp.x
x.rNlQBLnR.x
x..........x
xxxxxxxxxxxx
ENDMAP

##############################################################################
# <<5>> Twenty-one gods.

NAME:    kilobyte_greek_temple
TAGS:    no_rotate temple_altars_21
PLACE:   Temple
ORIENT:  encompass
MONS:    plant, bush
NSUBST:  . = 15:1 / 12:2 / 2:t / *:.
SUBST:   ' = .
COLOUR:  " : darkgrey w:3 / white w:1 / lightgrey
MAP
ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttt....1111ttttttttttttttttttttttttttttttttttttttttt
tttttttt.........1111....ttttttttttttt.........tttttttttttttt
tttt.......................1ttttttt.......t.........ttttttttt
tt.........2........t.........''''''.................2222tttt
tt.....{..21...t..............''ccccccccccccccccccc...22.tttt
ttt...........ttt.......t.....''G'c"""""""""""""""c..t..ttttt
tttt......2...................''''c"B"B"B"B"B"B"B"ctt....tttt
tttttt.....................t..''G'c"""""""""""""""cttt...tttt
ttttttttt..1.....2...t........''''+"B"B"B"B"B"B"B"ctt..t...tt
tttttttt......................''G'c"""""""""""""""c...tt..ttt
ttttttttt...................1.''''c"B"B"B"B"B"B"B"c..ttt.tttt
ttttttttttttttt....2....t.....''G'c"""""""""""""""c...t..tttt
ttttttttttttttttt.............''ccccccccccccccccccc......2ttt
tttttttttttttttttt..........t..........t......ttt......2ttttt
ttttttttttttttttttttt................................22tttttt
ttttttttttttttttttttttt.............t..........t....ttttttttt
tttttttttttttttttttttttttttt............t.........ttttttttttt
tttttttttttttttttttttttttttttttt..............ttttttttttttttt
ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
ENDMAP

# 21 gods
NAME:    minmay_crystal_snake_temple
TAGS:    no_rotate temple_altars_21
PLACE:   Temple
ORIENT:  encompass
NSUBST:  T = 1:{ / *:T
MAP
              bbb   bbb   bbb
             bb.bb bb.bb bb.bb
            bb...bbb...bbb...bb
            b..B.....B.....T..b
            bb...bbb...bbb...bb
             bb.bb bb.bb bb.bb
        bbb   b.b   bbb   b.b
       bb.bb bb.bb       bb.bb
      bb...bbb...bb     bb...bb
      b..B.....B..b     b..B..b
      bb...bbb...bb     bb...bb
       bb.bb bb.bb       bb.bb
  bbb   b.b   bbb   bbb   b.b
 bb.bb bb.bb       bb.bb bb.bb
bb...bbb...bb     bb...bbb...bbbb
b..B.....B..b     b..B.....B..+.bb
bb...bbb...bb     bb...bbb...bb..bb
 bb.bb bb.bb       bb.bb bb.bbbb..b
  b.b   bbb   bbb   b.b   bbb  bb+b
 bb.bb       bb.bb bb.bb       bb.bb
bb...bb     bb...bbb...bb     bb...bb
b..B..b     b..B.....B..b     b..T..b
bb...bb     bb...bbb...bb     bb...bb
 bb.bb       bb.bb bb.bb       bb.bb
  b+bb  bbb   b.b   bbb   bbb   b.b
  b..bbbb.bb bb.bb       bb.bb bb.bb
  bb..bb...bbb...bb     bb...bbb...bb
   bb.+..B.....B..b     b..B.....B..b
    bbbb...bbb...bb     bb...bbb...bb
       bb.bb bb.bb       bb.bb bb.bb
        b.b   bbb   bbb   b.b   bbb
       bb.bb       bb.bb bb.bb
      bb...bb     bb...bbb...bb
      b..B..b     b..B.....B..b
      bb...bb     bb...bbb...bb
       bb.bb       bb.bb bb.bb
        b.b   bbb   b.b   bbb
       bb.bb bb.bb bb.bb
      bb...bbb...bbb...bb
      b..T.....B.....B..b
      bb...bbb...bbb...bb
       bb.bb bb.bb bb.bb
        bbb   bbb   bbb
ENDMAP

# 21 gods
NAME:   roderic_octagonal_lattice_temple
TAGS:   temple_altars_21
PLACE:  Temple
ORIENT: encompass
TAGS:   no_rotate
SUBST:  ' : ......b
MAP
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbb'''b'''bbbbb'''b'''bbbbb'''b'''bbbbbb
bbbbbb'B...B'bbbbb'B...B'bbbbb'B...B'bbbbbb
bbbbbb''...''bbbbb''...''bbbbb''...''bbbbbb
bbbbbbbb...bbbbbbbbb...bbbbbbbbb...bbbbbbbb
bbbbbbb..b..bbbbbbb..b..bbbbbbb..b..bbbbbbb
b'''bbb.bbb.bbbbbbb.bbb.bbbbbbb.bbb.bbb'''b
b'B'b...bbb...bbb...bbb...bbb...bbb...b'B'b
b'....bbbbbbb..b..bbbbbbb..b..bbbbbbb....'b
bb...bbbbbbbbb...bbbbbbbbb...bbbbbbbbb...bb
b'....bbbbbbb..b..bbbbbbb..b..bbbbbbb....'b
b'B'b...bbb...bbb...bbb...bbb...bbb...b'B'b
b'''bbb.bbb.bbbbbbb.bbb.bbbbbbb.bbb.bbb'''b
bbbbbbb..b..bbbbbbb..b..bbbbbbb..b..bbbbbbb
bbbbbbbb...bbbbbbbbb...bbbbbbbbb...bbbbbbbb
bbbbbbbbb.bbbbbbbbbb.{.bbbbbbbbbb.bbbbbbbbb
bbbbbbbb...bbbbbbbbb...bbbbbbbbb...bbbbbbbb
bbbbbbb..b..bbbbbbb..b..bbbbbbb..b..bbbbbbb
bbbbbbb.bbb.bbbbbbb.bbb.bbbbbbb.bbb.bbbbbbb
b'''bbb.bbb.bbbbbbb.bbb.bbbbbbb.bbb.bbb'''b
b'B'b...bbb...bbb...bbb...bbb...bbb...b'B'b
b'....bbbbbbb..b..bbbbbbb..b..bbbbbbb....'b
bb...bbbbbbbbb...bbbbbbbbb...bbbbbbbbb...bb
b'....bbbbbbb..b..bbbbbbb..b..bbbbbbb....'b
b'B'b...bbb...bbb...bbb...bbb...bbb...b'B'b
b'''bbb.bbb.bbbbbbb.bbb.bbbbbbb.bbb.bbb'''b
bbbbbbb.bbb.bbbbbbb.bbb.bbbbbbb.bbb.bbbbbbb
bbbbbbb..b..bbbbbbb..b..bbbbbbb..b..bbbbbbb
bbbbbbbb...bbbbbbbbb...bbbbbbbbb...bbbbbbbb
bbbbbb''...''bbbbb''.B.''bbbbb''...''bbbbbb
bbbbbb'B...B'bbbbb'B...B'bbbbb'B...B'bbbbbb
bbbbbb'''b'''bbbbb'''b'''bbbbb'''b'''bbbbbb
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
ENDMAP

# 21 gods
NAME:    grunt_wide_crystal_templ
TAGS:    temple_altars_21
PLACE:   Temple
TAGS:    no_rotate
ORIENT:  encompass
MAP
                bbbbb
                b...b
            bbbbb.B.bbbbb
            b...........b
        bbbbb.B.bb.bb.B.bbbbb
        b...................b
    bbbbb.B.bb.bb.B.bb.bb.B.bbbbb
    b...........................b
bbbbb.B.bb.bb.T.bb.bb.T.bb.bb.B.bbbbb
b...................................b
b.B.bb.bb.B.bb.bb.{.bb.bb.B.bb.bb.B.b
b...................................b
bbbbb.B.bb.bb.B.bb.bb.B.bb.bb.B.bbbbb
    b...........................b
    bbbbb.B.bb.bb.T.bb.bb.B.bbbbb
        b...................b
        bbbbb.B.bb.bb.B.bbbbb
            b...........b
            bbbbb.B.bbbbb
                b...b
                bbbbb
ENDMAP

# 21 gods
NAME:    nicolae_temple_the_god_donut
TAGS:    no_pool_fixup temple_altars_21
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: gG
NSUBST:  A = 1:{ / *:B
SUBST:   g : ...cxT, G : Gccc.
: set_border_fill_type("open_sea")
MAP
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwww.g..G..g.wwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwG...........Gwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwww.................wwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwww.g.................g.wwwwwwwwwwwwwwww
wwwwwwwwwwwwwww...........A...........wwwwwwwwwwwwwww
wwwwwwwwwwwwwwG.......................Gwwwwwwwwwwwwww
wwwwwwwwwwwww.........B.......B.........wwwwwwwwwwwww
wwwwwwwwwwww..............B..............wwwwwwwwwwww
wwwwwwwwwwwwg.....B...............B.....gwwwwwwwwwwww
wwwwwwwwwww...............................wwwwwwwwwww
wwwwwwwwwww.............ccAcc.............wwwwwwwwwww
wwwwwwwwwwG...........ccccccccc...........Gwwwwwwwwww
wwwwwwwwww.....B.....ccccccccccc.....B.....wwwwwwwwww
wwwwwwwww...........ccccccccccccc...........wwwwwwwww
wwwwwwwwwg..........ccccccccccccc..........gwwwwwwwww
wwwwwwwww..........ccccccccccccccc..........wwwwwwwww
wwwwwwwww.....B....ccccccccccccccc....B.....wwwwwwwww
wwwwwwwwwG.........AcccccccccccccA.........Gwwwwwwwww
wwwwwwwww..........ccccccccccccccc..........wwwwwwwww
wwwwwwwww..........ccccccccccccccc..........wwwwwwwww
wwwwwwwwwg....B.....ccccccccccccc.....B....gwwwwwwwww
wwwwwwwww...........ccccccccccccc...........wwwwwwwww
wwwwwwwwww...........ccccccccccc...........wwwwwwwwww
wwwwwwwwwwG...........ccccccccc...........Gwwwwwwwwww
wwwwwwwwwww.....B.......ccAcc.......B.....wwwwwwwwwww
wwwwwwwwwww...............................wwwwwwwwwww
wwwwwwwwwwwwg...........................gwwwwwwwwwwww
wwwwwwwwwwww........B...........B........wwwwwwwwwwww
wwwwwwwwwwwww...........................wwwwwwwwwwwww
wwwwwwwwwwwwwwG.........B...B.........Gwwwwwwwwwwwwww
wwwwwwwwwwwwwww.......................wwwwwwwwwwwwwww
wwwwwwwwwwwwwwww.g.................g.wwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwww.................wwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwG...........Gwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwww.g..G..g.wwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
ENDMAP

# 21 gods
NAME:    regret_index_temple_sigil_plot
TAGS:    no_cloud_gen temple_altars_21
PLACE:   Temple
ORIENT:  encompass
NSUBST:  A = 1:{ / *:B
SHUFFLE: -G / -G / ~~, CDE / CDE / LLL, CDE
SUBST:   - = ., ~ = c, ' : VGc...., ' : VGc....
SUBST:   CD = c, E : cll, L = l
TILE:    c = wall_stone_dark
: set_border_fill_type("endless_lava")
MAP
lllllllllllllllDllllllllElllllllllllllllllllCllllll
lllllllllllllllDllllllllElllllllllllllllllllCllllll
llllllllllllllllDllllllllElllllllllllllllllClllllll
CCllllllllllllllDllllllllElllllllllllllllllClllllll
llCClllllllllllllDllllllllElllllllllllllllCllllllll
llllCClllllllllllDllllllllElllllllllllllllCllllllll
llllllCClllllllllllllllllllllllllllllllllllllllllll
lllllllllllllllllllllllllllllllllllllllllllllllllll
lllllllll.cc...l...c...ll...c....l.l....c.lllllllll
llllllll....cc...A.c........c...........c..llllllDD
llllllll......cc....c........c.....A...c...llllDDll
llllllll........cc..c.cc...A.c.........c.A.llDDllll
lllllllll.........cc.c..cc....c.......c....llllllll
llllllll...A.....c...c....cc..c.......c..ccllllllll
lllllllll........c....c.B...cc.........cc..llllllll
llllllll........c.....c....c.........cc....llllllll
lllllllll....B..c..B...c...c..B....cc..c...llllllll
llllllll.......c.......c....c....cc....c..lllllllll
llllllll....cc.c.....cc'cc..c..cc.....c...lllllllEE
llllllll..cc..c....cc..c--cc"cc...B...c....llllEEll
llllllllcc....c..cc....c----c........c..A..llEEllll
llllllll.....c.cc.....c--G--c.....cc.c.....llllllll
llllEEll..A..c........c----c....cc..c....ccllllllll
llEEllll....c...B...cc"cc--c..cc....c..cc..llllllll
EElllllll...c.....cc..c..cc'cc.....c.cc....llllllll
lllllllll..c....cc....c....c.......c.......llllllll
llllllll...c..cc....B..c...c...B..c.......lllllllll
llllllll....cc.........c....c.....c..B.....llllllll
llllllll..cc.........cc...B.c....c........lllllllll
llllllllcc..c.......c..cc....c...c.........llllllll
llllllll....c.......c....cc..c.cc......A..lllllllll
llllDDll.A.c.........c.A...cc.c..cc........llllllll
llDDllll...c...A.....c........c....cc......llllllll
DDllllll..c...........c........c.A...cc....llllllll
lllllllll.c....l.l....c...ll...c...l...cc.lllllllll
lllllllllllllllllllllllllllllllllllllllllllllllllll
lllllllllllllllllllllllllllllllllllllllllllCCllllll
llllllllClllllllllllllllEllllllllDlllllllllllCCllll
llllllllClllllllllllllllEllllllllDlllllllllllllCCll
lllllllClllllllllllllllllEllllllllDllllllllllllllCC
lllllllClllllllllllllllllEllllllllDllllllllllllllll
llllllClllllllllllllllllllEllllllllDlllllllllllllll
llllllClllllllllllllllllllEllllllllDlllllllllllllll
ENDMAP

NAME:    mainiacjoe_temple_archimedes_tessellation
TAGS:    temple_altars_21
PLACE:   Temple
ORIENT:  encompass
TAGS:    no_pool_fixup
SUBST:   c : cvb
NSUBST:  B = 1:{ / *:B
SHUFFLE: lw
MAP
                                      ccccc
                                      c...c
                                  ccccc.B.ccccc
                           cccccccc...........cccccccc
                           c.......wwwwww.llll.......c
                           c.B.wwwwwwwwww.llllllll.B.c
                          cc...wwwwwwwwww.llllllll...cc
                         cc.ll.wwwwwwwwww.lllllll.www.cc
                        cc.lll.wwwwwwwwwww.lllll.wwwww.cc
                       cc.llll.wwwwwwwwwww.llll.wwwwwww.cc
                      cc.lllll.wwwwwwwwwww.lll.wwwwwwwww.cc
                   cccc.lllllll.wwwwwwwwww.ll.wwwwwwwwwww.cccc
                   c...llllllll.wwwwwwwwww...wwwwwwwwwwwww...c
               ccccc.B.llllllll.wwwwwwwwww.B.wwwwwwwwwwwww.B.c
        cccccccc...........llll.wwwwww.......wwwwwwwwwwwww...c
        c.......wwwwww.llll...........llll.ll.wwwwwwwwwww.ll.c
        c.B.wwwwwwwwww.llllllll.B.llllllll.lll.wwwwwwwww.lll.c
       cc...wwwwwwwwww.llllllll...llllllll.llll.wwwwwww.llll.c
      cc.ll.wwwwwwwwww.lllllll.www.lllllll.lllll.wwwww.lllll.cc
     cc.lll.wwwwwwwwwww.lllll.wwwww.lllll.lllllll.www.lllllll.c
    cc.llll.wwwwwwwwwww.llll.wwwwwww.llll.llllllll...llllllll.c
   cc.lllll.wwwwwwwwwww.lll.wwwwwwwww.lll.llllllll.B.llllllll.c
cccc.lllllll.wwwwwwwwww.ll.wwwwwwwwwww.ll.llll...........llll.ccc
c...llllllll.wwwwwwwwww...wwwwwwwwwwwww.......wwwwww.llll.......c
c.B.llllllll.wwwwwwwwww.B.wwwwwwwwwwwww.B.wwwwwwwwww.llllllll.B.c
c.......llll.wwwwww.......wwwwwwwwwwwww...wwwwwwwwww.llllllll...c
ccc.llll...........llll.ll.wwwwwwwwwww.ll.wwwwwwwwww.lllllll.cccc
  c.llllllll.B.llllllll.lll.wwwwwwwww.lll.wwwwwwwwwww.lllll.cc
  c.llllllll...llllllll.llll.wwwwwww.llll.wwwwwwwwwww.llll.cc
  c.lllllll.www.lllllll.lllll.wwwww.lllll.wwwwwwwwwww.lll.cc
  cc.lllll.wwwww.lllll.lllllll.www.lllllll.wwwwwwwwww.ll.cc
   c.llll.wwwwwww.llll.llllllll...llllllll.wwwwwwwwww...cc
   c.lll.wwwwwwwww.lll.llllllll.B.llllllll.wwwwwwwwww.B.c
   c.ll.wwwwwwwwwww.ll.llll...........llll.wwwwww.......c
   c...wwwwwwwwwwwww.......wwwwww.llll...........cccccccc
   c.B.wwwwwwwwwwwww.B.wwwwwwwwww.llllllll.B.ccccc
   c...wwwwwwwwwwwww...wwwwwwwwww.llllllll...c
   cccc.wwwwwwwwwww.ll.wwwwwwwwww.lllllll.cccc
      cc.wwwwwwwww.lll.wwwwwwwwwww.lllll.cc
       cc.wwwwwww.llll.wwwwwwwwwww.llll.cc
        cc.wwwww.lllll.wwwwwwwwwww.lll.cc
         cc.www.lllllll.wwwwwwwwww.ll.cc
          cc...llllllll.wwwwwwwwww...cc
           c.B.llllllll.wwwwwwwwww.B.c
           c.......llll.wwwwww.......c
           cccccccc...........cccccccc
                  ccccc.B.ccccc
                      c...c
                      ccccc
ENDMAP

NAME:    mainiacjoe_temple_circle_huts
TAGS:    temple_altars_21
PLACE:   Temple
ORIENT:  encompass
MONS:   plant, bush
SUBST:   c : cvb
SUBST:   x : xt12
MAP
                          ccccccccccc
                      ccccccccccccccccccc
                   ccccccc...........ccccccc
                 ccccc...................ccccc
               ccccc.......................ccccc
              ccc.............................ccc
             ccc...............................ccc
           ccc..............xxx..................ccc
          ccc..............x...x......xxx.........ccc
         ccc..............x.....x....x...x.........ccc
        ccc........xxx....x..B..x...x.....x.........ccc
       ccc........x...x...x.....x...x..B..x..........ccc
       cc........x.....x...x...x....x.....x...........cc
      cc.........x..B..x....xxx......x...x.............cc
     cc..........x.....x..............xxx....xxx........cc
    ccc...........x...x.....................x...x.......ccc
    cc......xxx....xxx.....................x.....x.......cc
   cc......x...x...................xxx.....x..B..x........cc
   cc.....x.....x.......xxx.......x...x....x.....x........cc
  ccc.....x..B..x......x...x.....x.....x....x...x.........ccc
  cc......x.....x.....x.....x....x..B..x.....xxx...........cc
  cc.......x...x......x..B..x....x.....x...................cc
 cc.........xxx.......x.....x.....x...x...........xxx.......cc
 cc....................x...x.......xxx...........x...x......cc
 cc.....................xxx.....................x.....x.....cc
 cc......xxx.............................xxx....x..B..x.....cc
cc......x...x......xxx..................x...x...x.....x......cc
cc.....x.....x....x...x................x.....x...x...x.......cc
cc.....x..B..x...x.....x......xxx......x..B..x....xxx........cc
cc.....x.....x...x..B..x.....x...x.....x.....x...............cc
cc......x...x....x.....x....x.....x.....x...x................cc
cc.......xxx......x...x.....x..{..x......xxx.......xxx.......cc
cc.................xxx......x.....x...............x...x......cc
cc...........................x...x...............x.....x.....cc
cc........xxx.................xxx......xxx.......x..B..x.....cc
cc.......x...x........................x...x......x.....x.....cc
cc......x.....x.......xxx............x.....x......x...x......cc
 cc.....x..B..x......x...x...........x..B..x.......xxx......cc
 cc.....x.....x.....x.....x..........x.....x................cc
 cc......x...x......x..B..x....xxx....x...x.................cc
 cc.......xxx.......x.....x...x...x....xxx.....xxx..........cc
  cc.................x...x...x.....x..........x...x........cc
  cc...........xxx....xxx....x..B..x.........x.....x.......cc
  ccc.........x...x..........x.....x.........x..B..x......ccc
   cc........x.....x..........x...x..........x.....x......cc
   cc........x..B..x...........xxx............x...x.......cc
    cc.......x.....x.....................xxx...xxx.......cc
    ccc.......x...x.....................x...x...........ccc
     cc........xxx....xxx..............x.....x..........cc
      cc.............x...x......xxx....x..B..x.........cc
       cc...........x.....x....x...x...x.....x........cc
       ccc..........x..B..x...x.....x...x...x........ccc
        ccc.........x.....x...x..B..x....xxx........ccc
         ccc.........x...x....x.....x..............ccc
          ccc.........xxx......x...x..............ccc
           ccc..................xxx..............ccc
             ccc...............................ccc
              ccc.............................ccc
               ccccc.......................ccccc
                 ccccc...................ccccc
                   ccccccc...........ccccccc
                      ccccccccccccccccccc
                          ccccccccccc
ENDMAP

NAME:    mainiacjoe_temple_hex_bubbles
TAGS:    temple_altars_21
PLACE:   Temple
ORIENT:  encompass
NSUBST:  B = 1:{ / *:B
SUBST:   c : cvb
MAP
                      ccccc
                     cc...cc
                    cc.....cc
                    c.......c
                    c...B...c       ccccc
                    c.......c      cc...cc
                    cc.....cccccc cc.....cc
                     cc...c+c...ccc.......c
                    ccc+cccc.....cc...B...c
                   cc...ccc.......+.......c
            ccccc cc.....cc...B...cc.....cc
           cc...ccc.......c.......ccc...cc
          cc.....cc...B...cc.....cccc+ccc
          c.......+.......ccc...c+c...cc
          c...B...cc.....ccccccccc.....cc
          c.......ccc...ccccccccc.......c
          cc.....cccc+ccccccccccc...B...c
           cc...ccc...ccccccccccc.......c
          ccc+cccc.....ccccccccccc.....cccccc
         cc...ccc.......ccccccccccc...c+c...cc
  ccccc cc.....cc...B...ccccccccccc+cccc.....cc
 cc...ccc.......+.......ccccccccc...ccc.......c
cc.....cc...B...cc.....ccccccccc.....cc...B...c
c.......+.......ccc...c+c...ccc.......+.......c
c...B...cc.....ccccccccc.....cc...B...cc.....cc
c.......ccc...ccccccccc.......+.......ccc...cc
cc.....cccc+ccccccccccc...B...cc.....cccc+ccc
 cc...c+c...ccccccccccc.......ccc...c+c...cc
  cccccc.....ccccccccccc.....ccccccccc.....cc
      c.......ccccccccccc...ccccccccc.......c
      c...B...ccccccccccc+ccccccccccc...B...c
      c.......ccccccccc...ccccccccccc.......c
      cc.....ccccccccc.....ccccccccccc.....cccccc
       cc...c+c...ccc.......ccccccccccc...c+c...cc
      ccc+cccc.....cc...B...ccccccccccc+cccc.....cc
     cc...ccc.......+.......ccccccccc...ccc.......c
    cc.....cc...B...cc.....ccccccccc.....cc...B...c
    c.......+.......ccc...c+c...ccc.......+.......c
    c...B...cc.....cccc+cccc.....cc...B...cc.....cc
    c.......ccc...c+c...ccc.......+.......ccc...cc
    cc.....cc cccccc.....cc...B...cc.....cc ccccc
     cc...cc      c.......+.......ccc...cc
      ccccc       c...B...cc.....cccc+ccc
                  c.......ccc...c+c...cc
                  cc.....cc cccccc.....cc
                   cc...cc      c.......c
                    ccccc       c...B...c
                                c.......c
                                cc.....cc
                                 cc...cc
                                  ccccc
ENDMAP

NAME:    mainiacjoe_temple_starburst
TAGS:    temple_altars_21
PLACE:   Temple
ORIENT:  encompass
SUBST:   v : v b x:3 n:3
FTILE:   '{t = floor_grass
MAP
                               ttttttt
                             ttt'''''ttt
                           ttt'''''''''ttt
                          tt'''''''''''''tt
                         tt'''''''''''''''tt
                        tt'''''''c+c'''''''tt
                       tt''''''''c.c''''''''tt
                      tt'''''''''c.c'''''''''tt
                     tt''''''''''c.c''''''''''tt
                    tt''''''''''cc.cc''''''''''tt
                   tt'''''''''''c...c'''''''''''tt
                  tt''''''''''''c...c''''''''''''tt
                 tt''''''''''''cc...cc''''''''''''tt
                tt'''''''''''''c.....c'''''''''''''tt
               tt'''''''''''''cc.....cc'''''''''''''tt
              tt''''''''''''''c...v...c''''''''''''''tt
             tt''''''''''''''cc...v...cc''''''''''''''tt
            tt'''''''''''''''c....v....c'''''''''''''''tt
           tt'''''''''''''''cc...vvv...cc'''''''''''''''tt
          tt''''''''''''''''c....v.v....c''''''''''''''''tt
         tt''''''''''''''''cc....v.v....cc''''''''''''''''tt
        tt'''''''''''''''''c.....v.v.....c'''''''''''''''''tt
       tt'''''''''''''''''cc....vv.vv....cc'''''''''''''''''tt
      tt''''''''''''''''''c.....vv.vv.....c''''''''''''''''''tt
     tt''''''''''''''''''cc.....vv.vv.....cc''''''''''''''''''tt
    tt''''''''''''''''''cc......vv.vv......cc''''''''''''''''''tt
   tt'''''''''''''''''ccc......vv...vv......ccc'''''''''''''''''tt
  tt''''''''''''''''ccc........vv.B.vv........ccc''''''''''''''''tt
  t'''''''''''''''ccc..........v.....v..........ccc'''''''''''''''t
 tt'''''''''''''ccc............v.B.B.v............ccc'''''''''''''tt
 t''''''''''''ccc.............+v.....v+.............ccc''''''''''''t
tt''''''''''ccc...........vvvvv...B...vvvvv...........ccc''''''''''tt
t''''''''cccc.........vvvvvv....B...B....vvvvvv.........cccc''''''''t
t''''ccccc........vvvvvvvv...B.........B...vvvvvvvv........ccccc''''t
t''''+.........vvvv........B...B..B..B...B........vvvv.........+''''t
t''''ccccc........vvvvvvvv...B.........B...vvvvvvvv........ccccc''''t
t''''''''cccc.........vvvvvv....B...B....vvvvvv.........cccc''''''''t
tt''''''''''ccc...........vvvvv...B...vvvvv...........ccc''''''''''tt
 t''''''''''''ccc.............+v.....v+.............ccc''''''''''''t
 tt'''''''''''''ccc............v.B.B.v............ccc'''''''''''''tt
  t'''''''''''''''ccc..........v.....v..........ccc'''''''''''''''t
  tt''''''''''''''''ccc........vv.B.vv........ccc''''''''''''''''tt
   tt'''''''''''''''''ccc......vv...vv......ccc'''''''''''''''''tt
    tt''''''''''''''''''cc......vv.vv......cc''''''''''''''''''tt
     tt''''''''''''''''''cc.....vv.vv.....cc''''''''''''''''''tt
      tt''''''''''''''''''c.....vv.vv.....c''''''''''''''''''tt
       tt'''''''''''''''''cc....vv.vv....cc'''''''''''''''''tt
        tt'''''''''''''''''c.....v.v.....c'''''''''''''''''tt
         tt''''''''''''''''cc....v.v....cc''''''''''''''''tt
          tt''''''''''''''''c....v.v....c''''''''''''''''tt
           tt'''''''''''''''cc...vvv...cc'''''''''''''''tt
            tt'''''''''''''''c....v....c'''''''''''''''tttttt
             tt''''''''''''''cc...v...cc''''''''''''''ttt'''ttt
              tt''''''''''''''c...v...c'''''''''''''''t'''''''tt
               tt'''''''''''''cc.....cc'''''''''''''tt'''''''''tt
                tt'''''''''''''c.....c'''''''''''''tt'''''''''''t
                 tt''''''''''''cc...cc''''''''''''ttt'''''''''''tt
                  tt''''''''''''c...c''''''''''''ttt'''''''''''''t
                   tt'''''''''''c...c'''''''''''tt t''''''{''''''t
                    tt''''''''''cc.cc''''''''''tt  t'''''''''''''t
                     tt''''''''''c.c''''''''''tt   tt'''''''''''tt
                      tt'''''''''c.c'''''''''tt     t'''''''''''t
                       tt''''''''c.c''''''''tt      tt'''''''''tt
                        tt'''''''c+c'''''''tt        tt'''''''tt
                         tt'''''''''''''''tt          ttt'''ttt
                          tt'''''''''''''tt             ttttt
                           ttt'''''''''ttt
                             ttt'''''ttt
                               ttttttt
ENDMAP

NAME:    mainiacjoe_temple_trianglar_array
TAGS:    temple_altars_21
PLACE:   Temple
ORIENT:  encompass
SUBST:   t : tGT
SUBST:   c : cvbt
SUBST:   x : xcvb
FTILE:   '{tGT = floor_grass
MAP
              ccccccc
            ccc'''''ccc
           cc'''''''''cc
           c'''''''''''cc
           c''''''''''''cc
          cc'''xxxx+'''''cc
          c''''x...x''''''cc          ccccccc
          c''''x.B.x'''''''cc       ccc'''''ccc
         cc''''x...x''''''''cc     cc'''''''''cc
         c'''''xxxxx'''''''''cc    c'''''t'''''c
         c''''''''''''''''''''cc  cc''t'''''t''cc
        cc'''''''''''xxxx+'''''cc c'''''''''''''c
        c''''''''''''x...x''''''ccc'''''''''''''c
        c''''xxxx+'''x.B.x'''''''cc''t'''{'''t''c
        c''''x...x'''x...x''''''''''''''''''''''c
       cc''''x.B.x'''xxxxx''''''''''''''''''''''c
       c'''''x...x''''''''''''''''''''t'''''t''cc
       c'''''xxxxx'''''''''xxxx+'''''''''t'''''c
       c'''''''''''''''''''x...x''''''''''''''cc
      cc'''''''''''xxxx+'''x.B.x''''''''''''ccc
      c''''''''''''x...x'''x...x'''''''''cccc
      c''''xxxx+'''x.B.x'''xxxxx'''''''''cc
      c''''x...x'''x...x''''''''''''''''''cc
     cc''''x.B.x'''xxxxx'''''''''xxxx+'''''cc
     c'''''x...x'''''''''''''''''x...x''''''cc
     c'''''xxxxx'''''''''xxxx+'''x.B.x'''''''cc
     c'''''''''''''''''''x...x'''x...x''''''''cc
    cc'''''''''''xxxx+'''x.B.x'''xxxxx'''''''''cc
    c''''''''''''x...x'''x...x''''''''''''''''''cc
    c''''xxxx+'''x.B.x'''xxxxx'''''''''xxxx+'''''cc
    c''''x...x'''x...x'''''''''''''''''x...x''''''cc
   cc''''x.B.x'''xxxxx'''''''''xxxx+'''x.B.x'''''''cc
   c'''''x...x'''''''''''''''''x...x'''x...x''''''''cc
   c'''''xxxxx'''''''''xxxx+'''x.B.x'''xxxxx'''''''''c
   c'''''''''''''''''''x...x'''x...x'''''''''''''''''cc
  cc'''''''''''xxxx+'''x.B.x'''xxxxx'''''''''xxxx+''''c
  c''''''''''''x...x'''x...x'''''''''''''''''x...x''''c
  c''''xxxx+'''x.B.x'''xxxxx'''''''''xxxx+'''x.B.x''''c
  c''''x...x'''x...x'''''''''''''''''x...x'''x...x''''c
 cc''''x.B.x'''xxxxx'''''''''xxxx+'''x.B.x'''xxxxx''''c
 c'''''x...x'''''''''''''''''x...x'''x...x'''''''''''cc
 c'''''xxxxx'''''''''xxxx+'''x.B.x'''xxxxx'''''''''''c
 c'''''''''''''''''''x...x'''x...x''''''''''''''''''cc
 c'''''''''''xxxx+'''x.B.x'''xxxxx'''''''''''''''cccc
cc'''''''''''x...x'''x...x''''''''''''''''''''cccc
c''''xxxx+'''x.B.x'''xxxxx'''''''''''''''''cccc
c''''x...x'''x...x'''''''''''''''''''''ccccc
c''''x.B.x'''xxxxx'''''''''''''''''ccccc
c''''x...x'''''''''''''''''''''ccccc
c''''xxxxx'''''''''''''''''ccccc
cc'''''''''''''''''''''ccccc
 c'''''''''''''''''ccccc
 cc''''''''''''ccccc
  ccc'''''cccccc
    ccccccc
ENDMAP

##############################################################################
# <<6>> Variable altars, generic layouts

# 10, 14, 18, 21 gods
NAME:    compressed_dpeg_circular_temple
TAGS:    no_rotate no_pool_fixup
TAGS:    temple_altars_10 temple_altars_14 temple_altars_18 temple_altars_21
PLACE:   Temple
ORIENT:  encompass
KMONS:   1 = electric eel
KMONS:   2 = lava snake
KFEAT:   1 = deep_water
KFEAT:   2 = lava
SHUFFLE: CDEF
# Altar rings and stairs, different in each setting.
: local altar_count = get_altar_count(_G, 21)
: if altar_count == "10" then
SUBST:      C = B, E = G, DH<IJ = .
NSUBST:     F = 1:{ / *:.
: elseif altar_count == "14" then
SUBST:      DEF = B, CHIJ = ., < = {
: elseif altar_count == "18" then
SUBST:      BDCEFI = ., HJ = B, < = {
: elseif altar_count == "21" then
SUBST:      BDCEFH = ., IJ = B, < = {
: end
SUBST:   W : mvbG w:160
# Chances for filled (1/6), absent (3/6),
# and flooded (empty or occupied 1/12 each) center rings.
: local arnd = crawl.random2(30)
: if arnd < 5 then
SUBST:   mwWTvbG[ = c
: elseif arnd < 23 then
SUBST:   mwW = ., [ = {
: else
SUBST:   TW[ = w
:   if arnd < 28 then
NSUBST:  w = 6:1w / *:w
COLOUR:  m = lightblue
COLOUR:  c = blue
:   else
SUBST:   w = l
NSUBST:  l = 6:2l / *:l
COLOUR:  m = lightred
COLOUR:  c = red
:   end
: end
NSUBST:  <[{ = 1:{ / *:.
KPROP:   wl1 = no_tele_into
MAP
               ccccccccccccc
           ccccc...........ccccc
        cccc.........I.........cccc
      ccc........I...D...I........ccc
    ccc......I.B.H...H...H.B.I......ccc
   cc........H...............H........cc
  cc......IC......mmmmmmm......EI......cc
 cc.......H....mmmmwwwwwmmmm....H.......cc
 c...........mmmwwwwwwwwwwwmmm...........c
cc.....BI...mmwwwwwTwWwTwwwwwmm...IB.....cc
c.......H..mmwwwwwwwwwwwwwwwwwmm..H.......c
c..........mwwwwwwwwwwwwwwwwwwwm..........c
c.<..F.I...mwwwWwTwww[wwwTwWwwwm...I.F....c
c..........mwwwwwwwwwwwwwwwwwwwm..........c
c.......H..mmwwwwwwwwwwwwwwwwwmm..H.......c
cc.....BI...mmwwwwwTwWwTwwwwwmm...IB.....cc
 c...........mmmwwwwwwwwwwwmmm...........c
 cc.......J....mmmmwwwwwmmmm....J.......cc
  cc.......E......mmmmmmm......C.......cc
   cc.......IH...............HI.......cc
    ccc........B.H...H...H.B........ccc
      ccc.......I....D....I.......ccc
        cccc.......I...I.......cccc
           ccccc...........ccccc
               ccccccccccccc
ENDMAP

# 9, 18 gods
NAME:   dpeg_three_leaves_temple
TAGS:   no_rotate temple_altars_9 temple_altars_18
PLACE:  Temple
ORIENT: encompass
: local altar_count = get_altar_count(_G, 18)
: if altar_count == "9" then
SUBST:  C = .
: elseif altar_count == "18" then
SUBST:  C = B, T = .
: end
MAP
      bbbb               bbbb
    bbbb.bb             bb.bbbb
    bb....bb           bb....bb
   bb......bbb       bbb......bb
  bb.....B...bb     bb...B.....bb
 bb..B........bbb bbb........B..bb
 bb.....C...C...bbb...C...C.....bb
bb....B....T.....b.....T....B....bb
bb........C....C...C....C........bb
 bbbbbbbb........{........bbbbbbbb
        bbbbbbbb...bbbbbbbb
              bb.C.bb
             bb.....bb
            bb..CTC..bb
           bb.........bb
          bb.....C.....bb
         bb...B.....B...bb
        bb...............bb
        bbbb.....B.....bbbb
           bbbb.....bbbb
             bbbbbbbbb
ENDMAP

# 10, 14 gods
NAME:    dpeg_chambers_temple
TAGS:    no_rotate temple_altars_10 temple_altars_14
PLACE:   Temple
ORIENT:  encompass
: local altar_count = get_altar_count(_G, 14)
: if altar_count == "14" then
SUBST:   CDEF = B, '"-~ = .
: elseif altar_count == "10" then
SHUFFLE: C' / D" / E- / F~
SUBST:   CD = B, '" = ., EF-~ = v
: end
MAP
         vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
      vvvv.........................................vvvvv
   vvvv....vvv'vvvvvvv"vvvvvvv.vvvvvvv-vvvvvvv~vvv....vvvv
   v....vvvv'''''vvv"""""vvv.....vvv-----vvv~~~~~vvvv....vv
 vvv.vvvvvv'''C'''v"""D"""v...B...v---E---v~~~F~~~vvvvvv.vvv
vv.....vvvv'''''''v"""""""v.......v-------v~~~~~~~vvvv.....vv
v.......vvvv'''''vvv"""""vvv.....vvv-----vvv~~~~~vvvv.......v
v...B....vvvvv'vvvvvvv"vvvvvvv.vvvvvvv-vvvvvvv~vvvv.....B...v
vv.....v...vvv'vvvvvvv"vvvvvvv.vvvvvvv-vvvvvvv~vvv..v......vv
 vvv.vvvvv.........................................vvvvv.vvv
  v..vvvv...........................................vvvv..v
  v.vvvvv.......T.............{.............T.......vvvvv.v
  v..vvvv...........................................vvvv..v
 vvv.vvvvv.........................................vvvvv.vvv
vv......v..vvv~vvvvvvv-vvvvvvv.vvvvvvv"vvvvvvv'vvv..v......vv
v...B.....vvvv~vvvvvvv-vvvvvvv.vvvvvvv"vvvvvvv'vvvv.....B...v
v.......vvvv~~~~~vvv-----vvv.....vvv"""""vvv'''''vvvv.......v
vv.....vvvv~~~~~~~v-------v.......v"""""""v'''''''vvvv.....vv
 vvv.vvvvvv~~~F~~~v---E---v...B...v"""D"""v'''C'''vvvvvv.vvv
   v....vvvv~~~~~vvv-----vvv.....vvv"""""vvv'''''vvvv....v
   vvvv....vvv~vvvvvvv-vvvvvvv.vvvvvvv"vvvvvvv.vvv....vvvv
      vvvv.........................................vvvv
         vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
ENDMAP

# 9, 13, 16, 19, 21 gods.
NAME:   compressed_dpeg_triangle_lava_temple
TAGS:    no_rotate
TAGS:   temple_altars_9 temple_altars_13 temple_altars_16
TAGS:   temple_altars_19 temple_altars_21
PLACE:  Temple
ORIENT: encompass
# Completely different altar points between each setting.
: local altar_count = get_altar_count(_G, 21)
: if altar_count == "9" then
SUBST:  c = {, C = B, `G = l, defDEFA = ., a = T
: elseif altar_count == "13" then
SUBST:  d = {, D = B, `G = l, cefCEFA = ., a = T
: elseif altar_count == "16" then
SUBST:  e = {, E = B, `G = l, acdfCDF = ., A : TUV...
: elseif altar_count == "19" then
SUBST:  f = {, F = B, `acdeCDE = .
: elseif altar_count == "21" then
SUBST:  f = {, FG = B, `acdeCDE = .
: else
SUBST:  c = {, C = B, `G = l, defDEFA = ., A = T
: end
SUBST:  aA = ., X : xlllllll
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xllllllllllllllllllllllllllllXlllXllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xllllllllllllllllllllllllllllll`llllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllll...lllllllllllllllllllllllllllllx
xllllllllllllllllllllllllllll..F..llllllllllllllllllllllllllllx
xlllllllllllllllllllllllllll.......lllllllllllllllllllllllllllx
xllllllllllllllllllllllllll....E....llllllllllllllllllllllllllx
xlllllllllllllllllllllllll..F..c..F..lllllllllllllllllllllllllx
xllllllllllllllllllllllll......d......llllllllllllllllllllllllx
xlllllllllllllllllllllll...............lllllllllllllllllllllllx
xllllllllllllllllllllll.................llllllllllllllllllllllx
xlllllllllllllllllllll...F.E...A...E.F...lllllllllllllllllllllx
xllllllllllllllllllll....CD.........DC....llllllllllllllllllllx
xlllllllllllllllllll...........F...........lllllllllllllllllllx
xllllllllllllllllll............E............llllllllllllllllllx
xlllllllllllllllll....F.E.............E.F....lllllllllllllllllx
xllllllllllllllll....C.D.....D.C.D.....D.C....llllllllllllllllx
xlllllllllllllll...........F.......F...........lllllllllllllllx
xllllllllllllll................e................llllllllllllllx
xlllllllllllll...FE............f............EF...lllllllllllllx
xllllllllllll...DC........ED...a...DE........CD...llllllllllllx
xlllllllllll.......A.....F.....A.....F.....A.......lllllllllllx
xllllllllll.........................................llllllllllx
xllllllXll...FE.......D........F........D.......EF...llXllllllx
xllllllll....a........E.C......D......C.E........a....llllllllx
xllllllll..........F........E.....E........F..........llllllllx
xllllllXll...........................................llXllllllx
xlllllllllllll`````````````G```````G`````````````lllllllllllllx
xlllllllllllllllllll```````````````````````lllllllllllllllllllx
xlllllllllllllllllllll```````````````````lllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 10, 14 gods
NAME:   zaba_magenta_temple
TAGS:   no_rotate temple_altars_10 temple_altars_14
PLACE:  Temple
ORIENT: encompass
: local altar_count = get_altar_count(_G, 14)
: if altar_count == "14" then
SUBST:  T = B
: end
COLOUR: c = magenta
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cccc.......ccccccc.......ccccccc.......cccc
cc...B...B...ccc...T...T...ccc...B...B...cc
c.............c.............c.............c
cc...........ccc...........ccc...........cc
cccc...B.............{.............B....ccc
cc...........ccc...........ccc...........cc
c.............c.............c.............c
cc...B...B...ccc...T...T...ccc...B...B...cc
cccc.......ccccccc.......ccccccc.......cccc
ccccccccccccccccccccccccccccccccccccccccccc
ENDMAP

# 10, 14 gods
NAME:    eino_temple_lava
TAGS:     temple_altars_10 temple_altars_14
PLACE:   Temple
ORIENT:  encompass
: local altar_count = get_altar_count(_G, 14)
: if altar_count == "14" then
SUBST:   C = B, dg = .
: elseif altar_count == "10" then
SUBST:   C = ., Gd = c, g = G
: end
COLOUR:  c = red
MAP
       cccc    ccc
      cclccccccclcc
   ccccl.lcclccl.lcccc
  cclll...c...c...lllcc
  clll..C.G...G.B..lllc
  cll.....d.B.d.....llc
 ccl..B...d...d......lcc
ccl.......g...g.......lcc
cl..C...............B..lc
ccl...................lcc
 cccGddg.........gddGccc
 cc...................cc
 cl..B......{......B..lc
 cc...................cc
 cccGddg.........gddGccc
ccl...................lcc
cl..B...............C..lc
ccl.......g...g.......lcc
 ccl......d...d...B..lcc
  cll.....d.B.d.....llc
  clll..B.G...G.C..lllc
  cclll...c...c...lllcc
   ccccl.lcclccl.lcccc
      cclccccccclcc
       ccc     ccc
ENDMAP

# 11, 14 gods
NAME:    jpeg_temple_clearing
TAGS:    no_rotate no_pool_fixup
TAGS:     temple_altars_11 temple_altars_14
PLACE:   Temple
ORIENT:  encompass
# Stairs, tree paths, altars, decorative pillars.
: local altar_count = get_altar_count(_G, 14)
: if altar_count == "11" then
SUBST:   < = {, w = ., " : t', ( = B, C = ., U = T, z = x
SHUFFLE: xGTUu
SUBST:   u = t
FTILE:   ' = floor_dirt
: elseif altar_count == "14" then
SUBST:   ( = {, < = w
SHUFFLE: '"w / "'W
SUBST:   "W = t, CT = B, z = ., Ux : GUUTTxt
FTILE:   'w = floor_dirt
FTILE:   " = floor_grass
: end
FTILE:   .{tBxGTU = floor_grass
COLOUR:  . = green / brown w:2
MAP
                ttttttttt
           ttttttttttttttttt
         ttttttttt.....ttttttttt
      tttttttttt.........tttttttttt
    ttttttttt""..z.....z..""ttttttttt
   tttttttt""tt.....(.....tt""tttttttt
 ttttttttt"tttt...........tttt"ttttttttt
ttttt.....tttttt....z....tttttt.....ttttt
ttt...B.....tttttt.....tttttt.....B...ttt
tt...........ttttttt'ttttttt...........tt
tt.C...x..B..ttttttt'ttttttt..B..x...C.tt
tt...........tttttt'''tttttt...........tt
ttt..B......t'''tt''w''tt'''t......B..ttt
tttt......tttttt'''w<w'''tttttt......tttt
ttttt"tttttttttttt''w''tttttttttttt"ttttt
tttttt"tttttttttttt'''tttttttttttt"tttttt
ttttttt"tt......t''ttt''t......tt"ttttttt
 ttttttt......T..ttttttt..T......ttttttt
 tttttt...........ttttt...........tttttt
  ttttt.B...U.....ttttt.....U...B.ttttt
  ttttt...........ttttt...........ttttt
   ttttt.....B...ttttttt...B.....ttttt
    tttttt.....tt""ttt""tt.....tttttt
      ttttttttttttt"""ttttttttttttt
        ttttttttttttttttttttttttt
               ttttttttttt
ENDMAP

# 14, 18 gods
NAME:    eino_narrow_crystal_temple
TAGS:     temple_altars_14 temple_altars_18
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: C' / D" / E` / F~ / G- / H;
SUBST:   CDE = B, '"` = .
: local altar_count = get_altar_count(_G, 18)
: if altar_count == "14" then
SUBST:   F~G-H; = b
: elseif altar_count == "18" then
SUBST:   FG = B, ~- = ., H; = b
: end
MAP
       bbbbb  bbbbb  bbbbb
       b'''b  b"""b  b```b
       b'C'b  b"D"b  b`E`b
       b'''bbbb"""bbbb```b
       bbbb'bb"b"b"bb`bbbb
          bb'.bb"bb.`bb
          bb.bbb"bbb.bb
bbbbb  bbbb.b'bb"bb`b.bbbb  bbbbb
b;;;b  b...bb'bb"bb`bb...b  b~~~b
b;H;b  b.B.bbb'b"b`bbb.B.b  b~F~b
b;;;bbbb...bbbb...bbbb...bbbb~~~b
bbbb;bb.bbb.bbb.B.bbb.bbb.bb~bbbb
   bb;.bbbbb.bb...bb.bbbbb.~bb
   bb.b;;bbbb.bb.bb.bbbb~~b.bb
bbbb.bbbb;bbbb.b.b.bbbb~bbbb.bbbb
b---bbbbbb...bb...bb...bbbbbb---b
b-G-------.B....{....B.-------G-b
b---bbbbbb...bb...bb...bbbbbb---b
bbbb.bbbb~bbbb.b.b.bbbb;bbbb.bbbb
   bb.b~~bbbb.bb.bb.bbbb;;b.bb
   bb~.bbbbb.bb...bb.bbbbb.;bb
bbbb~bb.bbb.bbb.B.bbb.bbb.bb;bbbb
b~~~bbbb...bbbb...bbbb...bbbb;;;b
b~F~b  b.B.bbb`b"b'bbb.B.b  b;H;b
b~~~b  b...bb`bb"bb'bb...b  b;;;b
bbbbb  bbbb.b`bb"bb'b.bbbb  bbbbb
          bb.bbb"bbb.bb
          bb`.bb"bb.'bb
       bbbb`bb.b"b.bb'bbbb
       b```bbbb"""bbbb'''b
       b`E`b  b"D"b  b'C'b
       b```b  b"""b  b'''b
       bbbbb  bbbbb  bbbbb
ENDMAP

# 10, 15 gods
NAME:    eino_wide_crystal_templ
TAGS:    no_rotate temple_altars_10 temple_altars_15
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: a'- / A"c, += / += / =+
SUBST:   a = b, '- = ., c = b, + = ., = = b
CLEAR:   A"
: local altar_count = get_altar_count(_G, 15)
: if altar_count == "10" then
SUBST:  C = .
: elseif altar_count == "15" then
SUBST:  TC = B
: end
MAP
            bbbbb
         aaab...baaa
         a''-.{.-''a
        bb-bb...bb-bb
        b...bb.bb...b
        b.B.......B.b
    bbbbb...b...b...bbbbb
    b...bb+bb.B.bb+bb...b
bbbbb.B.+...b...b...+.B.bbbbb
b...b...b.T.bb=bb.T.b...b...b
b.B....bb...........bb....B.b
b...b...bbbbb.B.bbbbb...b...b
bbbbb.T....bb...bb....T.bbbbb
    b...b...bb=bb...b...b
    bbbbb.B.......B.bbbbb
        b...b...b...b
        bbbbb.C.bbbbb
            b...b
            bbbbb
ENDMAP

# 12, 16 gods
NAME:   nicolae_temple_x_marks_the_god
TAGS:   no_pool_fixup
TAGS:    temple_altars_12 temple_altars_16
PLACE:  Temple
ORIENT: encompass
: local altar_count = get_altar_count(_G, 16)
: if altar_count == "12" then
SUBST:  D = B, E = ., g : Ghhh, h : tTV.....
: elseif altar_count == "16" then
SUBST:  E = B, Dgh = .
: else
SUBST:  D = B, E = ., g : Ghhh, h : tTV.....
: end
SUBST:  C : ccccwl, c : ccccvb
MAP
     ccccccccccccccccc
   ccc..hCCCCCCCCCh..ccc
  cc.....CCCCCCCCC.....cc
 cc......gCCCCCCCg......cc
 c..B.....CCCCCCC.....B..c
cc........hCCCCCh........cc
c.....E....CCCCC....E.....c
c......D...gCCCg...D......c
ch......E...CCC...E......hc
cCCg........hCh........gCCc
cCCCCh....B..C..B....hCCCCc
cCCCCCCg...........gCCCCCCc
cCCCCCCCCh.......hCCCCCCCCc
cCCCCCCCCCC..{..CCCCCCCCCCc
cCCCCCCCCh.......hCCCCCCCCc
cCCCCCCg...........gCCCCCCc
cCCCCh....B..C..B....hCCCCc
cCCg........hCh........gCCc
ch......E...CCC...E......hc
c......D...gCCCg...D......c
c.....E....CCCCC....E.....c
cc........hCCCCCh........cc
 c..B.....CCCCCCC.....B..c
 cc......gCCCCCCCg......cc
  cc.....CCCCCCCCC.....cc
   ccc..hCCCCCCCCCh..ccc
     ccccccccccccccccc
ENDMAP

# 12, 18 gods
NAME:    hc_temple_tempest_star
TAGS:    no_rotate no_pool_fixup no_cloud_gen
TAGS:     temple_altars_12 temple_altars_18
PLACE:   Temple
ORIENT:  encompass
# Randomize altars versus triangles of points.
SHUFFLE: BC, DE, FG
# Sometimes fill in the outer star
# and shove in all altars to the inner star.
: local altar_count = get_altar_count(_G, 18)
: if crawl.coinflip() then
SUBST:   'bFGz = x, d = ., e = y
:   if altar_count == "12" then
SUBST:   CD = B, E = .
:   elseif altar_count == "18" then
SUBST:   CDE = B
:   else
SUBST:   CDE = B
:   end
: else
SUBST:    'e = ., d = y, z : cWwl., bG = B, DE = .
:   if altar_count == "12" then
SHUFFLE:  FG
SUBST:    CF = .
:   elseif altar_count == "18" then
SUBST:    CF = B
:   else
SUBST:    CF = B
:   end
: end
SUBST:   y : cWwl
MAP
                                 xxx
                                xxzxx
                               xxzzzxx
                              xxzz'zzxx
                             xxzz'''zzxx
                            xxzz'''''zzxx
                           xxzz'''F'''zzxx
                          xxzz'''''''''zzxx
                         xxzz'''''''''''zzxx
                        xxzz''''''y''''''zzxx
                       xxzz''''''yyy''''''zzxx
xxxxxxxxxxxxxxxxxxxxxxxxzz''''''yyyyy''''''zzxxxxxxxxxxxxxxxxxxxxxxxx
xzzzzzzzzzzzzzzzzzzzzzzzz''''''yyy.yyy''''''zzzzzzzzzzzzzzzzzzzzzzzzx
xxzz''''''''''''''''''''''''''yyy...yyy''''''''''''''''''''''''''zzxx
 xxzz'''G''''''''''''''b'''''yyy..C..yyy'''''b''''''''''''''G'''zzxx
  xxzz''''''''''''''''''''''yyy......Eeee''''''''''''''''''''''zzxx
   xxzz'''''''yyyyyyyyyyeeeyyy..D...yyyyyyyyyyyyyyyyyyy'''''''zzxx
    xxzz'''''''yyy.B.dd.E.yyy.....yyyyyyyyy..B..ddddyy'''''''zzxx
     xxzz'''''''yyy..dD..yyyy....yyyyy..........E..yy'''''''zzxx
      xxzz'''''''yyy......yyy....y................yy'''''''zzxx
       xxzz'''''''yyy......yyy........yyyyyy.D...ey'''''''zzxx
        xxzz'''''''yyyy......yyy.........yyyyyy.ee'''''''zzxx
         xxzz''b''''yyyyyy........{........yyyyyy''''b''zzxx
        xxzz'''''''ee.yyyyyy.........yyy......yyyy'''''''zzxx
       xxzz'''''''ye...D.yyyyyy........yyy......yyy'''''''zzxx
      xxzz'''''''yy................y....yyy......yyy'''''''zzxx
     xxzz'''''''yy..E..........yyyyy....yyyy..Dd..yyy'''''''zzxx
    xxzz'''''''yydddd..C..yyyyyyyyy.....yyy.E.dd.C.yyy'''''''zzxx
   xxzz'''''''yyyyyyyyyyyyyyyyyyy...D..yyyeeeyyyyyyyyyy'''''''zzxx
  xxzz''''''''''''''''''''''eeeE......yyy''''''''''''''''''''''zzxx
 xxzz'''F''''''''''''''b'''''yyy..B..yyy'''''b''''''''''''''F'''zzxx
xxzz''''''''''''''''''''''''''yyy...yyy''''''''''''''''''''''''''zzxx
xzzzzzzzzzzzzzzzzzzzzzzzz''''''yyy.yyy''''''zzzzzzzzzzzzzzzzzzzzzzzzx
xxxxxxxxxxxxxxxxxxxxxxxxzz''''''yyyyy''''''zzxxxxxxxxxxxxxxxxxxxxxxxx
                       xxzz''''''yyy''''''zzxx
                        xxzz''''''y''''''zzxx
                         xxzz'''''''''''zzxx
                          xxzz'''''''''zzxx
                           xxzz'''G'''zzxx
                            xxzz'''''zzxx
                             xxzz'''zzxx
                              xxzz'zzxx
                               xxzzzxx
                                xxzxx
                                 xxx
ENDMAP

# 9 to 12 gods
NAME:   chequers_temple_sunken
TAGS:   temple_altars_9 temple_altars_10 temple_altars_11 temple_altars_12
PLACE:  Temple
ORIENT: encompass
KFEAT:  O = altar_ecumenical
: local altar_count = get_altar_count(_G, 12)
: nsubst("O = " .. altar_count .. ":B / 1:O.... / *:.")
SUBST:  - = .W, x = .:5 Wx, G = .:20 G, z = wW
COLOUR: -S = green
: set_border_fill_type("open_sea")
MAP
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwzxxxxxzwwwwwwwwwww
wwwwwwwwwwwzxG-Gxzwwwwwwwwwww
wwwwwwwwwwwzx-{-xzwwwwwwwwwww
wwwwwwwwwzzzxG-Gxzzzwwwwwwwww
wwwwwwwwwzxxx---xxxzwwwwwwwww
wwwwwwwwwzxG-----Gxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxO-----Oxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxG-----Gxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxO-----Oxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxG-----Gxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxO-----Oxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxG-----Gxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxO-----Oxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxG-----Gxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxO-----Oxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxG-----Gxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxO-----Oxzwwwwwwwww
wwwwwwwwwzx-------xzwwwwwwwww
wwwwwwwwwzxG-----Gxzwwwwwwwww
wwwwwwwwwzxxxxxxxxxzwwwwwwwww
wwwwwwwwwzzzzzzzzzzzwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwww
ENDMAP

# 6 through 14 gods
NAME:    nicolae_temple_ecumenical_triangle
TAGS:    temple_altars_6 temple_altars_7 temple_altars_8 temple_altars_9 \
         temple_altars_10 temple_altars_11 temple_altars_12 temple_altars_13 \
         temple_altars_14
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: DEFHJKLMNOPQRSZ/PQLRMHSNJEZOKFD/ZOSKNRFJMQDEHLP
: local altar_count = get_altar_count(e, 14)
: if     altar_count == "6" then                            -- 6
:   if crawl.coinflip() then
SHUFFLE: DPZ/JMN
SUBST:   DPZ = {, JMNHKR = B, EFLOQS = a
:   else
SHUFFLE: DPZ/JMN/HKR
SUBST:   DPZ = {, EFLOQS = B, JMN = a, HKR = p
:   end
: elseif altar_count == "7" then                            -- 7
SUBST:   R = {, EFHJKMN = B, D = a, LO = p, PZ = q, QS = r
: elseif altar_count == "8" then                            -- 8
SUBST:   D = {, HJKPQRSZ = B, EF = a, LO = p, MN = q
: elseif altar_count == "9" then                            -- 9
SHUFFLE: DPZ/JMN
SUBST:   DPZ = {, EHLFKOQRS = B, JMN = a
: elseif altar_count == "10" then                           -- 10
SUBST:   R = {, DEFHJKLMNO = B, PZ = a, QS = p
: elseif altar_count == "11" then                           -- 11
SHUFFLE: DR
SUBST:   D = {, EFHKLOPQRSZ = B, JMN = a
: elseif altar_count == "12" then                           -- 12
SHUFFLE: DPZ/JMN
SUBST:   DPZ = {, EFHJKLMNOQRS = B
: elseif altar_count == "13" then                           -- 13
SHUFFLE: DJ/KP
SUBST:   D = {, EFHKLMNOPQRSZ = B, J = a
: else --altar_count == "14"                                -- 14
SHUFFLE: DR
SUBST:   D = {, EFHJKLMNOPQRSZ = B
: end
SUBST:   a : GTU`, p : GTU`, q : GTU`, r : GTU`, s : GTU`
NSUBST:  { = { / <
FTILE:   {<BGTU` = floor_vault
COLOUR:  ` = blue
MAP
ccccccccccccccccccccccc
cccccccccc...cccccccccc
ccccccccc.```.ccccccccc
ccccccccc.`D`.ccccccccc
ccccccccc.```.ccccccccc
cccccccc.......cccccccc
ccccccc.```.```.ccccccc
ccccccc.`E`.`F`.ccccccc
ccccccc.```.```.ccccccc
cccccc...........cccccc
ccccc.```.```.```.ccccc
ccccc.`H`.`J`.`K`.ccccc
ccccc.```.```.```.ccccc
cccc...............cccc
ccc.```.```.```.```.ccc
ccc.`L`.`M`.`N`.`O`.ccc
ccc.```.```.```.```.ccc
cc...................cc
c.```.```.```.```.```.c
c.`P`.`Q`.`R`.`S`.`Z`.c
c.```.```.```.```.```.c
cc...................cc
ccccccccccccccccccccccc
ENDMAP

# 12, 16, or 20 gods
NAME:    nicolae_temple_slightly_damp_pantheon
TAGS:    no_pool_fixup temple_altars_12 temple_altars_16 temple_altars_20
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: DFHJ
: local altar_count = get_altar_count(e, 20)
: if altar_count == "12" then       -- 12
:   if crawl.coinflip() then
SUBST: DE = B, FHJ = T
:   else
SUBST: DFH = B, EJ = T
:   end
: elseif altar_count == "16" then   -- 16
:   if crawl.coinflip() then
SUBST: DEF = B, JH = T
:   else
SUBST: DFHJ = B, E = T
:   end
: else                              -- 20
SUBST: DEFH = B, J = T
: end
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxwwwwwxxxxwwwwwxxxxwwwwwxxxxxxxxxxx
xxxxxxxxxxx.....xxxx.....xxxx.....xxxxxxxxxxx
xxxwwwwwwxx.......................xxwwwwwwxxx
xxxw.....xx..E........F........E..xx.....wxxx
xxxw.....................................wxxx
xxxw..D.........xxxx.....xxxx.........D..wxxx
xxxw...........xxxxxx...xxxxxx...........wxxx
xxxw.....xxx...xxxxxx...xxxxxx...xxx.....wxxx
xxxxx...xxx.....xxxxx...xxxxx.....xxx...xxxxx
xxxxx...xxw.....wxxx.....xxxw.....wxx...xxxxx
xw......x.........x.......x.........x......wx
xw.........................................wx
xw..E........H........J........H........E..wx
xw.........................................wx
xw.....xx.........x.......x.........xx.....wx
xxx...xxxxw.....wxxx.....xxxw.....wxxxx...xxx
xxx...xxxxx.....xxxxx...xxxxx.....xxxxx...xxx
xxx...xxxxxx...xxxww.....wwxxx...xxxxxx...xxx
xxx...xxxxx.....xxww.....wwxx.....xxxxx...xxx
xw.....xxx.......x.........x.......xxx.....wx
xw.........................................wx
xw..F........J........{........J........F..wx
xw.........................................wx
xw.....xxx.......x.........x.......xxx.....wx
xxx...xxxxx.....xxww.....wwxx.....xxxxx...xxx
xxx...xxxxxx...xxxww.....wwxxx...xxxxxx...xxx
xxx...xxxxx.....xxxxx...xxxxx.....xxxxx...xxx
xxx...xxxxw.....wxxx.....xxxw.....wxxxx...xxx
xw.....xx.........x.......x.........xx.....wx
xw.........................................wx
xw..E........H........J........H........E..wx
xw.........................................wx
xw......x.........x.......x.........x......wx
xxxxx...xxw.....wxxx.....xxxw.....wxx...xxxxx
xxxxx...xxx.....xxxxx...xxxxx.....xxx...xxxxx
xxxw.....xxx...xxxxxx...xxxxxx...xxx.....wxxx
xxxw...........xxxxxx...xxxxxx...........wxxx
xxxw..D.........xxxx.....xxxx.........D..wxxx
xxxw.....................................wxxx
xxxw.....xx..E........F........E..xx.....wxxx
xxxwwwwwwxx.......................xxwwwwwwxxx
xxxxxxxxxxx.....xxxx.....xxxx.....xxxxxxxxxxx
xxxxxxxxxxxwwwwwxxxxwwwwwxxxxwwwwwxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 6, 7, 8, 14, 15, or 16 gods
NAME:    nicolae_temple_superstar
TAGS:    no_pool_fixup temple_altars_6 temple_altars_7 temple_altars_8 \
         temple_altars_14 temple_altars_15 temple_altars_16
PLACE:   Temple
ORIENT:  encompass
SHUFFLE: DF
: local altar_count = get_altar_count(e, 16)
: if tonumber(altar_count) % 4 == 2 then       -- 6, 14
NSUBST:  D = 1:{ / <
SUBST:   !- = w
: elseif tonumber(altar_count) % 4 == 3 then   -- 7, 15
NSUBST:  D = 1:{ / B
SUBST:   !- = w
: else                                         -- 8, 16
SUBST:   ! = {, - = `
FTILE:   ` = floor_vault
COLOUR:  ` = blue
: end
: if tonumber(altar_count) < 10 then           -- 6, 7, 8
SUBST:   EHKM : GGGTTTUVY
: end
SUBST:   DEFHJKLM = B
MAP
ccccccccccccccccccccccccccccccc
c.....ccccccccccccccccccc.....c
c........ccccccccccccc........c
c..L........ccccccc........F..c
c..............c..............c
c........M...........E........c
cc...........................cc
cc.............D.............cc
cc......ww...........ww......cc
ccc..K..wwwww.....wwwww..H..ccc
ccc......wwwwww-wwwwww......ccc
ccc......wwwww---wwwww......ccc
cccc.....wwww-----wwww.....cccc
cccc......ww-------ww......cccc
cccc......w---------w......cccc
ccccc..J..-----!-----..J..ccccc
cccc......w---------w......cccc
cccc......ww-------ww......cccc
cccc.....wwww-----wwww.....cccc
ccc......wwwww---wwwww......ccc
ccc......wwwwww-wwwwww......ccc
ccc..H..wwwww.....wwwww..K..ccc
cc......ww...........ww......cc
cc.............D.............cc
cc...........................cc
c........E...........M........c
c..............c..............c
c..F........ccccccc........L..c
c........ccccccccccccc........c
c.....ccccccccccccccccccc.....c
ccccccccccccccccccccccccccccccc
ENDMAP

# 6, 8, 10, 14, or 18 gods
NAME:   nicolae_temple_two_arcs
TAGS:   no_pool_fixup temple_altars_6 temple_altars_8 temple_altars_10 \
        temple_altars_14 temple_altars_18
PLACE:  Temple
ORIENT: encompass
: local altar_count = get_altar_count(e, 18)
: if altar_count == "6" then
SUBST:  DF = B, E : GU, HJ = .
: elseif altar_count == "8" then
SUBST:  HJ = B, DEF = .
: elseif altar_count == "10" then
SUBST:  DEF = B, HJ = .
: elseif altar_count == "14" then
SUBST:  DFHJ = B, E : GU
: else
SUBST:  DEFHJ = B
: end
SUBST:  Z : GU
FTILE:  `{ = floor_vault
COLOUR: ` = blue
MAP
ccccccccccccccccccccccccccccccccccc
cc...Z...wwwwwwwwwwwwwwwww...Z...cc
ccc.......wwwwwwwwwwwwwww.......ccc
cccc.......wwwwwwwwwwwww.......cccc
ccccc...D...wwwwwwwwwww...D...ccccc
ccccc.......wwwwwwwwwww.......ccccc
cccccc...H...wwwwwwwww...H...cccccc
cccccc.......wwwwwwwww.......cccccc
cccccc...E...wwwwwwwww...E...cccccc
ccccccc.......wwwwwww.......ccccccc
ccccccc...J...```````...J...ccccccc
ccccccc.......```````.......ccccccc
ccccccc...F...```{```...F...ccccccc
ccccccc.......```````.......ccccccc
ccccccc...J...```````...J...ccccccc
ccccccc.......wwwwwww.......ccccccc
cccccc...E...wwwwwwwww...E...cccccc
cccccc.......wwwwwwwww.......cccccc
cccccc...H...wwwwwwwww...H...cccccc
ccccc.......wwwwwwwwwww.......ccccc
ccccc...D...wwwwwwwwwww...D...ccccc
cccc.......wwwwwwwwwwwww.......cccc
ccc.......wwwwwwwwwwwwwww.......ccc
cc...Z...wwwwwwwwwwwwwwwww...Z...cc
ccccccccccccccccccccccccccccccccccc
ENDMAP

##############################################################################
# <<7>> Variable altars, unusual layouts
# Dedications and odd variations on other vaults.

# 11, 15 gods
NAME:    minmay_freezing_vapour_temple
TAGS:    temple_altars_11 temple_altars_15
PLACE:   Temple
ORIENT:  encompass
: local altar_count = get_altar_count(_G, 13)
: nsubst("B = " .. altar_count .. ":B / *:'")
MARKER:  F = lua:fog_machine { cloud_type = "freezing vapour", \
             pow_min = 3, pow_max = 5, delay = 5, start_clouds = 3, \
             size = 2, spread_rate = 0, excl_rad = 0 }
COLOUR:  c = white
FTILE:   'F = floor_frozen
FTILE:   .B{ = floor_pebble_blue
MAP
ccccccccccccccccc
c...............c
c.F.F.F.F.F.F.F.c
c...............c
c.F.B.B.B.B.B.F.c
c...............c
c.F.B.......B.F.c
c...............c
c.F.B...{...B.F.c
c...............c
c.F.B.......B.F.c
c...............c
c.F.B.B.B.B.B.F.c
c...............c
c.F.F.F.F.F.F.F.c
c...............c
ccccccccccccccccc
ENDMAP

# 16, 17 gods
NAME:   minmay_temple_bridge_d
TAGS:   no_cloud_gen temple_altars_16 temple_altars_17
PLACE:  Temple
ORIENT: encompass
SUBST:  A : TUV
: local altar_count = get_altar_count(_G, 17)
: if altar_count == "16" then
SUBST:  C = .
: elseif altar_count == "17" then
SUBST:  C = B
: end
MAP
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
lllllllll...lll...llllllllll...lllllllll
llllllll.....l.lll.llllllll..B..llllllll
llllllll..A..l.lvl.llll..ll.....llllllll
llllllll.....l.lll.lll.ll.l.B.B.llllllll
llllllll.....ll.l.lll.lll.l.....llllllll
llllllll.....ll.l.ll.ll..ll.B.B.llllllll
lllllll.......l.l.ll.l.lll.......lllllll
lllllll.........l.l.ll.l...B.B.B.lllllll
lllllll...{..A..l.l..l.l.C.......lllllll
lllllll.........l.ll.l.l...B.B.B.lllllll
lllllll.......lll.l.ll.l.l.......lllllll
llllllll.....ll..ll.ll.l.ll.B.B.llllllll
llllllll.....l.lll.lll.l.ll.....llllllll
llllllll.....l.ll.lll.lll.l.B.B.llllllll
llllllll..A..ll..llll.lvl.l.....llllllll
llllllll.....llllllll.lll.l..B..llllllll
lllllllll...llllllllll...lll...lllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
llllllllllllllllllllllllllllllllllllllll
ENDMAP

# 9, 16 gods
NAME:       kb_temple_of_zot
TAGS:       no_rotate temple_altars_9 temple_altars_16
PLACE:      Temple
ORIENT:     encompass
: local altar_count = get_altar_count(_G, 14)
: if altar_count == "9" then
SUBST:      C = B, D = .
: elseif altar_count == "16" then
SUBST:      D = B, C = .
: end
LFLOORCOL:  magenta
LROCKCOL:   lightmagenta
LFLOORTILE: floor_tomb
LROCKTILE:  wall_zot_magenta
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxx......xxxxxx.......xxxxxx......xxxx
xxx....D...xxxx..DC.CD..xxxx...D....xxx
xx..........xxx.C.....C.xxx..........xx
xx.................B.................xx
xxx.........xxx.C.....C.xxx.........xxx
xx...D......xxx..DC.CD..xxx......D...xx
xx..........xxxx.......xxxx..........xx
xxx........xxxxxxxxxxxxxxxxx........xxx
xxxx......xxxxxxxxxxxxxxxxxxx......xxxx
xxxxxx.xxxxxxxxxxxxxxxxxxxxxxxxx.xxxxxx
xxxx.......xxxxxxxxxxxxxxxxx.......xxxx
xxx..............xxxxx..............xxx
xx...........xxx...x...xxx...........xx
xx..D........xxxx.....xxxx........D..xx
xx...........xxxx..D..xxxx...........xx
xx...........xxx.......xxx...........xx
xxx.........xxxx.D...D.xxxx.........xxx
xxxx...D...xxxx.........xxxx...D...xxxx
xxxxx.....xxx.............xxx.....xxxxx
xxxxxxxxxxxxxxxxxxx{xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 9, 11 gods
NAME:   grunt_temple_mini_profane
TAGS:   no_rotate temple_altars_9 temple_altars_11
PLACE:  Temple
ORIENT: encompass
: local altar_count = get_altar_count(_G, 11)
: if altar_count == "9" then
SUBST:  C = .
: elseif altar_count == "11" then
SUBST:  C = B
: end
MAP
    ccc      ccccccc      ccc
   cc.c      c.....c      c.cc
  cc..cccccccc..G..cccccccc..cc
 cc{..+......+.....+......+..Ccc
cc....+......+.....+......+....cc
c....Gcccccccc.....ccccccccG....c
ccc++ccxccc..+..B..+..cccxcc++ccc
  c..cccc....+c...c+....cccc..c
  c..cc.....ccccccccc.....cc..c
  c..c...cc++...G...++cc...c..c
  c..c..ccc+.........+ccc..c..c
ccc++c++ccc...cc+cc...ccc++c++ccc
c......cccc..cc...cc..cccc......c
c.......ccc..c.B.B.c..ccc.......c
c.G...B.cccG.+.....+.Gccc.B...G.c
c.......ccc..c.B.B.c..ccc.......c
c......cccc..cc...cc..cccc......c
ccc++c++ccc...cc+cc...ccc++c++ccc
  c..c..ccc+.........+ccc..c..c
  c..c...cc++...G...++cc...c..c
  c..cc.....ccccccccc.....cc..c
  c..cccc....+c...c+....cccc..c
ccc++ccxccc..+..B..+..cccxcc++ccc
c....Gcccccccc.....ccccccccG....c
cc....+......+.....+......+....cc
 ccC..+......+.....+......+..Bcc
  cc..cccccccc..G..cccccccc..cc
   cc.c      c.....c      c.cc
    ccc      ccccccc      ccc
ENDMAP

# 11, 15, 17 gods,
# shameless.
NAME:    bh_familiar_temple
TAGS:    no_rotate no_hmirror no_vmirror
TAGS:    temple_altars_11 temple_altars_15 temple_altars_17
PLACE:   Temple
ORIENT:  encompass
KFEAT:   Q : abandoned_shop
: local altar_count = get_altar_count(_G, 17)
: nsubst ("B = " .. altar_count .. ":B / 1:Q. / *:.")
# One door tile to every room, just like-
NSUBST:  d = 1:+ / *:c, e = 1:+ / *:c, f = 1:+ / *:c, g = 1:+ / *:c
NSUBST:  h = 1:+ / *:c, i = 1:+ / *:c, j = 1:+ / *:c, k = 1:+ / *:c
NSUBST:  l = 1:+ / *:c, m = 1:+ / *:c, n = 1:+ / *:c, o = 1:+ / *:c
NSUBST:  p = 1:+ / *:c, q = 1:+ / *:c, r = 1:+ / *:c, s = 1:+ / *:c
NSUBST:  t = 1:+ / *:c, u = 1:+ / *:c
SHUFFLE: '"
FTILE:   ' = floor_grass
FTILE:   " = floor_dirt
COLOUR:  ' = green
COLOUR:  " = brown
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x''''''''''''''''''''''{'''''''x
x'ccccccddccccccccccccc""ccccc'x
x'c.B..c..c...c..B.c..e""f...c'x
x'c....cB.c.B.c....c..e""f.B.c'x
x'cggggcccc...c+ccccccc""f...c'x
x'"""""cB.c...c"c.Bc..c"cccccc'x
x'cccc"c..chhhc"c..c.Bc"i...Bc'x
x'cB.j"ckkc""T""cllc..c"i....c'x
x'c..j"""""""""""""cmmc"i....c'x
x'ccccnnnc"ccccooc""""""iB...c'x
x'cB.c...c"p..c..cqqqqcccccccc'x
x'c..c.B.c"p.BcB.c....cB.cB..s'x
x'c..c...c"cccc..c..B.c..c...s'x
x'cttccccc""T"cccccccccuuccccc'x
x''''''''''''''''''''''''''''''x
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 12, 15, or 18 gods.
NAME:    nicolae_temple_no_exploring_needed
TAGS:    no_pool_fixup
TAGS:    temple_altars_12 temple_altars_15 temple_altars_18
PLACE:   Temple
ORIENT:  encompass
: local altar_count = get_altar_count(_G, 18)
: if altar_count == "12" then
SUBST:   BCEFHIKLNOQR = _
SUBST:   AGM = p, DJP = q
SHUFFLE: pq / rr / rr
SUBST:   p : TG, q : TG, r = .
: elseif altar_count == "15" then
SUBST:   BCDEFHIJKLNOPQR = _
SUBST:   AGM : TG
: elseif altar_count == "18" then
SUBST:   ABCDEFGHIJKLMNOPQR = _
: else
SUBST:   ABCGHIMNO = _, DEFJKLPQR = Y
: end
SUBST:   _ = B
SHUFFLE: abdefgh
SUBST:   abd = w, e : .w, f : .w, g : .w, h : .w
MAP
   ccccccccc
  ccD.E.F.Gcc
 cc.........cc
ccC..gh.hg..Hcc
c...bef.feb...c
cB.gead.daeg.Ic
c..hfd...dfh..c
cA.....{.....Jc
c..hfd...dfh..c
cR.gead.daeg.Kc
c...bef.feb...c
ccQ..gh.hg..Lcc
 cc.........cc
  ccP.O.N.Mcc
   ccccccccc
ENDMAP

# 6, 8, or 10 gods.
NAME:   hellmonk_temple_micro_hex
TAGS:   temple_altars_6 temple_altars_8 temple_altars_10
PLACE:  Temple
ORIENT: encompass
: local altar_count = get_altar_count(_G, 10)
: if altar_count == "6" then
SUBST:  D = B, EF = G
: elseif altar_count == "8" then
SUBST:  DE = B, F = G
: else
SUBST:  DEF = B
: end
FTILE: 'T{ = floor_frozen
FTILE: .BG = floor_w_marble
COLOUR: 'T{ = blue
COLOUR: . = white
MAP
    ccccccc
   ccD...Dcc
  cc.......cc
 ccE...'...Fcc
cc....'''....cc
cD...''{''...Dc
cc....'''....cc
 ccF...'...Ecc
  cc.......cc
   ccD...Dcc
    ccccccc
ENDMAP

# 8, 9, 12, or 13 gods.
NAME:   hellmonk_temple_forest_ring
TAGS:   temple_altars_8 temple_altars_9 temple_altars_12 temple_altars_13
PLACE:  Temple
ORIENT: encompass
NSUBST: A = 1:{ / *:AG
NSUBST: + = 1:+ / *:c
: local altar_count = get_altar_count(_G, 13)
: if altar_count == "8" then
SUBST:  E = B
SUBST:  +DFH = c
: elseif altar_count == "9" then
SUBST:  EF = B, D = ., H:AG
: elseif altar_count == "12" then
SUBST:  EH = B, D = ., F = AGT
: else
SUBST:  EFH = B, D = .
: end
FTILE:  .+{ABGTt = floor_grass
COLOUR: . = green
MAP
   tttt         tttt
   tE.tt       tt.Et
   tt..tt     tt..tt
tttttt..tt   tt..tttttt
tEttttt..ttttt..tttttEt
t..ttttt...A...ttttt..t
tt..ttt........tttt..tt
 tt..t....c+c...tt..tt
  tt....cccDccc....tt
   tt...cHDDDHc...tt
    t..ccDDDDDcc..t
    tA.+DDDFDDD+.At
    t..ccDDDDDcc..t
   tt...cHDDDHc...tt
  tt....cccDccc....tt
 tt..tt...c+c....t..tt
tt..tttt........ttt..tt
t..ttttt...A...ttttt..t
tEttttt..ttttt..tttttEt
tttttt..tt   tt..tttttt
   tt..tt     tt..tt
   tE.tt       tt.Et
   tttt         tttt
ENDMAP

# 7, 8, 11, 15, or 19 gods.
NAME:   hellmonk_temple_of_storms
TAGS:   temple_altars_7 temple_altars_8 temple_altars_11 temple_altars_15
TAGS:   temple_altars_19
PLACE:  Temple
ORIENT: encompass
: if crawl.one_chance_in(25) then
KMONS:  J = diamond obelisk
: else
MARKER: J = lua:fog_machine { cloud_type = "thunder", \
             pow_min = 30, pow_max = 50, delay = 5, start_clouds = 3, \
             size = 4, walk_dist = 1, spread_rate = 100, excl_rad = 0 }
: end
: local altar_count = get_altar_count(_G, 19)
: if altar_count == "7" then
SUBST:  DE = B, FHI:G.
: elseif altar_count == "8" then
SUBST:  FH = B, DEI:G.
: elseif altar_count == "11" then
SUBST:  DFH = B, EI:G.
: elseif altar_count == "15" then
SUBST:  DEFH = B, I:G.
:else
SUBST:  DEFHI = B
: end
KPROP:  J' = no_tele_into
FTILE:  J' = floor_sand
COLOUR: J' = yellow
MAP
        ccccc
     cccc.{.cccc
    ccH.......Hcc
   cc...........cc
  ccE...........Ecc
  c...............c
 cc....nnnnnnn....cc
 cF...nn'''''nn...Fc
cc...nn'''''''nn...cc
cI...n'''''''''n...Ic
c....n'''''''''n....c
cD...n''''J''''n...Dc
c....n'''''''''n....c
cI...n'''''''''n...Ic
cc...nn'''''''nn...cc
 cF...nn'''''nn...Fc
 cc....nnnnnnn....cc
  c...............c
  ccE...........Ecc
   cc...........cc
    ccH.......Hcc
     cccc.D.cccc
        ccccc
ENDMAP

# any odd number of gods from 7-19
NAME:   hellmonk_temple_divided_pantheon
TAGS:   temple_altars_7 temple_altars_9 temple_altars_11 temple_altars_13
TAGS:   temple_altars_15 temple_altars_17 temple_altars_19
PLACE:  Temple
ORIENT: encompass
FTILE:  DRQ' = floor_infernal
FTILE:  EJK- = floor_w_marble
FTILE:  {SHGPBL. = floor_limestone
COLOUR: ' = red
COLOUR: - = white
COLOUR: G. = yellow
: local altar_count = get_altar_count(_G, 19)
: local half_count = (altar_count - 1) / 2
: nsubst ("D = " .. half_count .. ":B / *:'")
: nsubst ("E = " .. half_count .. ":B / *:-")
MARKER:  P = lua:transp_loc("pantheon_dark_entry")
MARKER:  Q = lua:transp_dest_loc("pantheon_dark_entry")
MARKER:  R = lua:transp_loc("pantheon_dark_exit")
MARKER:  S = lua:transp_dest_loc("pantheon_dark_exit")
MARKER:  H = lua:transp_loc("pantheon_light_entry")
MARKER:  J = lua:transp_dest_loc("pantheon_light_entry")
MARKER:  K = lua:transp_loc("pantheon_light_exit")
MARKER:  L = lua:transp_dest_loc("pantheon_light_exit")
MAP
      ccccccc
     ccc.B.ccc
    ccDn...nEcc
   cc''n...n--cc
cccc'''n...n---cccc
ccD'''Dn...nE---Ecc
c''''''n...n------c
c''D'''n...n--E---c
c''''''n...n------c
c'''''RnS.HnJ-----c
cD'''''nG.Gn-----Ec
c'''''QnP.LnK-----c
c''D'''n...n--E---c
c''''''n...n------c
c'''''Dn...nE-----c
ccD''''n...n----Ecc
cccc'''n...n---cccc
   cc''n...n--cc
    ccDn.{.nEcc
     ccc...ccc
      ccccccc
ENDMAP

# 6, 8, 9, or 10 gods.
NAME:   hellmonk_temple_rainy
TAGS:   temple_altars_6 temple_altars_8 temple_altars_9 temple_altars_10
PLACE:  Temple
ORIENT: encompass
: local altar_count = get_altar_count(_G, 10)
: if altar_count == "6" then
SUBST:  DFH = B, E = T
: elseif altar_count == "8" then
SUBST:  DE = B, FH = T
: elseif altar_count == "9" then
SUBST:  DEH = B, F = T
:else
SUBST:  DEFH = B
: end
MARKER: J = lua:fog_machine { cloud_type = "rain", \
             pow_min = 30, pow_max = 50, delay = 5, start_clouds = 3, \
             size = 4, walk_dist = 2, spread_rate = 100, excl_rad = 0 }
KPROP:  J- = no_tele_into
MAP
      ccccccc
    ccc--J--ccc
   cc---------cc
cccc-----------ccc
c-------nnnnn----cc
c--J---nnD.DnnJ---cc
c-----nn.....nn----cc
cnnnnnnE.....Enn----cc
cT.T.T.........nn----cc
c.{.......F....Hn---J-c
cT.T.T.........nn----cc
cnnnnnnE.....Enn----cc
c-----nn.....nnJ---cc
c--J---nnD.Dnn----cc
c-------nnnnn----cc
cccc-----------ccc
   cc---------cc
    ccc--J--ccc
      ccccccc
ENDMAP

# 6, 8, 10, or 12 gods.
NAME:   hellmonk_temple_flake
TAGS:   temple_altars_6 temple_altars_8 temple_altars_10 temple_altars_12
PLACE:  Temple
ORIENT: encompass
: local altar_count = get_altar_count(_G, 12)
: if altar_count == "6" then
SUBST:  EF = B, D = .
: elseif altar_count == "8" then
SUBST:  DF = B, E = .
: elseif altar_count == "10" then
SUBST:  DE = B, F = .
: else
SUBST:  DEF = B
: end
TILE:   c = wall_icy_stone
COLOUR:  c = white
FTILE:  .B{ = floor_ice
COLOUR: . = blue
MAP
          ccc
         ccDcc
    cccc c...c cccc
    cE.c cc.cc c.Ec
ccccc..cccc.c cc..ccccc
cD.cccc.ccc.ccc.cccc.Dc
c.c..ccc.cc.cc.ccc..c.c
ccccc..cc.c.c.cc..ccccc
    ccc.........ccc
  ccccccc.....ccccccc
 cc.cccc.......cccc.cc
 cF........{........Fc
 cc.cccc.......cccc.cc
  ccccccc.....ccccccc
 cccccc...c.c...ccc
ccccc..cc.c.c.cc..ccccc
c.c..ccc.cc.cc.ccc..c.c
cD.cccc.ccc.ccc.cccc.Dc
ccccc..cccc.cccc..ccccc
    cE.c cc.cc c.Ec
    cccc c...c cccc
         ccDcc
          ccc
ENDMAP

# 6 to 10 gods.
NAME:   hellmonk_temple_beads
TAGS:   temple_altars_6 temple_altars_7 temple_altars_8 temple_altars_9
TAGS:   temple_altars_10
PLACE:  Temple
ORIENT: encompass
SUBST:  -:c........
: local altar_count = get_altar_count(_G, 10)
: nsubst ("D = " .. altar_count .. ":B / *:tGTbbVn")
SUBST:  E:GG., F:G..
MAP
 ccccc    ccccc    ccccc
cc...cc  cc...cc  cc...cc
c.....cccc.....cccc.....c
c..D........D........D..c
c.....cccc.....cccc.....c
cc...cccccc...cccccc...cc
 cc.ccccccccccccccccc.cc
  c.ccccccccccccccccc.c
  c.ccccccccccccccccc.c
 cc.ccccccccccccccccc.cc
cc...cccccc...cccccc...cc
c.....cccc.....cccc.....c
c..D........D..cccc..D..c
c.....cccc.....cccc.....c
cc...cc  cc...cccccc...cc
 ccccc    cc.cccccccc.cc
           c.cccccccc.c
           c.cccccccc.c
 ccccc    cc.cccccccc.cc
cc...cc  cc...cccccc...cc
c.....cccc.....cccc.....c
c..D........D..cccc..D..c
c.....cccc.....cccc.....c
cc...cccccc...cccccc...cc
 cc.ccccccccccccccccc.cc
  c.ccccccccccccccccc-c
  c.ccccccccccccccccc-c
 cc.cccccccccc.F.cccc-c
cc...ccccccccE...Eccc-c
c.....cccccc.......cc-c
c..D...........{....--c
c.....cccccc.......cccc
cc...cc    ccE...Ecc
 ccccc      cc.F.cc
             ccccc
ENDMAP

# 6, 7, 8, 12, or 15 gods.
NAME:   hellmonk_temple_two_chambers
TAGS:   temple_altars_6 temple_altars_7 temple_altars_8 temple_altars_12
TAGS:   temple_altars_15
PLACE:  Temple
ORIENT: encompass
FTILE:  ;DK = floor_limestone
FTILE:  -FJ = floor_marble
: local altar_count = get_altar_count(_G, 15)
: if altar_count == "6" then
SUBST:  D = B, F = K
: elseif altar_count == "7" then
SUBST:  DK = B, F = K
: elseif altar_count == "8" then
SUBST:  FJ = B, D = J
: elseif altar_count == "12" then
SUBST:  DF = B
: else
SUBST:  DFJK = B
: end
SUBST:  J:TG, K:tVGA
MAP
  ccccccc
 ccD;;;Dcc
cc;;;;;;;cc
c;;;;;;;;;c
cD;;;K;;;Dc
c;;;;;;;;;c
cc;;;;;;;cc
 ccD;;;Dcc
  ccc;ccc
    c{c
  ccc-ccc
 ccF---Fcc
cc-------cc
c---------c
cF--J-J--Fc
c---------c
cc-------cc
 ccF---Fcc
  ccccccc
ENDMAP

# 6 through 21 gods
NAME:   nicolae_temple_bog_church
TAGS:   temple_altars_6  temple_altars_7  temple_altars_8  temple_altars_9  \
        temple_altars_10 temple_altars_11 temple_altars_12 temple_altars_13 \
        temple_altars_14 temple_altars_15 temple_altars_16 temple_altars_17 \
        temple_altars_18 temple_altars_19 temple_altars_20 temple_altars_21
PLACE:  Temple
ORIENT: encompass
KFEAT:  t = mangrove
KFEAT:  ! = w
KFEAT:  . = . w:100 / W
: local altar_count = get_altar_count(e, 21)
: nsubst("B = " .. altar_count .. "=B / 1:{ / 1:` / -")
SUBST: D : Ww, E : Wtw, F : Ww, H : tw, J : Ww, K : Ww, L : Wtw, M : tw, \
       - = t., ' = W.
LFLOORTILE: floor_swamp
LFLOORCOL:  brown
MARKER: ` = lua:fog_machine { pow_min = 3, pow_max = 5, delay = 25, \
                               size = 1, walk_dist = 6 }
MARKER: { = lua:fog_machine { pow_min = 3, pow_max = 5, delay = 25, \
                               size = 1, walk_dist = 6 }
MARKER: ! = lua:fog_machine { pow_min = 3, pow_max = 5, delay = 25, \
                               size = 1, walk_dist = 6 }
MAP
ttttttttttttttttttttttttttttttttttttt
ttttttttttttttttttttttttttttttttttttt
ttttttttttMMMwwwwttttttttttttDwwwwttt
ttttttMMMMwwwwwwwwwwwwwttttDDDwwwwwtt
tttttMM....wwwwww!wwwwwwtt...DDDwwwtt
tttttw'..B...wwwwwwwwww........DDDttt
tttwwwWW....''WWwwww........`...DDttt
ttwwwWWWWWWWWWWWW.....-..B.......tttt
ttwww'...WWWWW'...B..--....-..B..tttt
ttw!w..B..''...--.........-t....ttttt
tttwww.......B.-ttt-.....tt-...Ettttt
ttttwww..`.....-ttt-..B..ttt..EEEtttt
tttttwww.......-----.....---..EEEEttt
tttttLww...B...................Ettttt
tttttLLww........B....`......B..ttttt
ttttttLLw..t--.....--....B......FFttt
tttttttLLL.-t-....tt.......WW..FFFFtt
tttttttLLL.--...`.tt.B.'WWWWW'.FFFwtt
tttttttLL.-...B..WWW...'WWWW'.FFwwwtt
ttttttLLL.-.....''......'WW'..Fwwwwtt
ttttttLL.`-...---..B.........wwwwtttt
tttttLL..-....---.....`...B..wwwHtttt
tttttL.....B.......tt.......wwwHttttt
ttttLL..........B..t........wwHtttttt
ttttL..B...--.....--.B...--..HHtttttt
ttttL............tt......--.-HHtttttt
ttttw...t-.`.B...--.''.....-t-HHttttt
tttwww..-.t-.......'WW'.B..--.wHHtttt
tttwww.....-t....B.'WW'...-....wwHttt
ttww!ww..B...-t.....''.ttt..B..wwwttt
ttwwwwww.......KKtttJJJ--..`...wwwwtt
tttwwwwwww...KKKtttttJJJJ.....wwwwwtt
ttttwwwwwwwKKKtttttttttJJJJJJww!wwttt
tttttwwwwwKKtttttttttttttJJJwwwwwwttt
tttttttwwwtttttttttttttttttttwwwttttt
ttttttttttttttttttttttttttttttttttttt
ttttttttttttttttttttttttttttttttttttt
ENDMAP

# 7 or 14 gods
NAME:    nicolae_temple_great_sept
TAGS:    temple_altars_7 temple_altars_14
PLACE:   Temple
ORIENT:  encompass
# Sadly, console doesn't have colors for orange and indigo,
# so brown and cyan will have to do.
KFEAT:   roygbiv = n
KFEAT:   ' = .
SHUFFLE: roygbiv / vroygbi / ivroygb / bivroyg / gbivroy / ygbivro / oygbivr
: local altar_count = get_altar_count(e, 14)
: if altar_count == "7" then
SUBST:   LO = !, M = ., N = B
: else
SUBST:   L = ., MN = !, O = B
: end
SUBST:   T = 't
FTILE:   . = floor_hall, t' = floor_grass, !{B = floor_limestone
COLOUR:  r = red, o = brown, y = yellow, g = green, b = blue, i = cyan, \
         v = magenta, ' = green, . = blue, ! = lightgrey
TILE:    r = dngn_transparent_stone_red, o = dngn_transparent_stone_brown, \
         y = dngn_transparent_stone_yellow, g = dngn_transparent_stone_green, \
         b = dngn_transparent_stone_blue, i = dngn_transparent_stone, \
         v = dngn_transparent_stone_magenta
KPROP:   't = no_tele_into
MAP
ttttttttttttttttttttttttttttttttttttttttttttt
ttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttttttTTTTTTTTTTTTTTTttttttttttttttt
ttttttttttttttT'''''''''''''''Ttttttttttttttt
tttttttttttttT'''''''''''''''''Tttttttttttttt
ttttttttttttT'''''''''''''''''''Ttttttttttttt
tttttttTTTTTT'''''''''''''''''''TTTTTTttttttt
ttttttT''''''''''''rrrrrrr''''''''''''Ttttttt
tttttT''''''''''''cc.....cc''''''''''''Tttttt
ttttT''''''''''''cc.......cc''''''''''''Ttttt
ttttT''''''''''''c...!!!...c''''''''''''Ttttt
ttttT''''''vvccccc..!!!!!..cccccoo''''''Ttttt
ttttT'''''vv........!ONO!........oo'''''Ttttt
ttttT''''vv.........!!!!!.........oo''''Ttttt
ttttT''''v...L!!M....!!!....M!!L...o''''Ttttt
ttttT''''c..L!!O!...........!O!!L..c''''Ttttt
tttT'''''c..!!N!!...........!!N!!..c'''''Tttt
ttT''''''c..!O!!L...........L!!O!..c''''''Ttt
ttT''''''c..M!!L.............L!!M..c''''''Ttt
ttT''''''cc.......................cc''''''Ttt
ttT'''''cc...........!!!...........cc'''''Ttt
ttT''''cc...........!!!!!...........cc''''Ttt
ttT''''i..M!!L......!!{!!......L!!M..y''''Ttt
ttT''''i..!O!!L.....!!!!!.....L!!O!..y''''Ttt
ttT''''i..!!N!!......!!!......!!N!!..y''''Ttt
ttT''''i..L!!O!...............!O!!L..y''''Ttt
ttT''''i...L!!M...............M!!L...y''''Ttt
ttT''''ii...........................yy''''Ttt
ttT'''''cc.........................cc'''''Ttt
ttT''''''ccccc...!!!.....!!!...ccccc''''''Ttt
ttT''''''''''c..!!!!!...!!!!!..c''''''''''Ttt
ttT''''''''''c..!ONO!...!ONO!..c''''''''''Ttt
tttT'''''''''c..!!!!!...!!!!!..c'''''''''Tttt
ttttT''''''''c...!!!.....!!!...c''''''''Ttttt
tttttTTTT''''bb.......c.......gg''''TTTTttttt
ttttttttT'''''bb.....ccc.....gg'''''Ttttttttt
ttttttttT''''''bbbcccc'ccccggg''''''Ttttttttt
ttttttttT'''''''''''''''''''''''''''Ttttttttt
ttttttttT'''''''''''''''''''''''''''Ttttttttt
tttttttttT'''''''''''''''''''''''''Tttttttttt
ttttttttttT'''''''''''''''''''''''Ttttttttttt
tttttttttttTTTTTTTTTTTTTTTTTTTTTTTttttttttttt
ttttttttttttttttttttttttttttttttttttttttttttt
ttttttttttttttttttttttttttttttttttttttttttttt
ENDMAP

# 6, 9, 12, 15, 18, or 21 gods
# In which assorted masses of demons trash-talk you
# while you're trying to pick a god.
NAME:    nicolae_temple_panitentiary
TAGS:    no_pool_fixup temple_altars_6 temple_altars_9 temple_altars_12 \
         temple_altars_15 temple_altars_18 temple_altars_21
PLACE:   Temple
ORIENT:  encompass
WEIGHT:  1
KPROP:   n1l- = no_tele_into
KMONS:   1 = pandemonium lord
KMONS:   - = nothing w:60 / any demon
SUBST:   - = ----l
SHUFFLE: PQ/SR, pq/sr
# This was originally a {{ }} block but since you can't do multiple
# substs in one subst() command it got super long.
: local altar_count = get_altar_count(e, 21)
: -- dice variable is used for picking variations later
: local dice = crawl.roll_dice(1, 6)
: if     altar_count == "6" then        -- 6
SUBST:   Zz = B, PpRr = U, QqSs = .
: elseif altar_count == "9" then        -- 9
:   if dice <= 3 then
SUBST:   PR = B, pr = U, QSZqsz = .
:   else
SUBST:   PSz = B, Zps = U, QRqr = .
:   end
: elseif altar_count == "12" then       -- 12
:   if dice <= 2 then
SUBST:   QR = B, psz = U, PSZqr = .
:   elseif dice <= 4 then
SUBST:   PRz = B, Zpr = U, SQsq = .
:   else
SUBST:   PSps = B, QRqr = U, Zz = .
:   end
: elseif altar_count == "15" then       -- 15
:   if dice <= 3 then
SUBST:   PRps = B, QSqr = U, Zz = .
:   else
SUBST:   QRS = B, psz = U, PZqr = .
:   end
: elseif altar_count == "18" then       -- 18
:   if dice <= 2 then
SUBST:   PRpr = B, Zz = U, QSqs = .
:   elseif dice <= 4 then
SUBST:   QRps = B, Zz = U, PSqr = .
:   else
SUBST:   PQRS = B, Zz = U, pqrs = .
:   end
: else                                -- 21
:   if dice <= 3 then
SUBST:   PQRSZ = B, pqrsz = U
:   else
SUBST:   QRpsz = B, PSZrq = U
:   end
: end
FTILE:   n1l- = floor_infernal
COLOUR:  n1- = red
SUBST:   U = UUUUUV, V = VVVVVY
MAP
ccccccccccccccccccccccccccccccccccccccccc
cccccccccc.....ccccccccccc.....cccccccccc
cccccccccc.s.r.ccccccccccc.R.S.cccccccccc
ccccccccc.......................ccccccccc
ccccccccc.r.z.q...........Q.Z.R.ccccccccc
ccccccccc.......................ccccccccc
cccccccccc.q.p.nnnnnnnnnnn.P.Q.cccccccccc
ccccccccc.......n-------n.......ccccccccc
ccccccccc...n...nn-----nn...n...ccccccccc
cccccccc....n....n--1--n....n....cccccccc
cccccccc...nnn...nn---nn...nnn...cccccccc
ccccccc....n-n....n---n....n-n....ccccccc
ccccccc...nn-nn...nn-nn...nn-nn...ccccccc
cccccc....n---n....n-n....n---n....cccccc
cccccc...nn---nn...nnn...nn---nn...cccccc
ccccc....n--1--n....n....n--1--n....ccccc
ccccc...nn-----nn...n...nn-----nn...ccccc
cc......n-------n.......n-------n......cc
cc.R.Q.nnnnnnnnnnn.....nnnnnnnnnnn.q.r.cc
c.......................................c
c.S.Z.P.............{.............p.z.s.c
c.......................................c
cc.R.Q.nnnnnnnnnnn.....nnnnnnnnnnn.q.r.cc
cc......n-------n.......n-------n......cc
ccccc...nn-----nn...n...nn-----nn...ccccc
ccccc....n--1--n....n....n--1--n....ccccc
cccccc...nn---nn...nnn...nn---nn...cccccc
cccccc....n---n....n-n....n---n....cccccc
ccccccc...nn-nn...nn-nn...nn-nn...ccccccc
ccccccc....n-n....n---n....n-n....ccccccc
cccccccc...nnn...nn---nn...nnn...cccccccc
cccccccc....n....n--1--n....n....cccccccc
ccccccccc...n...nn-----nn...n...ccccccccc
ccccccccc.......n-------n.......ccccccccc
cccccccccc.q.p.nnnnnnnnnnn.P.Q.cccccccccc
ccccccccc.......................ccccccccc
ccccccccc.r.z.q...........Q.Z.R.ccccccccc
ccccccccc.......................ccccccccc
cccccccccc.s.r.ccccccccccc.R.S.cccccccccc
cccccccccc.....ccccccccccc.....cccccccccc
ccccccccccccccccccccccccccccccccccccccccc
ENDMAP

#####################################################################
# <<8>> Rare temples, picked outside of the usual size roll framework
# Non-temple gods, Temples not suitable for selection within the usual
# framework.
#
# Each "type" of rare temple should have the same total weight, to give them
# equal chances. Current types and counts
# - Lugonu temple: 2 maps
# - Jiyva temple: 2 maps
# - Ignis temple: 2 maps
# - Extreme altar counts: 3 maps

# 9 gods
# plus 6 to 12 altars to Lugonu.
NAME:     kb_corrupted_temple
TAGS:     no_pool_fixup temple_rare temple_altars_9
PLACE:    Temple
ORIENT:   encompass
WEIGHT:   8
KMONS:    P = demonic plant
KFEAT:    L = altar_lugonu
KFEAT:    T = demonic_tree
SUBST:    . = .:70 x:15 w l:5, ' = ., x = xxxcv
: local altar_count = get_altar_count(_G, 11)
: nsubst("O = " .. altar_count .. ":B / 6:L / * = L:50 P:50 T")
: local crnd = crawl.random2(4)
: if crnd == 0 then
LROCKCOL: magenta
: elseif crnd == 1 then
LROCKCOL: lightblue
: elseif crnd == 2 then
LROCKCOL: lightcyan
: else
LROCKCOL: lightred
: end
MAP
       xxxxx xxxxx xxxxx
      xx.O.xxx.'.xxx.O.xx
      x...'.x.'...x.'...x
      x'.V.O''.O.''O.V.'x
      x.'...x...'.x...'.x
      xx.O.xxx.'.xxx.O.xx
 xxxxx xxxxxxx'..xxxxxxxxxxxxx
xx.O.xxx.'.xxx.'.xxx.'.xxx.O.xx
x.'...x...'...'.'.'.'...x...'.x
x'.V.O''.O.'.'.1.'.'.O.''O.V.'x
x...'.x.'.......'.....'.x.'...x
xx.O.xxx.'.xxx.'.xxx.'.xxx.O.xx
 xxxxxxxx'xxxx.'.xxxx'xxxxxxxx
      xx.O.xxx'..xxx.O.xx
      x.'...xx.'.xx...'.x
      xO.V.Oxx..'xxO.V.Ox
      x...'.xx.'.xx.'...x
      xx.'.xxx'..xxx.'.xx
       xxxxx xP{Px xxxxx
             xxxxx
ENDMAP

# 0 temple gods
# plus 6 to 12 altars to Lugonu.
NAME:   nicolae_temple_total_abyssal_victory
TAGS:   temple_rare temple_altars_0 temple_overflow_lugonu
PLACE:  Temple
ORIENT: encompass
WEIGHT: 2
KMONS:  p = demonic plant
KFEAT:  t = demonic_tree
KFEAT:  _ = altar_lugonu
KFEAT:  Z = enter_abyss
SUBST:  - = .:120 x:60 t:20 p, x = x:120 cbv
NSUBST: _ = 6=_ / 6=_. / 1=Z.. / .
: if crawl.one_chance_in(5) then
SUBST:  . = '...
KPROP:  ' = bloody
: end
TILE:   { = dngn_exit_abyss
{{
  local floor = util.random_from({"blue", "green", "red", "magenta", "brown",
                  "lightgray", "lightblue", "lightgreen", "lightcyan",
                  "lightred", "lightmagenta", "white"})
  local walls = util.random_from({"blue", "green", "red", "magenta", "brown",
                  "lightblue", "lightgreen", "lightred", "lightmagenta",
                  "yellow", "white"})
  colour("x = magenta w:2 / " .. walls)
  tile("x = wall_abyss")
  colour(". = magenta w:2 / " .. floor)
  ftile("_xpt{. = floor_nerves_magenta w:2 / floor_nerves_" .. floor )
}}
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx---xxxxxxxxxxxx
xxx--xxxxxxxxxxxx-...-xxxxx--xxxx
xx-..-xxxx-xxxxx-.._.-xxxx-..xxxx
x-...-xx--.-xxxx-.....-x--...-xxx
x-....-.....-xx-..--.........-xxx
x-.._....--.......-----......-xxx
xx-....----.._....---x---.._..-xx
xxx-...----.........-----......-x
xxxx-..--...--..._.....--..--..-x
xxxx-..--..-xx-.....--.--...-..-x
xxx-.......-xx-.....--...._...-xx
xxx-.._.....--..-..._........-xxx
xx-............-.......---...-xxx
xx-.-.--.....-...----...--..-xxxx
x-.-..--.._.......---..-....xxxxx
x-.....-........{...-......-xxxxx
xx-.._.------......-.._...-xxxxxx
xxx-......-----....-.......-xxxxx
xxxx-..-......---.-...-.---.-xxxx
xxxxx---..._.....-...-.......-xxx
xxxxxx-......----...---.._...-xxx
xxxxxx-....---xx-._..---...--.-xx
xxxxx-....--xx--......---.....-xx
xxxxx-._..-------......-..._..-xx
xxxxx-....-...........-.-......-x
xxxx-.........---..._...----...-x
xxxx-...._....--.......-xxxx-..-x
xxxx-.--......----....-xxxxxx...x
xxxx-.--...---xxxx-...-xxxxxx._.x
xxxxx-...--xxxxxxxx---xxxxxxx...x
xxxxxx---xxxxxxxxxxxxxxxxxxxxx-xx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

# 9 gods
# plus 4 or 5 more altars to Jiyva.
# Layout based on zaba_magenta_temple_12.
NAME:      pf_slimified_temple
TAGS:      no_rotate temple_rare temple_altars_9
PLACE:     Temple
ORIENT:    encompass
WEIGHT:    5
KFEAT:     J = altar_jiyva
KFEAT:     S = slimy_wall
NSUBST:    J = 9:B / *:J
SUBST:     - = -.
LFLOORCOL: green
COLOUR:    - = lightgray
FTILE:     .J = floor_slime
MAP
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSS...S...SSSSSSS.......SSSSSSS...S...SSSS
SS...J...J...SSS...J...J...SSS...J...J...SS
S......-......S.....---.....S......-......S
SS....-----.......------........-----....SS
SSS.J.---------------{---------------.J.SSS
SS....-----........------.......-----....SS
S......-......S.....---.....S......-......S
SS...J...J...SSS...J...J...SSS...J...J...SS
SSSS...S...SSSSSSS.......SSSSSSS...S...SSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
ENDMAP

# 11 gods,
# plus 5 to 7 more altars to Jiyva.
NAME:      pf_slime_end_temple
TAGS:      temple_rare temple_altars_11
PLACE:     Temple
ORIENT:    encompass
WEIGHT:    5
NSUBST:    J = 11:B / *:J
KFEAT:     J = altar_jiyva
KFEAT:     S = slimy_wall
SUBST:     " : " .:3,  " = .c, ' : ' .:3,  ' = .S
SUBST:     - = --.
LFLOORCOL: green
COLOUR:    - = lightgray
FTILE:     .JB = floor_slime
: set_feature_name("stone_wall", "rune-carved stone wall")
MAP
SSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSS''''''''''''SSSSSSSS
SSSSSSS'............'SSSSSSS
SSSSSS'..............'SSSSSS
SSSSS'...""""."""""...'SSSSS
SSSS'..."cccc.ccccc"...'SSSS
SSS'..."ccJcc..ccJcc"...'SSS
SS'..."cc...cc.c...cc"...'SS
S'..."ccJ..cc..cc..Jcc"...'S
S'.."cc....Jc.ccJ....cc"..'S
S'.."cc....cc..cc....cc"..'S
S'.."cccJ.c.cc.c.c.Jccc"..'S
S'.."ccccccc....ccccccc"..'S
S..-.c...c....J...c...c"..'S
S.-{-.c...c....c...c......'S
S..-.ccccccc....ccccccc"..'S
S'.."cccJ.c.cc.c.c.Jccc"..'S
S'.."cc....cc..cc....cc"..'S
S'.."cc....Jc.ccJ....cc"..'S
S'..."ccJ..cc..cc..Jcc"...'S
SS'..."cc...cc.c...cc"...'SS
SSS'..."ccJcc..ccJcc"...'SSS
SSSS'..."cccc.ccccc"...'SSSS
SSSSS'...""""."""""...'SSSSS
SSSSSS'..............'SSSSSS
SSSSSSS'............'SSSSSSS
SSSSSSSS''''''''''''SSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSS
ENDMAP

# 12 gods
# plus a single "untended" Ignis altar
NAME:    pdpol_scorched_temple
TAGS:    no_cloud_gen temple_rare temple_altars_12 no_pool_fixup
PLACE:   Temple
ORIENT:  encompass
WEIGHT:  5
KFEAT:   I = altar_ignis
MARKER:  I = lua:fog_machine { cloud_type = "grey smoke", \
             pow_max = 3, delay_min = 10, delay_max = 30, \
             start_clouds = 0, size = 1, excl_rad = -1 }
: set_feature_name("granite_statue", "broken pillar")
SUBST:   ^ = ^!!
KFEAT:   ^ = web
SUBST:   " = -!!
SUBST:   ' =  LL--!^
SUBST:   L =  ll-
SUBST:   b = bbx
SUBST:   G = G!
COLOUR:  - = brown
COLOUR:  x! = red
COLOUR:  b = lightred
COLOUR:  AG = red
TILE:    G = dngn_crumbled_column
RTILE:   x = wall_volcanic
FTILE:   AGI^! = floor_rough_red
FTILE:   - = floor_rough_brown
MAP
xxxxxxxxxxxxxxcccccxx
xxxxxxxxxxxxxcc.B.ccx
xxxxxxxxxxxxccB.w.Bcc
xxxxxxxxxxxxc..Www..c
xxxxxxxxxxxxcTwwBwwTc
xxxxxxxxxxxxc..www..c
xxxbbbbbxxxxccB.w.Bcc
xxbb^G^bbxxxxcc.T.ccx
xbG^"""^Gbxxxxcc.ccxx
bb^"'''"^bbbbbbc.cxxx
b^"'LLL'"G^^^^Gc.cxxx
bG"""IL'"A"""""+{cxxx
b^"'LLL'"G^^^^Gc.cxxx
bb^"'''"^bbbbbbc.cxxx
xbG^"""^Gbxxxxcc.ccxx
xxbb^G^bbxxxxcc.T.ccx
xxxbbbbbxxxxccB.w.Bcc
xxxxxxxxxxxxc..www..c
xxxxxxxxxxxxcTwwBwwTc
xxxxxxxxxxxxc..Www..c
xxxxxxxxxxxxccB.w.Bcc
xxxxxxxxxxxxxcc.B.ccx
xxxxxxxxxxxxxxcccccxx
ENDMAP

# 12 gods with robust flame shrines,
# plus sputtering smoke for Ignis and some ecumenical altars
NAME:    ebering_untended_altars
TAGS:    temple_rare temple_altars_12
PLACE:   Temple
ORIENT:  encompass
WEIGHT:  5
SUBST:   A : GTUVt
NSUBST:  I = 1:I / *:O
KFEAT:   I = altar_ignis
KFEAT:   O = altar_ecumenical
SUBST:   ^ = ^F.
KFEAT:   ^ = web
KMONS:   P = plant
KMONS:   F = fungus
MARKER:  L = lua:fog_machine { cloud_type = "flame", delay = 10, \
                  pow_min = 100, pow_max = 100, size = 1, walk_dist = 0, \
                  excl_rad = 0 }
MARKER:  S = lua:fog_machine { cloud_type = "black smoke", delay = 50, \
                  pow_min = 1, pow_max = 10, size = 1, walk_dist = 0, \
                  excl_rad = 0, spread_rate = 0 }
MAP
            ccc
        cccccLccccc
       ccSccPBPccLcc
   ccccc^I^.....PBPccccc
   cLcPA...........A^cSc
   ccB...............Icc
   cP.................^c
  ccA.................Acc
 ccP.........A.........Pcc
 cLB.....A.......A.....BLc
 ccP...................Pcc
 cc.....................cc
ccP.....................^cc
cLB.....A....{....A.....ISc
ccP.....................^cc
 cc.....................cc
 cc^...................Pcc
 cSI.....A.......A.....BLc
 cc^.........A.........Pcc
  ccA.................Acc
   cP.................Pc
   ccB...............Bcc
   cLcPA...........APcLc
   cccccPBP.....PBPccccc
       ccLccPBPccLcc
        cccccLccccc
            ccc
ENDMAP

# every god in the game
NAME:   hellmonk_choose_your_character
TAGS:   temple_rare temple_altars_22 no_rotate no_vmirror no_hmirror
PLACE:  Temple
ORIENT: encompass
WEIGHT: 1
NSUBST: B = 1:L / 1:J / 1:I / 1:O / *:B
KFEAT:  L = altar_lugonu
KFEAT:  J = altar_jiyva
KFEAT:  I = altar_ignis
KFEAT:  O = altar_beogh
KFEAT:  E = altar_ecumenical
KFEAT:  + = closed_clear_door
FTILE:  .+ = floor_pebble_darkgray
FTILE:  BLJIOE = floor_rough_red
MAP
ccccccccccccccccccc
c.................c
c.nnnnnnnnnnnnnnn.c
c.nBnBnBnBnBnBnBn.c
c.n+n+n+n+n+n+n+n.c
c.................c
c.nnnnnnnnnnnnnnn.c
c.nBnBnBnBnBnBnBn.c
c.n+n+n+n+n+n+n+n.c
c.................c
c.nnnnnnnnnnnnnnn.c
c.nBnBnBnBnBnBnBn.c
c.n+n+n+n+n+n+n+n.c
c.................c
c.nnnnnnnnnnn.nnn.c
c.nBnBnBnBnBn.nEn.c
c.n+n+n+n+n+n.n+n.c
c.................c
c..............{..c
c.................c
ccccccccccccccccccc
ENDMAP

# exactly one (1) god
NAME:        ebering_the_one_and_only
TAGS:        temple_rare temple_altars_1
PLACE:       Temple
ORIENT:      encompass
WEIGHT:      7
{{
    local templecol = util.random_from({ "blue", "cyan", "green", "yellow",
                                         "red", "magenta", "white", "lightblue",
                                         "lightcyan", "lightgreen", "lightred",
                                         "lightmagenta" })
    lfloorcol(templecol)
    lfloortile("floor_pebble_" .. templecol)
    colour("Gb = " .. templecol)
}}
MAP
bbbbb
b.{.b
b...b
bGBGb
bbbbb
ENDMAP

# the Temple is an important landmark, but what if it's only that, a temple
# to GOD_NO_GOD.
# XXX: the temple_overflow_no_god tag is so the validator accepts this map
# without an altar, it is not an overflow.
NAME:    ebering_the_none_and_only
TAGS:    temple_rare temple_altars_0 temple_overflow_no_god
PLACE:   Temple
ORIENT:  encompass
WEIGHT:  2
NSUBST:  . = 2 = GG. / 8 = ^. / ._
KFEAT:   ^ = web
COLOUR:  G = white
TILE:    G = dngn_crumbled_column
COLOUR:  _ = brown
FTILE:   _G = floor_rough_brown
: set_feature_name("granite_statue", "broken pillar")
: set_feature_name("stone_wall", "defaced carved stone wall")
epilogue{{
    crawl.mpr("The air is stale and forgotten.")
}}
MAP
 ccccc
cc...cc
c.....c
c..{..c
c.....c
cc...cc
 ccccc
ENDMAP
