############################################################################### # bazaar.des - Bazaar entry vaults and bazaar layouts. ############################################################################### # To do: # 1) Ideally, the portal duration should depend on absolute depth (the deeper, # the less time the player gets). I suggest a duration of # 100 + 10*(30-abs.depth) + rn(100*(30-abs.depth)) # 2) I think there should be more bazaars: each shop should have a chance of # (abs.depth-10)/30 of becoming a portal (with negative chance==0), and at # most one bazaar per level # 3) The above would (and should) include bazaars outside of the dungeon. ############################################################################### # Bazaar entries # Utility functions lua {{ function bazaar_portal() local messager = bell_clock_msg { initmsg="You hear coins being counted." } if not crawl.one_chance_in(3) then local pdesc = 'flickering gateway to a bazaar' return timed_marker { low=1000, high=1500, msg=messager, disappear='The gate to the bazaar disappears!', props = { desc = pdesc, dst = 'bazaar'}, floor = 'stone_arch' } else return one_way_stair { desc = 'gateway to a bazaar', dst = 'bazaar', floor = 'stone_arch' } end end function bazaar_message(e) e.welcome("You enter an inter-dimensional bazaar!") end function random_bazaar_colour() local colours = {"blue", "red", "lightblue", "magenta", "green"} local ret = colours[crawl.random2(#colours) + 1] 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 end dgn.set_lt_callback("bazaar", "fixup_bazaar") }} default-depth: D:10-27 ############################################################################### # Dummy entry NAME: bzr_entry_dummy TAGS: bzr_entry transparent trowel_portal allow_dup ORIENT: float MARKER: O = lua:bazaar_portal() MAP O ENDMAP ############################################################################### # A simple water entry. NAME: bzr_entry_001 TAGS: bzr_entry no_pool_fixup allow_dup ORIENT: float SHUFFLE: wwl MARKER: O = lua:bazaar_portal() MAP www w.w.w wwOww w.w.w www ENDMAP ############################################################################### # Some coins to shop with. NAME: bzr_entry_002 TAGS: bzr_entry allow_dup ORIENT: float SUBST: $=$. MARKER: O = lua:bazaar_portal() MAP xx.xx x$$$x .$O$. x$$$x xx.xx ENDMAP ############################################################################### # Many customers NAME: bzr_entry_003 TAGS: bzr_entry allow_dup ORIENT: float MONS: human, orc, goblin, kobold SUBST: . = .:150 1 SHUFFLE: 1234 MARKER: O = lua:bazaar_portal() MAP ..... ....... ...O... ....... ..... ENDMAP ############################################################################### # Safe NAME: bzr_entry_004 TAGS: bzr_entry allow_dup ORIENT: float MARKER: O = lua:bazaar_portal() MAP xxxxx xx...xx +..O..x xx...xx xxxxx ENDMAP ############################################################################### # Safe 2 NAME: bzr_entry_005 TAGS: bzr_entry allow_dup ORIENT: float SHUFFLE: wwlW MARKER: O = lua:bazaar_portal() MAP wwwww wwwwwww wwww wwwwwww wwwww ENDMAP ############################################################################### # Portal along the road NAME: bzr_entry_006 TAGS: bzr_entry allow_dup ORIENT: float SHUFFLE: XU, TUV SUBST: X=. MARKER: O = lua:bazaar_portal() MAP xxx xxOxx xxx.X.xxx .U.....U. xxxxxxxxx ENDMAP ######################################### # Portal by the lakeside (jpeg) NAME: bzr_entry_007 TAGS: bzr_entry allow_dup no_rotate ORIENT: float MONS: plant SHUFFLE: XY SUBST: a = W . SUBST: X : T 1 SUBST: Y = . MARKER: O = lua:bazaar_portal() MAP waWa. wwwWa.X.Y. wwwWO..Y.X. wwwwwwaaaX.Y. wwwwwWa. ENDMAP ############################################################################### # Bazaar layouts. # # "encompass" levels are recommended, and can be as small or large as you like. # No monsters are pre-placed in bazaars, and monsters do not spawn in bazaars, # but you can place monsters in your maps if you know what you're doing. # # Every encompass bazaar level must have at least one downstair, which will be # replaced with an exit from the bazaar. It's a good idea to also provide an # upstair, which will be converted into a stone arch (and on which the player # will be placed when entering the bazaar). If there's no upstair, the player # will arrive on a random square. # # You can force a particular colour for the rock walls or floor using # ROCKCOL and FLOORCOL directives. # ######################################## # General marketplace # 4 random shops NAME: bazaar_general_marketplace TAGS: bazaar allow_dup no_rotate ORIENT: encompass CHANCE: 5 KFEAT: A = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxx xxxxxxx>xxxxxxx xxxxxx...xxxxxx xxxxx.....xxxxx xxxx...A...xxxx xxx.........xxx xx...........xx x<..A.....A..>x xx...........xx xxx.........xxx xxxx...A...xxxx xxxxx.....xxxxx xxxxxx...xxxxxx xxxxxxx>xxxxxxx xxxxxxxxxxxxxxx ENDMAP ######################################## # Outfitter # 3 weapon/armour shops, potentially antique NAME: bazaar_outfitter TAGS: bazaar allow_dup ORIENT: encompass CHANCE: 5 KFEAT: A = any shop SHUFFLE: ABC, de KFEAT: A = weapon shop / armour shop KFEAT: B = antique weapon shop / weapon shop KFEAT: C = antique armour shop / armour shop ITEM: any weapon / w:2 good_item any weapon ITEM: any armour / w:2 good_item any armour : bazaar_message(_G) MAP xxxxxxxxx xxxx>xxxx xx.....xx x.......x x.AdBeC.x x.......x xx.....xx xxxxx xx.........xx xxxB.....Bxxx xxxxxxxxxxxxx ENDMAP ######################################## # Mystics # 2 shops NAME: bazaar_mystics TAGS: bazaar allow_dup CHANCE: 5 ORIENT: encompass SUBST: w : wlx SHUFFLE: AB, def KFEAT: A = scroll shop / book shop / book shop KFEAT: B = jewellery shop ITEM: any jewellery / good_item any jewellery ITEM: any book / good_item any book, any staff SUBST: d=.d, e=.e, f=.f # special cases for blue/red floor : local colour = random_bazaar_colour() : _G.floor_colour(colour) : if colour == "red" then SUBST: l = w : else : if colour == "blue" then SUBST: w = l : end : end # : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxwwwwwxxxxxx xxxxxxxxxxwwww...wwwxxxx xwwwwwwwwww....A...wwxxx xw<......d+....e....+f>x xwwwwwwwwww....B...wwxxx xxxxxxxxxxwwww...wwwxxxx xxxxxxxxxxxxxwwwwwxxxxxx xxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ######################################## # Wands # 2 wand shops, 2 jewellery shops NAME: bazaar_wands TAGS: bazaar allow_dup no_rotate ORIENT: encompass KFEAT: A = wand shop KFEAT: B = distillery shop #ITEM: any wand, cursed ring of levitation ITEM: any wand, ring of levitation SHUFFLE: leAB/wdBA # special cases for blue/red floor : local colour = random_bazaar_colour() : _G.floor_colour(colour) : if colour == "red" then SUBST: l = w : else : if colour == "blue" then SUBST: w = l : end : end # : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxx......>......xxxxxxxxxx xxxx.........................xxxx xx.....l.................l.....xx xx......l...............l.......x xl....A.ll.............ll.A....lx xl......l...............l......lx xll...........................llx xllll.......................llllx xlllllll.................lllllllx xllllllllllll.......llllllllllllx xlllllllllllllllllllllllllllllllx x...lllllllllllllllllllllllll...x x........lllllllllllllll........x x............lllllll............x x..............lll..............x xxxxx.......................xxxxx x...x.......................x...x x.B.+.......................+.B.x x...x....................x...x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ######################################## # bazaars in a row # ~4 shops NAME: bazaar_row TAGS: bazaar allow_dup no_rotate ORIENT: encompass SHUFFLE: Aa/Bb/Cc/Dd/Ee/Ff SHUFFLE: Aa/Zz, Bb/Yy, Cc/Rr, Dd/Ss # two guaranteed shops, expected four shops KFEAT: A = any shop / antique weapon shop KFEAT: B = any shop / antique armour shop KFEAT: C = any shop / wand shop KFEAT: D = any shop / jewellery shop KFEAT: E = any shop / weapon shop / armour shop KFEAT: F = any shop / book shop / scroll shop SUBST: b=a, c=a, d=a, e=a, f=a, a=T SUBST: y=z, r=z, s=z, z=V, Y=Z, R=Z, S=Z KFEAT: Z = stone_arch SHUFFLE: lw # special cases for blue/red floor : local colour = random_bazaar_colour() : _G.floor_colour(colour) : if colour == "red" then SUBST: l = w : else : if colour == "blue" then SUBST: w = l : end : end # SUBST: w:wWx, l:lx : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxAxxxxxxxxxxxCxxxxxxxxxxxExxxxxxxxxxxxxxxx xxx.....xxxxxxx...xxxxxxxxx...xxxxxxxxx...xxxxxxx.....xxx xx..www..xxxxxx.a.xxxxxxxxx.c.xxxxxxxxx.e.xxxxxx..lll..xx x<.wwwww..+...........+...........+...........+..lllll.>x xx..www..xxxxxx.b.xxxxxxxxx.d.xxxxxxxxx.f.xxxxxx..lll..xx xx......xxxxxxx...xxxxxxxxx...xxxxxxxxx...xxxxxxx.....xxx xxxxxxxxxxxxxxxxBxxxxxxxxxxxDxxxxxxxxxxxFxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ######################################## # bazaars in a row v2 # ~4.5 shops NAME: bazaar_row_2 TAGS: bazaar allow_dup 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 : local colour = random_bazaar_colour() : _G.floor_colour(colour) : if colour == "red" then SUBST: l = w : else : if colour == "blue" then SUBST: w = l : 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 # 5 shops NAME: bazaar_circle_1 CHANCE: 2 TAGS: bazaar allow_dup no_rotate ORIENT: encompass SHUFFLE: ABCD, EFGH SUBST: H=>, A=T, B=T KFEAT: C = any shop KFEAT: D = any shop KFEAT: E = any shop KFEAT: F = any shop KFEAT: G = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx x.....xxxxxxxxxx...xxxxxxxxxx.....x x..E..+.......+.....+.......+..H..x x.....xxxxxxxxx..D..xxxxxxxxx.....x xx...xxxxx....+.....+....xxxxx...xx xxx+xxx....xxxxx...xxxxx....xxx+xxx xxx.xx..xxxxxxxxx+xxxxxxxxx..xx.xxx xxx.x..xxxxxxxxxx+xxxxxxxxxx..x.xxx xxx+x+xxxxxxxxxx...xxxxxxxxxx+x+xxx xxx...xxxxxxxx.......xxxxxxxx...xxx xx.....xxxxxx.........xxxxxx.....xx xx..A..xxxxxT....<....Txxxxx..B..xx xx.....xxxxxx.........xxxxxx.....xx xxx...xxxxxxxx.......xxxxxxxx...xxx xxx+x+xxxxxxxxxx...xxxxxxxxxx+x+xxx xxx.x..xxxxxxxxxx+xxxxxxxxxx..x.xxx xxx.xx..xxxxxxxxx+xxxxxxxxx..xx.xxx xxx+xxx....xxxxx...xxxxx....xxx+xxx xx...xxxxx....+.....+....xxxxx...xx x.....xxxxxxxxx..C..xxxxxxxxx.....x x..G..+.......+.....+.......+..F..x x.....xxxxxxxxxx...xxxxxxxxxx.....x xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_circle_2 CHANCE: 2 TAGS: bazaar allow_dup no_rotate ORIENT: encompass SHUFFLE: EFGH SUBST: H=>, D=T, C=T KFEAT: A = any shop KFEAT: B = any shop KFEAT: E = any shop KFEAT: F = any shop KFEAT: G = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx x.....xxxxxxxxxx...xxxxxxxxxx.....x x..H..xxxxxxxxx.....xxxxxxxxx..E..x x.....xxxxxxxxx..D..xxxxxxxxx.....x xx...xxxxx....+.....+....xxxxx...xx xxx+xxx....xxxxx...xxxxx....xxx+xxx xxx.xx..xxxxxxxxx+xxxxxxxxx..xx.xxx xxx.x..xxxxxxxxxx+xxxxxxxxxx..x.xxx xxx+x+xxxxxxxxxx...xxxxxxxxxx+x+xxx xxx...xxxxxxxx.......xxxxxxxx...xxx xx.....xxxxxx.........xxxxxx.....xx xx..A..xxxxxT....<....Txxxxx..B..xx xx.....xxxxxx.........xxxxxx.....xx xxx...xxxxxxxx.......xxxxxxxx...xxx xxx+x+xxxxxxxxxx...xxxxxxxxxx+x+xxx xxx.x..xxxxxxxxxx+xxxxxxxxxx..x.xxx xxx.xx..xxxxxxxxx+xxxxxxxxx..xx.xxx xxx+xxx....xxxxx...xxxxx....xxx+xxx xx...xxxxx....+.....+....xxxxx...xx x.....xxxxxxxxx..C..xxxxxxxxx.....x x..G..xxxxxxxxx.....xxxxxxxxx..F..x x.....xxxxxxxxxx...xxxxxxxxxx.....x xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_circle_3 CHANCE: 2 TAGS: bazaar allow_dup no_rotate ORIENT: encompass SHUFFLE: EFGH SUBST: A=>, D=T, C=T KFEAT: B = any shop KFEAT: H = any shop KFEAT: E = any shop KFEAT: F = any shop KFEAT: G = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx x.....xxxxxxxxxx...xxxxxxxxxx.....x x..H..+.......+.....+.......+..E..x x.....xxxxxxxxx..D..xxxxxxxxx.....x xx...xxxxxxxxxx.....xxxxxxxxxx...xx xxx+xxxxxxxxxxxx...xxxxxxxxxxxx+xxx xxx.xxxxxxxxxxxxx+xxxxxxxxxxxxx.xxx xxx.xxxxxxxxxxxxx+xxxxxxxxxxxxx.xxx xxx+xxxxxxxxxxxx...xxxxxxxxxxxx+xxx xxx...xxxxxxxx.......xxxxxxxx...xxx xx.....xxxxxx.........xxxxxx.....xx xx..A..xxxxxT....<....Txxxxx..B..xx xx.....xxxxxx.........xxxxxx.....xx xxx...xxxxxxxx.......xxxxxxxx...xxx xxx+xxxxxxxxxxxx...xxxxxxxxxxxx+xxx xxx.xxxxxxxxxxxxx+xxxxxxxxxxxxx.xxx xxx.xxxxxxxxxxxxx+xxxxxxxxxxxxx.xxx xxx+xxxxxxxxxxxx...xxxxxxxxxxxx+xxx xx...xxxxxxxxxx.....xxxxxxxxxx...xx x.....xxxxxxxxx..C..xxxxxxxxx.....x x..G..+.......+.....+.......+..F..x x.....xxxxxxxxxx...xxxxxxxxxx.....x xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_circle_4 CHANCE: 1 TAGS: bazaar allow_dup no_rotate ORIENT: encompass SHUFFLE: ABCDEF KFEAT: A = any shop KFEAT: B = any shop KFEAT: E = any shop KFEAT: C = any shop KFEAT: D = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx x.....xxxxxxxxxx...xxxxxxxxxx.....x x..C..+.......+.....xxxxxxxxx..T..x x.....xxxxxxxxx..D..xxxxxxxxx.....x xx...xxxxxxxxxx.....xxxxxxxxxx...xx xxx+xxxxxx.xxxxx...xxxxxxxxxxxx+xxx xxx.xxxxxxxxxxxxx+xxxxxxxxxxxxx.xxx xxx.xxxxxxxxxxxxx+xxxxxxxxxxxxx.xxx xxx+xxxxxxxxxxxx...xxxxxxxxxxxx+xxx xxx...xxxxxxxx.......xxxxxxxx...xxx xx.....xxxxxx.........xxxxxx.....xx xx..A..xxxxxT....<....Txxxxx..>..xx xx.....xxxxxx.........xxxxxx.....xx xxx...xxxxxxxx.......xxxxxxxx...xxx xxx+xxxxxxxxxxxx...xxxxxxxxxxxx+xxx xxx.xxxxxxxxxxxxxTxxxxxxxxxxxxx.xxx xxx.xxxxxxxxxxxxxxxxxxxxxxxxxxx.xxx xxx+xxxxxx.xxxxx...xxxxxxxxxxxx+xxx xx...xxxxxxxxxx.....xxxxxxxxxx...xx x.....xxxxxxxxx..E..xxxxxxxxx.....x x..T..+.......+.....+.......+..B..x x.....xxxxxxxxxx...xxxxxxxxxx.....x xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_circle_5 CHANCE: 2 TAGS: bazaar allow_dup no_rotate ORIENT: encompass KFEAT: C = any shop KFEAT: D = any shop KFEAT: E = any shop KFEAT: F = any shop KFEAT: G = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx x.....xxxxxxxxxx...xxxxxxxxxx.....x x..>..+.......+.....+.......+..E..x x.....xxxxxxxxx..D..xxxxxxxxx.....x xx...xxxxx....+.....+....xxxxx...xx xxxxxxx....xxxxx...xxxxx....xxxxxxx xxxxxx..xxxxxxxxxxxxxxxxxxx..xxxxxx xxxxx..xxxxxxxxxxTxxxxxxxxxx..xxxxx xxxxx+xxxxxxxxxx...xxxxxxxxxx+xxxxx xxx...xxxxxxxx.......xxxxxxxx...xxx xx.....xxxxxx.........xxxxxx.....xx xx..T..+....+....<....+....+..T..xx xx.....xxxxxx.........xxxxxx.....xx xxx...xxxxxxxx.......xxxxxxxx...xxx xxx+x+xxxxxxxxxx...xxxxxxxxxx+x+xxx xxx.x..xxxxxxxxxxTxxxxxxxxxx..x.xxx xxx.xx..xxxxxxxxxxxxxxxxxxx..xx.xxx xxx+xxx....xxxxx...xxxxx....xxx+xxx xx...xxxxx....+.....+....xxxxx...xx x.....xxxxxxxxx..C..xxxxxxxxx.....x x..G..xxxxxxxxx.....xxxxxxxxx..F..x x.....xxxxxxxxxx...xxxxxxxxxx.....x xx...xxxxxxxxxxxxxxxxxxxxxxxxx...xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_circle_6 CHANCE: 1 TAGS: bazaar allow_dup no_rotate ORIENT: encompass KFEAT: A = any shop / antique armour shop KFEAT: B = any shop / antique weapon shop KFEAT: C = any shop / jewellery shop KFEAT: D = any shop / book shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx.....xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx..D..xxxxxxxxxxxxxxx xxxxxxxxxx....+.....+....xxxxxxxxxx xxxxxxx....xxxxx...xxxxx....xxxxxxx xxxxxx..xxxxxxxxxxxxxxxxxxx..xxxxxx xxxxx..xxxxxxxxxx>xxxxxxxxxx..xxxxx xxxxx+xxxxxxxxxx...xxxxxxxxxx+xxxxx xxx...xxxxxxxx.......xxxxxxxx...xxx xx.....xxxxxx.........xxxxxx.....xx xx..A..xxxxxT....<....Txxxxx..B..xx xx.....xxxxxx.........xxxxxx.....xx xxx...xxxxxxxx.......xxxxxxxx...xxx xxxxx+xxxxxxxxxx...xxxxxxxxxx+xxxxx xxxxx..xxxxxxxxxx+xxxxxxxxxx..xxxxx xxxxxx..xxxxxxxxx+xxxxxxxxx..xxxxxx xxxxxxx....xxxxx...xxxxx....xxxxxxx xxxxxxxxxx....+.....+....xxxxxxxxxx xxxxxxxxxxxxxxx..C..xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx.....xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx...xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ####################################### # bazaar in honeycomb form (jpeg) # 4 shops NAME: bazaar_honeycomb TAGS: bazaar allow_dup no_rotate ORIENT: encompass MONS: plant SHUFFLE: ABCDEF SUBST: A = >, B = > SUBST: . = .:1000 $ SUBST: K = T:20 1 .:5 KFEAT: C = any shop / distillery shop KFEAT: D = any shop / wand shop / food shop KFEAT: E = any shop / weapon shop / armour shop KFEAT: F = any shop / book shop / scroll shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxK.....Kxxxxxxxxxxxxxx xxxxxxxxxxxxx.........xxxxxxxxxxxxx xxxxxxxxxxxx.....B.....xxxxxxxxxxxx xxxxxx....Kxx.........xxK....xxxxxx xxxx........xx.......xx........xxxx xxxK....A....xxxx+xxxx....C....Kxxx xxxx........xxK.....Kxx........xxxx xxxxx.....Kxx.........xxK....xxxxxx xxxxxxx....+.....<.....+....xxxxxxx xxxxx.....Kxx.........xxK....xxxxxx xxxx........xxK.....Kxx........xxxx xxxK....F....xxxx+xxxx....D....Kxxx xxxx........xx.......xx........xxxx xxxxxx....Kxx.........xxK....xxxxxx xxxxxxxxxxxx.....E.....xxxxxxxxxxxx xxxxxxxxxxxxx.........xxxxxxxxxxxxx xxxxxxxxxxxxxxK.....Kxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ########################################## # bazaar lakeside with goldfish (jpeg) # 5 shops NAME: bazaar_lake TAGS: bazaar allow_dup no_rotate ORIENT: encompass MONS: giant goldfish SUBST: a = W. SHUFFLE: ABCDEF SUBST: A = Y SHUFFLE: XY SUBST: X = <, Y = > # high quality shops, pity they don't stay :p KFEAT: B = general shop KFEAT: C = wand shop / jewellery shop KFEAT: D = antique weapon shop KFEAT: E = antique armour shop KFEAT: F = scroll shop / distillery shop : bazaar_message(_G) # special cases for blue floor : local colour = random_bazaar_colour() : _G.floor_colour(colour) : if colour == "blue" then SUBST: w = W : end # MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx.....X.....xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx.................xxxxxxxxxxxxxxxxx xxxxxxxxxxxxx.......................xxxxxxxxxxxxxx xxxxxxxxxxx......T......F......T......xxxxxxxxxxxx xxxxxxxxxx.............................xxxxxxxxxxx xxxxxxxxx...............................xxxxxxxxxx xxxxxxxx..............aaaaa..............xxxxxxxxx xxxxxxxx.....E.......awwwwwaa......A.....xxxxxxxxx xxxxxxx............aawwwwwwwww............xxxxxxxx xxxxxxx...........awwwwwWwwwwa............xxxxxxxx xxxxxxx..........awwwww1WWwwwa............xxxxxxxx xxxxxxxY.T........awwwwwwWWwwwa........T.Yxxxxxxxx xxxxxxx............awwwwwwwwaX............xxxxxxxx xxxxxxx.............aawwwwwwwwa...........xxxxxxxx xxxxxxx...............aaaaaaaa............xxxxxxxx xxxxxxxx.....D.....................B.....xxxxxxxxx xxxxxxxx.................................xxxxxxxxx xxxxxxxxx...............................xxxxxxxxxx xxxxxxxxxx.............................xxxxxxxxxxx xxxxxxxxxxx......T......C......T......xxxxxxxxxxxx xxxxxxxxxxxxx.......................xxxxxxxxxxxxxx xxxxxxxxxxxxxxxx.................xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx.....X.....xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ########################################## # Bazaars in cross form (jpeg) # ~3 shops NAME: bazaar_cross1 TAGS: bazaar allow_dup no_rotate CHANCE: 2 ORIENT: encompass SHUFFLE: ABCD SUBST: A = <, B = > KFEAT: C = jewellery shop / wand shop KFEAT: D = antique armour shop / book shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxx.......xxxxxxxxxxxx xxxxxxxxxxx....A....xxxxxxxxxxx xxxxxxxxxxxx.......xxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxx...xxxxxxx...xxxxxxx...xxxx xx......xxxxxx...xxxxxx......xx x....B.........T.........D....x xx......xxxxxx...xxxxxx......xx xxxx...xxxxxxx...xxxxxxx...xxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxx.......xxxxxxxxxxxx xxxxxxxxxxx....C....xxxxxxxxxxx xxxxxxxxxxxx.......xxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_cross2 TAGS: bazaar allow_dup no_rotate CHANCE: 3 ORIENT: encompass SHUFFLE: ABCD SUBST: A = T E, B = > KFEAT: C = antique weapon shop KFEAT: D = antique armour shop KFEAT: E = general shop / distillery shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxx.......xxxxxxxxxxxx xxxxxxxxxxx....A....xxxxxxxxxxx xxxxxxxxxxxx.......xxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxx...xxxxxxx...xxxxxxx...xxxx xx......xxxx...G...xxxx......xx x....B.......G.<.G.......D....x xx......xxxx...G...xxxx......xx xxxx...xxxxxxx...xxxxxxx...xxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxx.......xxxxxxxxxxxx xxxxxxxxxxx....C....xxxxxxxxxxx xxxxxxxxxxxx.......xxxxxxxxxxxx xxxxxxxxxxxxxx...xxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ################################### # strange pattern (jpeg) # 4 shops NAME: bazaar_ribbon TAGS: bazaar allow_dup no_rotate ORIENT: encompass SHUFFLE: zZ SUBST: z = ., Z = w SHUFFLE: wl, ABCD # special cases for blue/red floor : local colour = random_bazaar_colour() : _G.floor_colour(colour) : if colour == "red" then SUBST: l = w : else : if colour == "blue" then SUBST: w = l : end : end # SHUFFLE: AX SUBST: X = <, A = > SUBST: B : T G KFEAT: C = any shop KFEAT: D = weapon shop / book shop / jewellery shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x.xxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxx.x x....xxxxxxxxxxxxxx...xxxxxxxxxxxxxx....x x..A..xxxxxxxxxxx.......xxxxxxxxxxx..A..x x......xxxxxxxxx....B....xxxxxxxxx......x xx......xxxxxx.............xxxxxx......xx xxx......xxxx.....wwZww.....xxxx......xxx xxxx.............ww...ww.............xxxx xxxxx......D.....w..X..z.....D......xxxxx xxxx.............ww...ww.............xxxx xxx......xxxx.....wwwww.....xxxx......xxx xx......xxxxxx.............xxxxxx......xx x......xxxxxxxxx....B....xxxxxxxxx......x x..C..xxxxxxxxxxx.......xxxxxxxxxxx..C..x x....xxxxxxxxxxxxxx...xxxxxxxxxxxxxx....x x.xxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxxx.x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ####################################### # Nine rooms (jpeg) # 5 shops NAME: bazaar_ninerooms1 TAGS: bazaar allow_dup no_rotate CHANCE: 2 ORIENT: encompass SUBST: k : . x NSUBST: A = 2=T:30 V / *:C NSUBST: B = 1:< / > KFEAT: C = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx....A....xxxxxxxxx.........x x....A....+.........................+....A....x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx.........xxxxxxxxx.........x x....A............+....B....xxxxxxxxx....A....x x.........xxxxxxxxx.........xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x....B....+.........................+....A....x x.........xxxxxxxxx....A....xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_ninerooms2 TAGS: bazaar allow_dup no_rotate CHANCE: 2 ORIENT: encompass SUBST: k : . x NSUBST: A = 2=T:30 V / *:C NSUBST: B = 1:< / > KFEAT: C = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x....B....xxxxxxxxx.........xxxxxxxxx....A....x x.........xxxxxxxxx....A............+.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxx+xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx+xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx+xxxxxxxxxxxxxxxxx.xxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx.........xxxxxxxxx.........x x....A....xxxxxxxxx....B....xxxxxxxxx....A....x x.........xxxxxxxxx.........xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........+............A............+.........x x....A....xxxxxxxxx.........xxxxxxxxx....A....x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_ninerooms3 TAGS: bazaar allow_dup no_rotate CHANCE: 2 ORIENT: encompass SUBST: z = .:50 + SUBST: k : . x NSUBST: A = 1:< / 1= / 1=C> KFEAT: C = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx.........xxxxxxxxx.........x x....A....z.......z....A....xxxxxxxxx....B....x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx.........xxxxxxxxx.........x x....A....z.......z....A....z.......z....A....x x.........xxxxxxxxx.........xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxxxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x....B....z.......z....A....z.......z....A....x x.........xxxxxxxxx.........xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_ninerooms4 TAGS: bazaar allow_dup no_rotate CHANCE: 2 ORIENT: encompass SUBST: z = .:50 + SUBST: k : . x NSUBST: A = 1:< / 1= / 1=C> KFEAT: C = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx.........xxxxxxxxx.........x x....A....z.......z....A....xxxxxxxxx....B....x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx.........xxxxxxxxx.........x x....A....z.......z....A....z.......z....A....x x.........xxxxxxxxx.........xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x....B....xxxxxxxxx....A....z.......z....A....x x.........xxxxxxxxx.........xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_ninerooms5 TAGS: bazaar allow_dup no_rotate CHANCE: 2 ORIENT: encompass SUBST: k : . x NSUBST: A = 1:< / 1:> / 1:T C / 3=T:30 V / *:C SUBST: B = > C:20 KFEAT: C = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x....A....xxxxxxxxx.........xxxxxxxxx....A....x x......................A............+.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxx+xxxxxxxxxxxxxxxxx=xxxxxxxxxxxxxxxxx+xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx=xxxxxxxxxxxxxxxxx.xxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx.........xxxxxxxxx.........x x....A....=.......=....B....xxxxxxxxx....A....x x.........xxxxxxxxx.........xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx xxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+xxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........+............A............+.........x x....A....xxxxxxxxx.........xxxxxxxxx....A....x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP ############################################# # some more bazaars based on triangles (jpeg) # 4.4 shops NAME: bazaar_triangles TAGS: bazaar allow_dup no_rotate ORIENT: encompass CHANCE: 1 SHUFFLE: ACD SUBST: A = < KFEAT: B = any shop / antique armour shop / jewellery shop SUBST: C = > SUBST: D = T : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxAxxxC............+...xxxxxxxxx xxxxxxxx...xxx...........xxx...xxxxxxxx xxxxxxx.....xxx....B....xxx.....xxxxxxx xxxxxx.......xxx.......xxx.......xxxxxx xxxxx....B....xxx.....xxx....B....xxxxx xxxx...........xxx...xxx...........xxxx xxxA............+...xxxD...........Dxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_hexagon TAGS: bazaar allow_dup no_rotate ORIENT: encompass CHANCE: 4 SHUFFLE: AC, BD KFEAT: A = armour shop / weapon shop / wand shop KFEAT: B = general shop / food shop KFEAT: C = scroll shop / book shop / distillery shop SUBST: D = > MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx.................===.xxxxxxxxx xxxxxxxx.............A...xxx...xxxxxxxx xxxxxxx.................xxx.....xxxxxxx xxxxxx........<........xxx.......xxxxxx xxxxx.................xxx....B....xxxxx xxxx...A.............xxx...........xxxx xxx.................xxx.............xxx xxx+xxxxxxxxxxxxxxx+xxxxxxxxxxxxxxx+xxx xxx+xxxxxxxxxxxxxxxx+xxxxxxxxxxxxxx+xxx xxx.............===.................xxx xxxx...........xxx.............C...xxxx xxxxx....D....xxx.................xxxxx xxxxxx.......xxx........>........xxxxxx xxxxxxx.....xxx.................xxxxxxx xxxxxxxx...xxx...C.............xxxxxxxx xxxxxxxxx.xxx.................xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_triangle_bulge TAGS: bazaar allow_dup no_rotate ORIENT: encompass CHANCE: 5 SHUFFLE: ABC SUBST: A = <, B = > KFEAT: C = any shop : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxCxxxxxxxxxxxxxx xxxxxxxxxxxx.....xxxxxxxxxxxx xxxxxxxxxx.........xxxxxxxxxx xxxxxxxx....B...B....xxxxxxxx xxxxxx.................xxxxxx xxxx....C.....B.....C....xxxx xxA.......................Axx xxxxxxxxxxxxx...xxxxxxxxxxxxx xxxxxxxxxxxxx...xxxxxxxxxxxxx xxxxxxxxxxxx.....xxxxxxxxxxxx xxxxxxxxxxx...C...xxxxxxxxxxx xxxxxxxxxxxx.....xxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP