##############################################################################
# The old Forest branch end vaults, adjusted for Depths placement.
# Grouped here for a function use, thematic grouping, and easier reference.
# Only one of these can place per Depths, and are mutually exclusive with
# random Enchantress placement; they've also diluted with appropriate natives.

{{
function old_forest_ends(e)
    e.tags('uniq_old_forest_end no_monster_gen')
    e.depth('Depths:2-, !Depths:$')
    e.weight('6')
    e.tile('c = wall_marble')
    e.colour('c = white')
end
}}

##############################################################################
# A mockup of the Forest branch (1KB)
NAME:    spriggan_forest
TAGS:    no_pool_fixup uniq_d_encompass
ORIENT:  encompass
MONS:    spriggan, spriggan rider, spriggan druid, spriggan berserker
MONS:    spriggan air mage, spriggan defender, the Enchantress
KMONS:   0 = deep elf archer / caustic shrike w:1 / stone giant w:5 / \
             tengu warrior band / tengu conjurer band / deep elf knight / \
             rakshasa / wizard / eleionoma / deep troll w:8 / \
             shapeshifter w:2 / dire elephant band / nothing w:5
KMONS:   9 = ettin ; giant club randart . giant club randart / \
             glowing shapeshifter hd:13 w:5 / stone giant / \
             sphinx / tengu reaver w:5 / deep elf high priest w:5
KMONS:   J = caustic shrike skeleton
KMONS:   K = spriggan rider
KMONS:   L = spriggan ; robe . dagger
KMONS:   M = death yak
KMONS:   N = spriggan ; robe . quarterstaff
KMONS:   O = dire elephant / emperor scorpion / anaconda w:5
KMONS:   Q = bush
KMONS:   R = plant
ITEM:    dagger / short sword / rapier / flail / whip / shortbow
ITEM:    robe / cloak / hat / buckler / steam dragon scales w:1
ITEM:    gold
KFEAT:   _ = altar_trog
NSUBST:  . = 10:0 / 8 = 00... / 2:O / 1:3 / 1:5 / *:.
NSUBST:  6 = 1:9 / 2 = 669 / *:6
SUBST:   T = t:20 P .:40, P = RRQ.
: old_forest_ends(_G)
SUBST:   C = c
COLOUR:  "MN = green
LFLOORTILE: floor_grass
veto {{
  return crawl.game_started() and you.uniques("the Enchantress")
}}
MAP
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt
ttttPP.Tttt...tttttttttttttttttttttttttttttttttttttttttttttttttTTTTTttTTTTtttttt
tCCCCT.....ttt..ttttttttttttttttttttttttttttttTtTTtttttttQTtttTT.T.Ttt.T.TTTtttt
tC%4C...Tttttttt.ttttttttttttttttttttttttttttT*....QQPtt..CCCCC....CCCC.TT.Ttttt
tC..+..Ttttttttt..ttttttttttttttttttttttcccccccccccccc....C%.1C....C.1C.t.TTtttt
tC.4C...Ttttttt.t..tttttttttttttttttttttc.6.c6..6c$*|ctT..C.1.+....+.%CT.TT.tttt
tCCCCt.Tttttt..tttt........tttttttttttttc7..+....+$*|ctt..CCCCC....CCCC.TT.Ttttt
tttT..tttttt.tttttttttttttt.ttttttttttttc.6.c6..6c$*|cttQ..................ttttt
ttTPTTtttt...ttttttttttttttt..ttttttttttcccccc++ccccccttttCCCCC....CCCC......ttt
ttTTtttttt..ttttttttttttttttt.ttttttttttceeec....cdddcttttCfxLC....C1%C.....tttt
tttttttt...ttttttttttttttttttt.tttttttttceee+..1.+dddcttttCf..+....+.5C..1...ttt
tttttt.tttt..ttttttttttttttttt.tttttttttceeec1...cdddcttttCCCCC....CCCC...1.tttt
tttttt.ttttt.tttttttttttttt.....ttttttttcccccc++ccccccttttt...................tt
ttttt.ttttt..ttttttttttt...tttT..tttttttcR.....1....RcCCCCCCCCC....Y.........ttt
ttt..tttttt..ttttttttt..tttttttt.tttttttc..1........1cCKxKxKxKC......2......tttt
tt.ttttttt.tttttttt...ttttttttttt.ttttttcR1..5..5..1RcC.22.1..C.....22......tttt
tt.tttttt.ttttttt...1.tttttttttttt.tttttcccccc++ccccccC+CCCCCCC....2.2.....ttttt
ttt.tttt..tttttt...22..tttttttttttt.tttt..................................tttttt
tttt..[t.ttttttt..1..2.)tttttttttttt.....................................ttttttt
ttttt....ttttttt.t.1...tttttttttttt.tt..TTttttt............Y..........ttt.tttttt
ttttttt..tttttt.tttttttttttttttttt.tttttttttttttttttt...............tttttt...ttt
ttttttttt..ttt.tttttttttttttttt....ttttttttttttttttttttt.........tttttttttttt(tt
ttttttttttt...tttttttttttttttt.tt..ttttttttttttttttttttttttt....tttttttttttttttt
tttttttttttttt.tttttttttttttt.tttt.tttttttttttttttttttttttt.tt...ttttttttttttttt
tttttttttttttt.ttttttttttttt.WWWWt.ttttttttttttttttttttttt.ttttt...ttttttttttttt
ttttttttttttt.tttttttttttttt.Wwwwt.ttttttttttttttttttttt..ttttttt..ttttttttttttt
tttttttttttttt.ttttttttttttt.tWWWWt..tttttttttttttttt.t.ttttttttt..ttttttttttttt
tttttttttttttT.ttttttttttttt.ttWwwwwt.tttttttttttttttt.ttttttttttt..tttttttttttt
ttttttttttttt..ttttttttttttt.tttwwwwww.ttttttttttttttt.ttttttttttt..tttttttttttt
tttttttttttt...tttttttttttt.tttwwwwwwww.....tttttttttt.ttttttttttt.ttttttttttttt
ttttttttt.....ttttttttttttt.ttttwwwwwwwwwwwt.tttttttt.ttttttttttt.t.tttttttttttt
ttttttt..tt..tttttttttttttt.ttwwwwwwwwwwwwwwt.tttttt.ttttttttttt..tt....tttttttt
ttttT..tttttttttttttttttttt.ttwwwwwwwwwwwwwwt.......tttttttttttt.ttttttt...ttttt
tttt....tttttttttttttttttttt.wwwwwwwwwwwwwwww..tttttttttttttttt.ttttttttt..3tttt
ttt....T..3...tttttttttttttt.wwwwwwwwwwwwwwwt.ttttttttttttttttt.ttttttttt3..tttt
tttT...ttttttt....tttttttttt.wwwwwwwwwwwwwwt.ttttttttttttttttt.ttttttttttt..tttt
ttt..]..ttttttttt......ttttt.Wwwwwwwwwwwwtt.tttttttttttttttttt.ttttttttttt.ttttt
ttt........tttttttttttt.......WWwwwwwwwttt.tttttttttttttttt...tttttttttttttttttt
tttt...11.tttttttttttttttttttt...........ttttttttttttt.....ttttttttttttttt..tttt
ttttT.1...tttttttttttttttttttttttt.tttttttttttttttttt.ttt.ttttttttttttttttt.tttt
ttttTT.1....ttttttttttttttttttttt.tttttttttttttttttt.ttttt.ttttttttttttttt..tttt
ttttttt.tttt...ttttttttttttttttt..tttttttttttttttt..ttttttt..ttttttttttttt.ttttt
tttttt.tttttttt...ttttttttttttt.tttttttttttttttt..ttttttttttt....tttttttt.tttttt
ttttt..tttttttttt.ttttttttttttt.tttttttttttttttt.ttttttttttttttt.........ttttttt
ttttt.ttttttttttt.tttttttttttt...tttttttttttttt.ttttttttttttttt.ttt..t..tttttttt
tttt..tttttttttt..tttttttttttt3G3ttttttttttttt.tttttt.tttttttt.ttttttt....tttttt
ttttt.ttttttttt..ttttttttttttt*3*tttttttttttt.t.tttttt.....tt.tttttttttt...ttttt
tttt.tttttttttt.t..tttttttttttttttttttttttt..ttt.tttttttttt...ttttttttttt..ttttt
tttt.ttttttttt..ttt...ttttttttttttttttttttt.ttttt.ttttttttwwwtttttttttttt...tttt
ttttt.tttttttt.tttttt...tttttttttttttttt...tttttt.tttttttttwwttttttttttttt..tttt
ttttt.tttttttt{tttttttt......ttttttttt.....ttttt.ttttttttttttttttttttttttt.ttttt
tttt.tttttttttttttttttttTT..t...tttt..tttttttttt.tttttttttttttttttttttttt.tttttt
tttt.ttttttttttttttttttttt.ttttt....ttttttttttttt.ttttttttttttttttttttttt.CCCCtt
ttttt.ttttttttttttttttttt.tttttttttt.tttttttttttt..tttttttt..tt...ttttttt.+.1Ctt
tttttt.ttttttttttttttttt.tttttttttt..tttttttttttttt.tttttt.t...ttt..tttttTC1%Ctt
ttttttt.ttttttttttttttt.ttttttttttt....xxxxxtttttttt..tttt...tttttt.ttttttCCCCtt
ttttttt.tttttttttttttt.ttttttttttttT...x..4xtttttttttt....ttttttttt.tttttttxxxxx
ttttttt.tttttttttttttt.ttttttttttttT...+...xtttttttttttttttttttttttt.tttxxxxxxxx
txxxtt.ttttttttttt....ttttttttttttttt.tx..4xttttttttttttttttttttttttt..xxxxxxxxx
txg+"""""""tt......t.....ttttttttttttt.x*4_xttttttttttttttttttttttttt....xxxxxxx
txxx""""""""".tttttttt..TTtttttttttttttxxxxxttttttttttttttttttttttt......}xxxxxx
ttt""N"""""""TTtttttttt....ttttttttttttttttttttttttttttttttttttt.....xxxxxxxxxxx
ttT""MM"MM"TTTttttttttttttt..tttttttttttttttttttttt...ttttttttt....xxxxxxxxxxxxx
tt""""M""""Tttttttttttttttttt..ttt.......ttttttttt.......tttt...xxxxxxxxJxxxJxxx
tt".MM""NTTtttttttttttttttttttt....tttt.......ttt...ttttt.......xxxxx..JxxxxJJxx
tt""M""""Ttttttttttttttttttttttttttttttt...ttt..t..ttttttttxxxxx......xx.Jxx..xx
ttt""""TTTtttttttttttttttttttttttttttttttttttttt.tttttttxxxxxxxxxx....xxx.1.xxxx
tttttttttttttttttttttttttttttttttttttttttttttttttttttttttxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP

################################################################################
NAME:   grunt_forest_end_chambers
ORIENT: north
KMONS:  O = the Enchantress patrolling
MONS:   spriggan defender, spriggan berserker, spriggan rider, spriggan air mage
MONS:   faun / satyr / manticore w:5 / stone giant w:5
MONS:   tengu warrior / ettin / deep elf knight w:5 / \
        deep elf archer w:5 / shapeshifter w:5
MONS:   tengu conjurer w:20 / wizard w:5 / eleionoma w:20 / rakshasa / \
        stone giant w:5
KMONS:  8 = ettin ; giant club randart . giant club randart / \
            glowing shapeshifter hd:13 w:5 / stone giant / \
            sphinx / tengu reaver w:5 / deep elf high priest w:5
NSUBST: 3 = 6:3 / 4:6 / * = 36., 7 = 4:7 / * = 77., 1 = 1:8 / 2 = 118 / *:1
: old_forest_ends(_G)
FTILE: .O1234678+T%*| = floor_marble
veto {{
  return crawl.game_started() and you.uniques("the Enchantress")
}}
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
tttttttttttttccccccccttttttttttttt
tttttttttttccc||||||cccttttttttttt
ttttttttttcc..........cctttttttttt
tttttttttcc....3..3....ccttttttttt
tttttttttc..............cttttttttt
ttttttttcc....4....4....cctttttttt
ttttttttc%..............%ctttttttt
ttttttttc*..............*ctttttttt
ttttttttc*.3....O1....3.*ctttttttt
ttttttttc*.2....11....2.*ctttttttt
ttttttttc*..............*ctttttttt
ttttttttc%....7....7....%ctttttttt
ttttttttcc..............cctttttttt
tttttttttc..............cttttttttt
tttttttttcc....3..3....ccttttttttt
ttttcccccccc..........cccccccctttt
tttcc......ccc......ccc......ccttt
ttcc.3.3.3..cccc++cccc..3.3.3.cctt
tcc..........c''''''c..........cct
tc%..........c+'55'+c..........%ct
tc%......1....cccccc....1......%ct
tc%....T.2....cccccc....2.T....%ct
tc%...........cccccc...........%ct
tc%.7........c+'55'+c........7.%ct
tcc.7........c''''''c........7.cct
ttc.........cccc++cccc.........ctt
ttccc......cccc....cccc......ccctt
ttttccc..cccc........cccc..ccc'ttt
t'tt''cccccc....33....cccccc.t't't
tt''''t'''cc..........cct'''ttt''t
tt''''''''c............c''t''ttt't
t''t'''5''c.7...TT...7.c''''t''''t
tt''''''''c.7...TT...7.c'''''''''t
ttt't'''''c............c''t'''t''t
tt'''''t''cc..........cc'''5'''''t
tt''5''''''c..........c'''''t''5't
t''''''''''cc........cc''t''''''tt
tt''t''5''''ccc....ccc''5'''t'tttt
ttttt'''''''''c++++c''''''tttttttt
ttttttt''''''''''''''''tt'''tttttt
ttttttttttt''''''''''ttt'''''ttttt
   tttttttttttt''''ttt'''tttttt
   ttttttttttttt'''''''tttttttt
   ttttttttttttt'@''ttttttttttt
ENDMAP

################################################################################
NAME:   grunt_forest_end_winery
TAGS:   no_pool_fixup
ORIENT: northeast
MONS:   the Enchantress patrolling, thorn hunter / spriggan defender
MONS:   tengu reaver / glowing shapeshifter hd:13
MONS:   satyr w:15 / spriggan berserker w:15 / spriggan air mage, faun
MONS:   tengu conjurer ; quarterstaff . robe . longbow . arrow / \
        tengu conjurer ; quarterstaff . robe . arbalest . bolt / \
        deep elf archer / rakshasa / eleionoma
KMONS:  L = water nymph
KMONS:  P = plant
ITEM:   gold / nothing w:90
ITEM:   any potion / nothing w:35
KFEAT:  L = deep_water
NSUBST: w = 2:L / *:w
SUBST:  X = xt, T = t.
FTILE:  e124+|%*$- = floor_vines
NSUBST: 5 = 1:4 / 3:6 / 1:56 / *:5
NSUBST: 2 = 1:3 / 1:223 / *:2
: old_forest_ends(_G)
veto {{
  return crawl.game_started() and you.uniques("the Enchantress")
}}
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Xttttttttttttttttttttttttttttttttttttttttttxx
XttTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTtxx
XttT.5..................................0Ttxx
XttT..PdPdP.cccccccccccccccccccccccccccc.Ttxx
XttT..PdPdP.ce-e-e-e-e-e-e-eceeeeee+|||c.Ttxx
XttT..PdPdP.c-e-e-e-c-e-e-e-c------c|||c.Ttxx
XttT..PdPdP.ce-e2e-ece-e2e-ec------cc+cc.Ttxx
XttT..PdPdP.cc+ccccccc+cccccc---2-4c%**c.Ttxx
XttT..PdPdP5c-----4---4-----+----1-c%**c.Ttxx
XttT..PdPdP.c-------2-------+---2-4c%**c.Ttxx
XtT...PdPdP.c--wwwwwwwwwww--+------c%**c.Ttxx
XtT...PdPdP.c--wwwwwwwwwww--c------c$$$c.Ttxx
XtT...PdPdP.c-----4---4-----c------c$$$c.Ttxx
XtT...PdPdP.c---------------ceeeeee+$$$c.Ttxx
XTT...PdPdP.cc++cccccccccccccccccccccccc.Ttxx
T.......5......5............5...........5Ttxx
@TT...PPPPPPPP..PPPPPPPPPPPP..PPPPPPPPPP.Ttxx
TtT...dddddddd..dddddddddddd..dddddddddd.Ttxx
XtT...PPPPPPPP5.PPPPPPPPPPPP.5PPPPPPPPPP.Ttxx
XtT...dddddddd..dddddddddddd..dddddddddd.Ttxx
XttT..PPPPPPPP.5PPPPPPPPPPPP5.PPPPPPPPPP.Ttxx
XttT..dddddddd..dddddddddddd..dddddddddd.Ttxx
XttT..PPPPPPPP..PPPPPPPPPPPP..PPPPPPPPPP.Ttxx
XttT.....................................Ttxx
XttT.....................................Ttxx
XttTTTTTT...........TTTT...........TTTTTTTtxx
XttttttttTTTTT.TTTTTTTTTTTTTT.TTTTTTTTTTTTtxx
XXtttttttttttT.TttttttttttttT.Tttttttttttttxx
XXXXXXXXXXXXT@TXXXXXXXXXXXXXXT@TXXXXXXXXXXXxx
ENDMAP

################################################################################
NAME:   grunt_forest_end_shrine
ORIENT: float
MONS:   the Enchantress patrolling
MONS:   spriggan defender w:14 / thorn hunter
MONS:   sphinx w:20 / tengu reaver w:15 / deep elf high priest / \
        ettin w:5 ; giant club randart . giant club randart
MONS:   spriggan air mage w:15 / spriggan druid / spriggan berserker / \
        dire elephant w:5 / shambling mangrove w:3 / anaconda w:2
MONS:   caustic shrike w:1 / deep elf knight w:5 / deep elf archer w:5 / \
        rakshasa / wizard / eleionoma w:5 / glowing shapeshifter w:5 / \
        stone giant w:4
KFEAT:  _ = altar_vehumet
KFEAT:  - = floor
SUBST:  T = tx
NSUBST: 2 = 1:3 / 2 = 22233 / *:2, 4 = 3:4 / 4:5 / * = 4455.
FTILE:  1|*$-+ = floor_dirt
FTILE:  ._@2345Gtx = floor_grass
: old_forest_ends(_G)
veto {{
  return crawl.game_started() and you.uniques("the Enchantress")
}}
MAP
  TTTTTTTTTTTTT
 TTtttttttttttTT
TTtt.......4.ttTT
Ttt4..........ttT
Tt..ccccccccc..tTTTTTTTT
Tt..c||c$$$$c..ttttttttt
Tt..c|-c****c.2t..4....t
Tt..cc+c2-4-+....G.G.G.@
Tt2.c-1-4-_-+..2........
Tt..cc+c2-4-+....G.G.G.@
Tt..c|-c****c.2t..4....t
Tt..c||c$$$$c..ttttttttt
Tt..ccccccccc..tTTTTTTTT
Ttt4..........ttT
TTtt.......4.ttTT
 TTtttttttttttTT
  TTTTTTTTTTTTT
ENDMAP
