git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2639 c06c8d41-db1a-0410-9941-cceddc491573
32B6H524I6YHMCVYFWZPHP32R4BURWJHMFGLYAEWADGI45B27ZUQC
BW72LH6NR2NBFFKPM3YZSQEDAFNI6AQIJJ6DV4WYCOXW5JZS5Z2QC
53K44NBML2QHWLZNXU5HBY2MOIXRK7ZGFQYAWZFO663TCOJKVHZAC
QWDHN7GEXJ5MFYOH2H2JWQMQGVLNALFS4WZT4S6VNCXLZEOIVPWAC
TUUX526B4YXR3EHU6EAAFWZMRHEBCPSBBB6TGPGIQVKBYUO5KZKAC
TLA5UN6LZPXGKERI27EFY4HKIIU3VU5Y7ZU54WXL6ANBUV2VOTMQC
76LSWQD2NL6K35BWFMG4BCE7QKVEI62V5AHCQHXVWUWMCTWHULGQC
D7UI5P567SVRKHJSUFKHMKN7OUSFKFH23OP75NCEK3WXVHF75WFAC
OVPUNMLZOD2ZAW5VMB2JAPIY4QUPUANO7RIHDSZIICHSR2NEO7JQC
H3552BCIAVBLKAYKE4DHFLBLFW5RGRMYBMRRYHYEB5IPIJRUVU5QC
ED62QWGKBPORWVKDFOQRKJXEIWZVNGR3O4KWQBDSRNPT36AYOQYAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
7Y5HSDFKA5TPLS2TWTRFMQVX6UXUDHXU5MUMXQSDFAIY4THQ3BIQC
MNUMFTIMJEOQKHXX7PGCLAPAK6KDDECBQBQIF5SL3TKWLBDWJ6KQC
IGHO5UHUXYBLIHLUMLZ672YHAYUSK4FSFX7SA42XARIKLIMCVLUAC
R4UPYSRDYDVGAKQAJOXVWHYDMASGKTJXTO2AVTO35ZYOJERELAKQC
CI5VTLSMB2L5W5ZVKDZEJFUARGSZP2FUSTRFV3MG6U44TDDUYH5AC
VCISXSXE6WGRO6PQN7Y6IFZ7C4VFUMKQK6KGAXA6YZ5RCZIB64WAC
JFJU5HJKIHKW7NRJMMM3BBAEK2SZYOWU5A5O22QFKFZX6QWECFUQC
6X36L3WFJHVRAZ2KD6VQMG7O2BBTYKHVU7EMIRHUFUNE7VDMXA7AC
RDIHBEN2QCXK7AESR3GT7A7D3A2W3AXR5GTYEOJ2AA75ONXFQQTQC
KFM2ARORBIJ6BGX456VFW7EAVRIYBVFUV53JH63GSKNOKVPJWQ2QC
RRADDS444JWSL4KOJKNZFAIMWMZRLFR4KZPC2MJBCJPEPINC5CPQC
5V47S4NNTHWTSAHV3YLO2VGH7JTUIYJ3GBPDN5ZM4UQALT2ZEXDQC
SHQUW7EH2E2SGQ5ONR63MAKN2VGLKQDQ3HIC2Q6D4DFGPGIJXXJQC
GQL5SIGBHLU3FMCE54XVGLRY5AZHRM6DUEB722REA2DPLGJSN6EQC
TLO257LZSB6ZO36STDUEWJBO2LETXFKTFGXELA6Y4BZBVAEIIINAC
BNP25NWD5OXPQEPLM3YJRJCRE24DH55RZKFCZPUX5NLWGOSBIYGAC
E7DV36ZR6TOGBD75BHGARCMIQQS6MSV7V3A7M7V4LOFHEC5NF6CQC
OUEUG67YNHCAEAR5TYOBG3RMJYXG6WI52OAH5SL5OHZPNFHT7R7AC
V2SIR47DZF52SZOVRUTQKTSJ4H7LKOFK654JGGHFZQWR64CLNAUQC
ENDMAP
################################################################
# For colouring the walls and floors of the first four levels
NAME: hall_of_Zot_1
PLACE: Zot:1
TAGS: transparent
ORIENT: float
FLOORCOL: lightgrey
ROCKCOL: lightgrey
MAP
.
ENDMAP
###
NAME: hall_of_Zot_2
PLACE: Zot:2
TAGS: transparent
ORIENT: float
FLOORCOL: lightgrey
ROCKCOL: blue
MAP
.
ENDMAP
###
NAME: hall_of_Zot_3
PLACE: Zot:3
TAGS: transparent
ORIENT: float
FLOORCOL: blue
ROCKCOL: lightblue
MAP
.
...............
.bbbbbbbbbbbbb.
.b.1.........b.
.b..........1b.
.bb..........b.
......*bbbbb.b.
.b.bbbb*.......
.b..........bb.
.b1..........b.
.b.........1.b.
.bbbbbbbbbbbbb.
...............
.............
.xxxxxxxxxxx.
.x*1......bx.
.x1.......bx.
.x..bbbbb+bx.
.x..bxxxb.bx.
.x..bbbbb.bx.
.x..+......x.
.xbbbbbbb..X.
.xxxxxxxxxXx.
.............
##############################################################################
# Wet chambers - two mutually exclusive versions (Onia Ninara)
###############################################################################
## Wet chambers - two mutually exclusive versions (Onia Ninara)
##
#NAME: onia_ninara_007_chamber_of_wet_secrets
#DEPTH: D:8-13
#TAGS: no_monster_gen no_pool_fixup
#KMONS: 1 = centaur
#KMONS: 2 = brown snake
#KMONS: 3 = electrical eel
#ITEM: bread ration/meat ration/royal jelly/potion of porridge, good_item cloak/any book
#SHUFFLE: !;
#SUBST: " = .:80 W:30
#SUBST: ; = .:80 W:30
#SUBST: ! = w:20 W ? c
#KFEAT: 3 = w
#KFEAT: 2 = W / .
#KFEAT: 1 = W / . w:30
#KFEAT: d = W / .
#KFEAT: e = W / .
#KFEAT: ? = spear trap / blade trap
#MAP
#.........
#.ccccccc.
#.c?;2Wdc.
#.ccWccec.
#.c.w"c3c.
#.c"w"ccc.
#.c>w!;!c.
#.c"w!!;c.
#.c.w!;!c.
#.c1w?T!c.
#.c$w;!!c.
#.cccc=cc.
#.........
#ENDMAP
NAME: onia_ninara_007_chamber_of_wet_secrets
DEPTH: D:8-13
TAGS: no_monster_gen no_pool_fixup
KMONS: 1 = centaur
KMONS: 2 = brown snake
KMONS: 3 = electrical eel
ITEM: bread ration/meat ration/royal jelly/potion of porridge, good_item cloak/any book
SHUFFLE: !;
SUBST: " = .:80 W:30
SUBST: ; = .:80 W:30
SUBST: ! = w:20 W ? c
KFEAT: 3 = w
KFEAT: 2 = W / .
KFEAT: 1 = W / . w:30
KFEAT: d = W / .
KFEAT: e = W / .
KFEAT: ? = spear trap / blade trap
MAP
.........
.ccccccc.
.c?;2Wdc.
.ccWccec.
.c.w"c3c.
.c"w"ccc.
.c>w!;!c.
.c"w!!;c.
.c.w!;!c.
.c1w?T!c.
.c$w;!!c.
.cccc=cc.
.........
ENDMAP
NAME: onia_ninara_008_deeper_chamber_of_wet_secrets
DEPTH: D:20-26
TAGS: no_monster_gen no_pool_fixup
KMONS: 1 = yaktaur captain
KMONS: 2 = grey snake
KMONS: 3 = storm dragon
ITEM: potion of cure mutation/potion of gain dexterity/potion of gain strength
ITEM: potion of gain intelligence/potion of experience/w:40 potion of heal wounds
SHUFFLE: de, !;
KFEAT: 3 = w / .
KFEAT: | = W / .
KFEAT: d = W / .
KFEAT: e = W / .
KFEAT: 2 = W
SUBST: ; = .:80 W:30
SUBST: " = .:80 W:30
SUBST: ! = w:20 W ? c
KFEAT: ? = zot trap
MAP
.........
.ccccccc.
.c?.2Wdc.
.ccWcc|c.
.c"w"c3c.
.c"w"ccc.
.c"w!;!c.
.c"w!?;c.
.c"w!!;c.
.c1w;U!c.
.c$w!!;c.
.cccc=cc.
.........
ENDMAP
#NAME: onia_ninara_008_deeper_chamber_of_wet_secrets
#DEPTH: D:20-26
#TAGS: no_monster_gen no_pool_fixup
#KMONS: 1 = yaktaur captain
#KMONS: 2 = grey snake
#KMONS: 3 = storm dragon
#ITEM: potion of cure mutation/potion of gain dexterity/potion of gain strength
#ITEM: potion of gain intelligence/potion of experience/w:40 potion of heal wounds
#SHUFFLE: de, !;
#KFEAT: 3 = w / .
#KFEAT: | = W / .
#KFEAT: d = W / .
#KFEAT: e = W / .
#KFEAT: 2 = W
#SUBST: ; = .:80 W:30
#SUBST: " = .:80 W:30
#SUBST: ! = w:20 W ? c
#KFEAT: ? = zot trap
#MAP
#.........
#.ccccccc.
#.c?.2Wdc.
#.ccWcc|c.
#.c"w"c3c.
#.c"w"ccc.
#.c"w!;!c.
#.c"w!?;c.
#.c"w!!;c.
#.c1w;U!c.
#.c$w!!;c.
#.cccc=cc.
#.........
#ENDMAP
ITEM: strawberry / strawberry q:1 / strawberry q:2 / strawberry q:3 / strawberry q:4 / strawberry q:5 / strawberry q:6 / strawberry q:8
ITEM: strawberry q:1 / strawberry q:2 / strawberry q:3 w:5 / strawberry q:4 w:3 / strawberry q:5 w:2 / strawberry q:6 w:1
ITEM: strawberry / strawberry q:1 / strawberry q:2 / strawberry q:3 / strawberry q:4 / strawberry q:5 / strawberry q:6 / strawberry q:8
ITEM: strawberry q:1 / strawberry q:2 / strawberry q:3 w:5 / strawberry q:4 w:3 / strawberry q:5 w:2 / strawberry q:6 w:1
ITEM: strawberry / strawberry q:1 / strawberry q:2 / strawberry q:3 / strawberry q:4 / strawberry q:5 / strawberry q:6 / strawberry q:8
ITEM: strawberry q:1 / strawberry q:2 / strawberry q:3 w:5 / strawberry q:4 w:3 / strawberry q:5 w:2 / strawberry q:6 w:1
ITEM: strawberry / strawberry q:1 / strawberry q:2 / strawberry q:3 / strawberry q:4 / strawberry q:5 / strawberry q:6 / strawberry q:8
ITEM: strawberry q:1 / strawberry q:2 / strawberry q:3 w:5 / strawberry q:4 w:3 / strawberry q:5 w:2 / strawberry q:6 w:1
SHUFFLE: def
SUBST: d = 1, e = 1
KFEAT: f = blade trap / needle trap / axe trap / floor w:70
KMONS: f = minotaur
KITEM: f = any good_item, any good_item, any good_item, any good_item, any good_item, any good_item, any good_item, any good_item, any good_item, any good_item, any good_item / nothing, any good_item / nothing
MAP
NSUBST: d = 1 / %
SUBST: c : cvv
MAi
ENDMAP
#############################################################################
# Three rows exit
NAME: labyrinth_rows
TAGS: minotaur
SHUFFLE: def
MONS: minotaur
KFEAT: d = floor
KITEM: d = any good_item, any good_item, any good_item, any good_item, any good_item, any good_item, any good_item, any good_item, any good_item
KFEAT: e = floor
KFEAT: f = <
MAP
..................
.cccccccccccccccc.
.+1............dc.
.cccccccccccccccc.
.+1............ec.
.cccccccccccccccc.
.+1............fc.
.cccccccccccccccc.
..................
NAME: labyrinth_trapped
TAGS: minotaur generate_loot allow_dup
SHUFFLE: dD/eE/fF, ghi
MONS: minotaur
SUBST: g = c, h = c, i = .
KFEAT: d = axe trap / dart trap / needle trap / blade trap
KFEAT: e = axe trap / dart trap / needle trap / blade trap
KFEAT: f = axe trap / dart trap / needle trap / blade trap
KFEAT: D = teleport trap
KFEAT: E = teleport trap
KFEAT: F = floor
NAME: labyrinth_trapped
TAGS: minotaur generate_loot allow_dup
SHUFFLE: dD/eE/fF
MONS: minotaur
NSUBST: g = . / c
NSUBST: D = . / D
KFEAT: d = axe trap / dart trap / needle trap / blade trap
KFEAT: D = teleport trap
SUBST: c : vvc
..............................
............c..c..............
...........c..................
...........c...c..............
...cc......cccc...............
..cccc........................
.cc.cc........................
......
..c..c.
.c.....
.... ..c...c.
...cc......cccc..
..cccc...........
.cc.cc...........
.cc.cc........................
..cccc........................
...cc......cccc...............
...........c...c..............
...........c..................
............c..c..............
..............................
.cc.cc...........
..cccc...........
...cc......cccc..
...........c...c.
.c.....
..c..c.
......
ENDMAP
##############################################################################
# Elf vault, rogue theme (David)
NAME: elf_hall_rogue_1
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ~ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce**|||**eccccccce%*%%%*%ec$$ccccxc
cxc..c$$=....7....ccccccc....7....c$$c..cxc
cx.d%c$ccccc...ccccccccc=ccc...ccccc$c*e.xc
cx.d%cc=.c.cc.cc.|.ccccc.|.cc.cc.c.c==|e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
cxccccc$$|*|*c...c...U...c...c***|$$cccccxc
cxcccc$$$c|**...4c.4.!.4.c4...*||c$$$ccccxc
cxcccc$$$c*|*c...|...c...|...c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
cxccccccc...cccccc...?...cccccc...cccccccxc
cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc*|*=c4.+.........ccccxc
cxcccc.4..|....c.6cce|ecc6.c....|..4.ccccxc
cxcccc=..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..=cccc+cccccc...ccc...cccccc+ccccc..cxc
cx.e|ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
cx.e*cc.......ccccccccccccccc.......cc%d.xc
cxc..cc...!...cccc.......cccc...!...cc..cxc
cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
#######################################
NAME: elf_hall_rogue_2
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce%*%%%%%ecccccc=e**|||**ec$$ccccxc
cxc..c$$c....7....ccccc=c....7....c$$=..cxc
cx.e*c$ccccc...=cccccc=ccccc...ccccc$c*e.xc
cx.e%cc=.c.cc.cc...ccc=c...cc.cc.c.c=c|e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
cxccc=c$$|*|*c...c...U...c...c***|$$cccccxc
cxcccc$$$c|**...4c.4.!.4.c4..3*||c$$$ccccxc
cxcccc$$$c*|*c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
cxccccccc...cccccc...?...cccccc...cccccccxc
cxccccc.....?.ccc...c=c...ccc.?.....cccccxc
cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc*|*cc4.+.........ccccxc
cxcccc.4..|....c.6cce|ecc6.c....|..4.ccccxc
cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
cx.e|ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
cx.e*c=.......ccccccccccccccc.......cc%d.xc
cxc..=c...!...cccc.......cccc...!...cc..cxc
cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
#######################################
NAME: elf_hall_rogue_3
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce%%%%%*%eccccccce**|||**ec$$=cccxc
cxc..c$$c....7....ccccccc....7....=$$c..cxc
cx.e|c$ccccc...ccc=ccccccccc...ccccc$c*e.xc
cx.e*=c=.c.cc.cc...ccccc...cc.cc.c.c=c%e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
cxccccc$$|*|*c...c...U...c...c***|$$cc=ccxc
cxcccc$$$c|**...4c.4.!.4.c4...*||c$$$c=ccxc
cxcccc$$$c*|*c.......c.......c***c$$$c=ccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$c=ccxc
cxccccccc...cccccc...?...cccccc...cccc=ccxc
cxccccc.....?.ccc...ccc...ccc.?.....cc=ccxc
cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cc=ccxc
cxcccc.........+.4cc*|*cc4.+.........c=ccxc
cxcccc.4..|....c.6cce|ecc6.c....|..4.c=ccxc
cxccccc..c~c..cc...=c|cc...cc..c~c..cc=ccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
cx.d%ccc.~~~.ccccc.......ccccc.~~~.ccc|e.xc
cx.d%cc.......ccccccccccccccc.......cc*e.xc
cxc..cc...!...cccc.......cccc...!...cc..cxc
cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
#######################################
NAME: elf_hall_rogue_4
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce%*%%%%%eccccccce**|||**ec$$ccccxc
cxc..=$$c....7....ccccccc....7....c$$c..cxc
cx.e%c$ccccc...ccccccccccccc...ccccc$c*e.xc
cx.e*cc=.c.cc.cc...ccccc...cc.cc.c.c=c|e.xc
cxc..cc$.c**c=c..c..ccc..c..c=c|*c.$cc..cxc
cxccccc$$|*|*c...c...U...c...c***|$$c=cccxc
cxcccc$$$c|**...4c.4.!.4.c4...*||c$$$ccccxc
cxcccc$$$c*|*c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
cxccccccc...cccccc...?...cccccc...cccccccxc
cxccccc.....?.ccc...=cc...ccc.?.....cccccxc
cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc*|*cc4.+.........ccccxc
cxcccc.4..|....c.6cce|ecc6.c....|..4.ccccxc
cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
cx.d%ccc.~~~.ccccc.......ccccc.~~~.ccc*e.xc
cx.d%cc.......ccccccccccccccc.......cc|e.xc
cxc..cc...!...cccc.......cccc...!...c=..cxc
cxccccc.......ccc~6cc?cc6~ccc.......=ccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
#######################################
NAME: elf_hall_rogue_5
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$cd%%%%%%%dc==c===e%%%%%%%ec$$ccccxc
cxc..c$$c....7....ccc=ccc....7....c$$c..cxc
cx.e|=$ccccc...cccccc=cccccc...ccccc$c*e.xc
cx.e*ccc.c.cc.cc...cc=cc...cc.cc.c.c=c|e.xc
cxc..cc$.c**ccc..c..c=c..c..ccc|*c.$c=..cxc
cxccccc$$|*|*c...c...U...c...c***|$$cccccxc
cxcccc$$$c|**...4c.4.!.4.c4...*||c$$$ccccxc
cxcccc$$$c*|*c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
cxccccccc...cccccc...?...cccccc...cccccccxc
cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
cxccccc.2.!.?.cc.6.c=|cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc|||cc4.+.........ccccxc
cxcccc.4..|....c.6cce|ecc6.c....|..4.=cccxc
cxccccc..c~c..cc...cc|cc...cc..c~c..cc=ccxc
cxc..c=ccc+cccccc...ccc...cccccc+ccccc..cxc
cx.e|=cc.~~~.ccccc.......ccccc.~~~.ccc|e.xc
cx.e|cc.......ccccccccccccccc.......cc|e.xc
cxc..cc...!...cccc.......cccc...!...cc..cxc
cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
#######################################
NAME: elf_hall_rogue_6
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce%%%%%%%eccccccce**|||**ec$$ccccxc
cxc..c$$c....7....cccccc=....7....c$$c..cxc
cx.e|c$cccc=...cccccccc=cccc...ccccc$c*e.xc
cx.e*cc=.c.cc.cc...ccccc...cc.cc.c.c=c|e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
cxcc=cc$$|*|*c...c...U...c...c***|$$c=cccxc
cxcc=c$$$c|**...4c.4.!.4.c4...*||c$$$ccccxc
cxcc=c$$$c*|*c.......c.......c***c$$$ccccxc
cxcc=c$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
cxccc=ccc...cccccc...?...cccccc...cccccccxc
cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc*|*cc4.+.........ccccxc
cxcccc.4..|....c.6ccd|dcc6.c....|..4.ccccxc
cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
cx.e*ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
cx.e|cc.......ccccccccccccccc.......cc%d.xc
cxc..cc...!...cccc.......cccc...!...cc..cxc
cxccc=c.......ccc~6cc?cc6~ccc.......cccccxc
cxcc=ccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccc===c...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
#######################################
NAME: elf_hall_rogue_7
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$cd|*|||**dcccccccd*||*|**dc$$ccccxc
cxc..c$$c....7....ccccccc....7....c$$c..cxc
cx.e|c$ccccc...ccccccccccccc...ccccc$c%e.xc
cx.e|c=c.c.cc.cc...ccccc...cc.cc.c.c=c%e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$c=..cxc
cxcc=cc$$|*|*c...c...U...c...c***|$$cccccxc
cxcc=c$$$c|**...4c.4.!.4.c4...*||c$$$ccccxc
cxcc=c$$$c*|*c.......c.......c***c$$$ccccxc
cxcc=c$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
cxcc=cccc...cccccc...?...cccccc...cccccccxc
cxcc=cc.....?.ccc...ccc...ccc.?.....cccccxc
cxccc=c.2.!.?.cc.6.cc%cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc*|%cc4.+.........ccccxc
cxcccc.4..|....c.6cce%ecc6.c....|..4.ccccxc
cxccc=c..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...c=c...cccccc+ccccc..cxc
cx.e|ccc.~~~.ccccc.......ccccc.~~~.ccc*e.xc
cx.e|cc.......ccccccccccccccc.......cc*e.xc
cxc..cc...!...cccc.......cccc...!...cc..cxc
cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
NAME: elf_hall_rogue_8
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$ce*|||||*ec==ccc=e*|||||*ec$$ccccxc
cxc..=$$c....7....=cc=c=c....7....=$$c..cxc
cx.e%c$ccccc...ccccc=c=ccccc...ccccc$c|e.xc
cx.e%cc=.c.cc.cc...ccccc...cc.cc.c.cc=|e.xc
cxc..cc$.c**ccc..c..ccc..c..ccc|*c.$cc..cxc
cxccccc$$|*|*c...c...U...c...c***|$$cc=ccxc
cxcccc$$$c|**...4c.4.!.4.c4...*||c$$$c=ccxc
cxcccc$$$c*|*c.......c.......c***c$$$c=ccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$c=ccxc
cxccccccc...cccccc...?...cccccc...cccc=ccxc
cxccccc.....?.ccc...ccc...ccc.?.....==cccxc
cxccccc.2.!.?.cc.6.cc%cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc*%*cc4.+.........ccccxc
cxcccc.4..|....c.6cce|e=c6.c....|..4.ccccxc
cxccc=c..c~c..cc...cc*cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
cx.e%ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
cx.e%cc.......ccccccccccccccc.......cc%d.xc
cxc..cc...!...cccc.......cccc...!...cc..cxc
cxccccc.......ccc~6cc?cc6~ccc.......=ccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
#######################################
NAME: elf_hall_rogue_9
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxcccc$$=e**|||**eccccccce%%|%|%%e=$$ccccxc
cxc..c$$c....7....==ccccc....7....c$$c..cxc
cx.d|c$ccccc...cccc=cc=ccccc...ccccc$c%d.xc
cx.d|ccc.c.cc.cc...cc=cc...cc.c=.c.ccc%d.xc
cxc..cc$.c|*ccc..c..=cc..c..ccc|*c.$cc..cxc
cxccccc$$|*|*c...c...U...c...c***|$$cccccxc
cxcccc$$$c|**...4c.4.!.4.c4...*||c$$$ccccxc
cxcccc$$$c*||c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
cxccccccc...cccccc...?...cccccc...cccccccxc
cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc||*cc4.+.........ccccxc
cxcccc.4..|....c.6c=e|ecc6.c....|..4.ccccxc
cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
cx.d%ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
cx.d%cc.......ccccccccccccccc.......cc%d.xc
cxc..cc...!...cccc.......cccc...!...cc..cxc
cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
#######################################
NAME: elf_hall_rogue_10
PLACE: Elf:7
CHANCE: 1
ORIENT: float
FLAGS: no_rotate
LFLAGS: no_tele_control
ITEM: scroll of teleportation, any scroll
MONS: deep elf high priest, deep elf demonologist
MONS: deep elf annihilator, deep elf sorcerer
MONS: deep elf death mage
MONS: deep elf conjurer / deep elf fighter / deep elf summoner / deep elf knight / nothing
MONS: curse skull / curse toe
SUBST: ~ = ^ .:30
SUBST: !=15, ?=.?, ?:23, 4=4.
SUBST: % = % *:1
SUBST: | = | *:2
SUBST: * = * |:3
MARKER: U = lua:feat_change_change_flags { \
level_flags="!no_tele_control", final_feat="dry_fountain", \
group="fountain" \
}
MAP
ccccccccccccccccccccccccccccccccccccccccccc
cxccc====ccccc=======cccc====ccccccccccccxc
cxcc=cccc=ccc=ccccccc=c==cccc=cccccccccccxc
cxcc=c$$ce**|||**eccc=ccce|*|*|*|ec$$ccccxc
cxc..c$$=....7....ccccccc....7....c$$c..cxc
cx.e%c$ccccc...=cccccccccccc...ccccc$c%d.xc
cx.e%ccc.c.cc.cc...ccccc...cc.cc.c.ccc%d.xc
cxc..cc$.c|*ccc..c..ccc..c..ccc|*c.$cc..cxc
cxccccc$$|*|*c...c...U...c...c***|$$cccccxc
cxcccc$$$c|**...4c.4.!.4.c4...*||c$$$ccccxc
cxcccc$$$c*||c.......c.......c***c$$$ccccxc
cxcccc$ccccccc..ccc+ccc+ccc..ccccccc$ccccxc
cxccccccc...cccccc...?...cccccc...cccccccxc
cxccccc.....?.ccc...ccc...ccc.?.....cccccxc
cxccccc.2.!.?.cc.6.cc|cc.6.cc.?.!.3.cccccxc
cxcccc.........+.4cc||*cc4.+.........ccccxc
cxcccc.4..|....c.6ccd|dcc6.c....|..4.ccccxc
cxccccc..c~c..cc...cc|cc...cc..c~c..cccccxc
cxc..ccccc+cccccc...ccc...cccccc+ccccc..cxc
cx.d%ccc.~~~.ccccc.......ccccc.~~~.ccc%d.xc
cx.d%cc.......ccccccccccccccc.......cc%d.xc
cxc..cc...!...cccc.......cccc...!...cc..cxc
cxccccc.......ccc~6cc?cc6~ccc.......cccccxc
cxcccccc.3..6..|~~ccc.ccc~~|..6..2.ccccccxc
cxccccccc...ccccccccc.ccccccccc...cccccccxc
ccccccccccccccccccccc@ccccccccccccccccccccc
ENDMAP
# big garden full of undead - monster colour enabled for this
NAME: garden_of_evil_bobbens
ORIENT: encompass
TAGS: no_monster_gen no_item_gen no_pool_fixup
FLAGS: no_rotate
PLACE: Crypt:5
KFEAT: z = .
KMONS: z = skeletal warrior
KFEAT: I = .
KMONS: I = iron golem
KFEAT: C = .
KMONS: C = crystal golem
KFEAT: N = .
KMONS: N = necromancer
KFEAT: M = .
KMONS: M = large zombie/small zombie/large skeleton/small skeleton/ghoul/necrophage
KFEAT: H = .
KMONS: H = hell knight
KFEAT: D = .
KMONS: D = skeletal dragon
KFEAT: s = .
KMONS: s = flying skull
KFEAT: S = .
KMONS: S = sun demon
KFEAT: J = .
KMONS: J = death ooze
KFEAT: B = .
KMONS: B = ancient lich
KFEAT: A = .
KMONS: A = large abomination/w:5 small abomination
KFEAT: X = .
KMONS: X = dancing weapon
KFEAT: E = .
KMONS: E = vampire knight
# death plants
KFEAT: F = .
KMONS: F = w:20 col:darkgrey plant/col:lightgrey plant
SUBST: p = .F
# red walls
COLOUR: r = red
SUBST: r = v
# traps
SUBST: ; = .:6 ~:2 ^:1
# gateway to pan
KFEAT: / = enter_pandemonium
# water may be lava
SUBST: w : wl
MAP
xxxxxxxxxxxxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
xxxxxxxxxxxxv...v.zz.......zz..........v*$$$$$$$v........v
xxxxxxxxxxxxv...vc..c..c..c..c..c..c...v|*$$$$$$=..H.....v
xxxxxxxxxxxxv...........s............z.vvvvvvvvvv.A...E..v
xxxxxxxxxxxxv..................s.....zNv........v...U....v
xxxxxxxxxxxxv...........s..............+........+........v
xxxxxxxxxxxxv...vc..c..c..c..c..c..c...v........v........v
xxxxxxxxxxxxv...v.zz.......zz..........v........v........v
xxxxxxxxxxxxvvv+vvvvvvvvvvvvvvvvvvvvvvvv........vvvvvvvvvv
xxxxxxxxxxxxvc;;;ccccFFJpFFJ.FppFp.....v........vFFFFpp..v
xxxxxxxxxxxxvcc+cc..cFF.ppFp.p..p.....pv........vFFFpp...v
xxxxxxxxxxxxccc...H.c$FpJ.p...p.......pvvvz..zvvvpppp....v
xxxxxxxxxxccc.....H.ccccpp.JpFFp.......pFvv++vvppp.......v
xxxxxxxxccc....cccccc..ccccvvvvvvvvvv..pppp.pFFp.........v
xxxxxxxcc....ccc....c.I...ccc.D.+...v...p....pp..........v
xxxxxccc....cc......cz.z....ccc.vvv.+.....p......vvvvvvv.v
xxxxcc....ccc..z.N..c...c.....cccM+.vp..........pvMvMvMv.v
xxxcc.....c.....z...c...cccc....ccv+vpp...HHH..pFv+v+v+v.v
xxcc................c...c|$ccc...ccMvFp.p.......pv..s..v.v
xxc...............ccc+c.c*$..c+...ccvFp....N.....+...NUv.v
xcccccccccccc+ccccc.z.ccc.E...cc...ccFpp....V....v..s..v.v
cc....;;;;;;;..cc.......cc.X...ccMz.ccFpp.....p..v+v+v+v.v
cI....;;;;;;;.cc....(....cc.....ccN..cFFpp.......vMvMvMv.v
ccccc+cccccccccz...{.....zccccccccc+cccccp..p....vvvvvvv.v
v|pc..........cc....[....cc.............c...........pFp..v
vFFcc....D....ccc.......cc..ccc........cc.p.......p..p...v
vpppcc.....cccc.ccc.z.ccc...cAc.c+c...cc......p..........v
vJ.ppcc...cc......ccccc.N...c+c.cAc...c..p..........p...pv
v.p.ppcc............c...........ccc..cc.....p..........ppv
vpp.Jppcc.......c...c.ccc..H.......Ncc.......pp..ppppppppv
v.Jpp.p.ccc.....c...c.cAc..c+c.....cc...p...pvvv+vvvFpFFFv
vp.p.p.pppccc...c..;c.c+c..cAc...cccp.....pppv.....vFFFFFv
v.pp......p.ccc.c..;+......ccc..ccp.....pppFFv.....vFFFFFv
v.J...p.p.....cccc.;c.........cccp...p.vvvvvvv.....vvvvvvv
v..p......p...p..cccc...N...ccc.p......v...;;;.D.D.;;;...v
v..p..p...........pFc.....ccc.....p..p.vz..;vvvvvvvvv;..zv
v..........p.......pc..cccc...pp......pv...;;;;...;;;;...v
vp.....p............ccccFp...pFFp....ppvvvvvvvv.v.vvvvvvvv
v........rrrrrrrr......ppp...pFTFp...pFvwwwwwww.w.wwwwwwwv
v...rrrrrr$|r...r............pFFpJ...pFvwwwwww..w..wwwwwwv
v..rr....r+rr...r..G..p.....ppppppp..ppvwwwwwv.....vwwwwwv
v..r...S........rrrC......vvvv+vvvpp..pvwwwwvvv...vvvwwwwv
v..r../.........+;+....p..v$$$$$*vp....vwwwvvU.....Uvvwwwv
v..r...S........rrrC......v$**$$|vp...pvwwwv...GBG...vwwwv
v..rr....r+rr...rFpG......v|||*||v...p.vwwwvv$$vvv$$vvwwwv
v...rrrrrr$|r...rp...p....vvvvvvvv..J..vwwwwvv$*|*$vvwwwwv
v.....ppFrrrrrrrrp..................p..vwwwwwvv|||vvwwwwwv
vp.....ppp........ppppp...p.......p....vwwwwwwvvvvvwwwwwwv
vpp..............ppFFFppp.....ppp......vwwwwwwwwvwwwwwwwwv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwWwwwwwwwv
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvvvvvvvvvvv
ENDMAP
##############################################################################
end
function random_bazaar_colour()
local colours = {"blue", "red", "lightblue", "magenta", "green"}
crawl.mpr("#colours = " .. #colours)
local ret = colours[crawl.random2(#colours) + 1]
crawl.mpr("ret = " .. ret)
return ret
end
function fixup_bazaar()
dgn.fixup_stairs("stone_arch", "exit_portal_vault")
dgn.floor_halo("enter_shop", "yellow")
if (dgn.get_floor_colour() == "black") then
dgn.change_floor_colour(random_bazaar_colour())
end
if (dgn.get_rock_colour() == "black") then
dgn.change_rock_colour("yellow")
end
########################################
# bazaars in a row v2
#
NAME: bazaar_row_2
TAGS: bazaar allow_dup
FLAGS: no_rotate
ORIENT: encompass
SHUFFLE: Aa/Bb/Cc/Dd/Ee/Ff/Gg/Hh
SHUFFLE: Aa/Zz, Bb/Yy, Cc/Rr, Dd/Ss, Ee/Jj, Ff/Kk, Gg/Mm
# one guaranteed shop, expected 4.5 shops
SUBST: B=A, C=A, D=A, E=A, F=A, G=A, H=A
SUBST: b=a, c=a, d=a, e=a, f=a, g=a, h=a
SUBST: Y=Z, R=Z, S=Z, J=Z, K=Z, M=Z
SUBST: y=z, r=z, s=z, j=z, k=z, m=z
KFEAT: A = any shop
KFEAT: Z = stone_arch
SUBST: a=T, z=V
SHUFFLE: lw
# special cases for blue/red floor
: if you.bazaar_floor() == "red" then
SUBST: l : wWx
: else
: if you.bazaar_floor() == "blue" then
SUBST: w : Wx
: end
: end
#
SUBST: w:wWx, l:lx
: bazaar_message(_G)
MAP
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxAxxxxxxxxxxxCxxxxxxxxxxxExxxxxxxxxxxGxxxxxxxxxxxxxxxx
xxx.....xxxxxxx...xxxxxxxxx...xxxxxxxxx...xxxxxxxxx...xxxxxxx.....xxx
xx..www..xxxxxx.a.xxxxxxxxx.c.xxxxxxxxx.e.xxxxxxxxx.g.xxxxxx..lll..xx
x<.wwwww..+...........+...........+...........+...........+..lllll.>x
xx..www..xxxxxx.b.xxxxxxxxx.d.xxxxxxxxx.f.xxxxxxxxx.h.xxxxxx..lll..xx
xx......xxxxxxx...xxxxxxxxx...xxxxxxxxx...xxxxxxxxx...xxxxxxx.....xxx
xxxxxxxxxxxxxxxxBxxxxxxxxxxxDxxxxxxxxxxxFxxxxxxxxxxxHxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENDMAP
#######################################
# circle bazaar
#