############################################################################### # bazaar.des - Bazaar entry vaults and bazaar layouts. ############################################################################### ############################################################################### # Bazaar entries # Utility functions lua {{ function bazaar_portal() local desc_long = "Aside from the vendors who've set up their stores at various places in the ".. "dungeon, there are others trying to make a living by traveling from place".. "to place. Bazaars feature a number of different shops and often have better".. "stock than the sedentary ones, sometimes even at a bargain.".. "Once you hear the clinking of coins, be sure to hurry up and find the".. "impromptu marketplace before the caravan moves on!".. "\n\n".. "Also be warned that their nomadic lifestyle has taught these sellers to".. "appropriate any items an adventurer might leave behind, and then leave".. "quickly, probably to sell them elsewhere." local messager = timed_msg { initmsg = { "You hear coins being counted.", "An interdimensional caravan has stopped on this level " .. "and set up a bazaar. Hurry and find its entrance before " .. "they move on!" }, finalmsg = "You hear the last, dying notes of the bell.", verb = 'tolling', noisemaker = 'bell' } local blow = 200 + 30*(40 - you.absdepth()) + crawl.random2(200) local bhigh = blow + crawl.random2(blow) + 100 if not crawl.one_chance_in(6) then local pdesc = 'flickering gateway to a bazaar' return timed_marker { low=blow, high=bhigh, msg=messager, disappear='The gate to the bazaar disappears!', desc = pdesc, desc_long = desc_long, 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") 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 local default = {rock="wall_vault", floor="floor_vault", halo="halo_vault"} local tileset = { blue = {rock="wall_brick_gray", floor="floor_grass", halo="halo_grass"}, red = {rock="wall_pebble_red", floor="floor_vault", halo="halo_vault"}, lightblue = {rock="wall_hive", floor="floor_grass", halo="halo_grass2"}, magenta = {rock="wall_stone_gray", floor="floor_dirt", halo="halo_dirt"}, green = {rock="wall_stone_gray", floor="floor_grass", halo="halo_grass"}, } local tile = tileset[dgn.get_floor_colour()] if (tile == nil) then tile = default end dgn.change_floor_tile(tile.floor) dgn.change_rock_tile(tile.rock) dgn.floor_halo("enter_shop", "yellow", tile.halo) end dgn.set_lt_callback("bazaar", "fixup_bazaar") }} default-depth: 10-27 ############################################################################### # Dummy entry NAME: bzr_entry_dummy TAGS: bzr_entry transparent trowel_portal allow_dup MARKER: O = lua:bazaar_portal() MAP O ENDMAP ############################################################################### # A simple water entry. NAME: bzr_entry_001 TAGS: bzr_entry no_pool_fixup allow_dup 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 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 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 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 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 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 entry with statue (Lemuel) NAME: statue_bzr TAGS: bzr_entry SUBST: G = G111 MONS: orange crystal statue / silver statue / ice statue MARKER: O = lua:bazaar_portal() MAP @ cGc cOc ccc ENDMAP ######################################### # Freezing bazaar (Lemuel) NAME: freezing_bzr TAGS: bzr_entry MARKER: W = lua:fog_machine { cloud_type = "freezing vapour", \ pow_min = 1, pow_max = 5, delay_min = 20, delay_max = 30, \ size = 1, walk_dist = 3, spread_rate= 20 } MARKER: O = lua:bazaar_portal() MAP W www WwOwW www W ENDMAP ######################################### # Bazaar in the mist (Lemuel) NAME: bzr_in_the_mist TAGS: bzr_entry MARKER: O = lua:fog_machine { cloud_type= "thin mist", \ pow_min = 6, pow_max = 12, delay_min = 15, delay_max = 35, \ size = 2, walk_dist = 2, spread_rate= 35 } MARKER: O = lua:bazaar_portal() MAP O ENDMAP ######################################### # Firewalk (Lemuel) NAME: bzr_firewalk TAGS: bzr_entry uniq_firewalk no_item_gen SUBST: $ : $ . MARKER: * = lua:fog_machine { cloud_type = "flame", \ pow_min = 2, pow_max = 4, delay_min = 5, delay_max = 10, \ size = 1, walk_dist = 0, spread_rate= 0 } SUBST: * = . MARKER: O = lua:bazaar_portal() MAP c.@.$.@.c c.*...*.c c...$...c c.......c c.*.$.*.c c.......c c...$...c c.*...*.c c...O...c ccccccccc 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 # LROCKCOL and LFLOORCOL directives. # ######################################## # General marketplace # 4 random shops NAME: bazaar_general_marketplace TAGS: bazaar allow_dup no_rotate ORIENT: encompass WEIGHT: 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 WEIGHT: 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, some items. NAME: bazaar_mystics TAGS: bazaar allow_dup WEIGHT: 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() : lfloorcol(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() : lfloorcol(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() : lfloorcol(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 xxx.....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() : lfloorcol(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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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() : lfloorcol(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 WEIGHT: 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 WEIGHT: 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() : lfloorcol(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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 WEIGHT: 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 ############################################# # butterfly bazaar (due) # ~3.75 shops NAME: bazaar_due_butterfly TAGS: bazaar allow_dup no_rotate ORIENT: encompass SHUFFLE: AEST NSUBST: A = 1:A / 1:B / 1:C / 1:D SUBST: E=>, S=T, T:TUV, D=ABC. KFEAT: A = armour shop / weapon shop / wand shop KFEAT: B = general shop / food shop KFEAT: C = scroll shop / book shop / distillery shop SHUFFLE: '" SUBST: '=+, "== : bazaar_message(_G) MAP xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xE..xxxxxxx...xx.......xx...xxxxxxx..Ex xxx...xxxxx.T.''...A...''.T.xxxxx...xxx xxxxx.+...+...xx.......xx...+...+.xxxxx xxxxxxx...xxxxxxxxx+xxxxxxxxx...xxxxxxx xxxxxxxxx.".xxxxxxx.xxxxxxx.".xxxxxxxxx xxxxxxxxxxx....xxxx.xxxxx...xxxxxxxxxxx x...xx.S.xxxxx.."xx+xx"...xxx.S.xx...xx x...xx...xxxxxxxx.....xxxxxxx...xx...xx x...xxx+xxxxxxxxx.....xxxxxxxx+xxx...xx x.A.+...........+..<..+..........+.A.xx x...xxx+xxxxxxxxx.....xxxxxxxx+xxx...xx x...xx...xxxxxxxx.....xxxxxxx...xx...xx x...xx.S.xxxx..."xx+xx"...xxx.S.xx...xx xxxxxxxxxxx...xxxxx.xxxxx...xxxxxxxxxxx xxxxxxxxx...xxxxxxx.xxxxxxx...xxxxxxxxx xxxxxxx.".xxxxxxxxx+xxxxxxxxx.".xxxxxxx xxxxx...xxx...xx.......xx...xxx...xxxxx xxx.+.....+.T.''...A...''.T.+.....+.xxx xE..xxxxxxx...xx.......xx...xxxxxxx..Ex xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP