From f041f603574aa87804c80067da8dce67d9927b9f Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 28 Oct 2007 14:31:57 +0000 Subject: Changed vaults (dploog). git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2639 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/dat/bazaar.des | 141 ++++++++++++++++++++++------------------ 1 file changed, 78 insertions(+), 63 deletions(-) (limited to 'crawl-ref/source/dat/bazaar.des') diff --git a/crawl-ref/source/dat/bazaar.des b/crawl-ref/source/dat/bazaar.des index 7fdc5a86f1..deb057bff8 100644 --- a/crawl-ref/source/dat/bazaar.des +++ b/crawl-ref/source/dat/bazaar.des @@ -5,6 +5,11 @@ ############################################################################### # Bazaar entries +# What is still missing: +# The timer should be more generous for lower levels. +# Bazaars would also make sense outside of the dungeon (at least in the Vaults, +# Orc, and Elf). + # Utility functions lua {{ @@ -28,32 +33,6 @@ function bazaar_message(e) e.welcome("You enter an inter-dimensional bazaar!") 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 -end - -dgn.set_lt_callback("bazaar", "fixup_bazaar") }} default-depth: D:10-27 @@ -135,7 +114,7 @@ ENDMAP NAME: bzr_entry_005 TAGS: bzr_entry allow_dup ORIENT: float -SHUFFLE: wlW +SHUFFLE: wwlW MARKER: O = lua:bazaar_portal() MAP wwwww @@ -195,10 +174,7 @@ ENDMAP # 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. -# + NAME: bazaar_general_marketplace TAGS: bazaar allow_dup FLAGS: no_rotate @@ -277,12 +253,10 @@ 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 +: if you.bazaar_floor() == "red" then SUBST: l = w : else -: if colour == "blue" then +: if you.bazaar_floor() == "blue" then SUBST: w = l : end : end @@ -310,12 +284,10 @@ KFEAT: B = distillery shop 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 +: if you.bazaar_floor() == "red" then SUBST: l = w : else -: if colour == "blue" then +: if you.bazaar_floor() == "blue" then SUBST: w = l : end : end @@ -345,33 +317,32 @@ x...x....................x...x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP +######################################## +# bazaars in a row +# NAME: bazaar_row TAGS: bazaar allow_dup FLAGS: 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: a=T, b=T, c=T, d=T, e=T, f=T -SUBST: z=V, y=V, r=V, s=V +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 -KFEAT: Y = stone_arch -KFEAT: R = stone_arch -KFEAT: S = 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 +: if you.bazaar_floor() == "red" then +SUBST: l : wWx : else -: if colour == "blue" then -SUBST: w = l +: if you.bazaar_floor() == "blue" then +SUBST: w : Wx : end : end # @@ -389,6 +360,51 @@ xxxxxxxxxxxxxxxxBxxxxxxxxxxxDxxxxxxxxxxxFxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP +######################################## +# 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 +# + NAME: bazaar_circle_1 CHANCE: 2 TAGS: bazaar allow_dup @@ -592,7 +608,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ENDMAP NAME: bazaar_circle_6 -CHANCE: 3 +CHANCE: 1 TAGS: bazaar allow_dup FLAGS: no_rotate ORIENT: encompass @@ -689,10 +705,8 @@ 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 +# special case for floor +: if you.bazaar_floor() == "blue" then SUBST: w = W : end # @@ -815,12 +829,10 @@ 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 +: if you.bazaar_floor() == "red" then SUBST: l = w : else -: if colour == "blue" then +: if you.bazaar_floor() == "blue" then SUBST: w = l : end : end @@ -952,7 +964,7 @@ xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx -xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxx=xxxxx +xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx x.........xxxxxxxxx.........xxxxxxxxx.........x x....A....z.......z....A....z.......z....A....x @@ -964,7 +976,7 @@ xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxxxxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx -x....B....z.......=....A....z.......z....A....x +x....B....z.......z....A....z.......z....A....x x.........xxxxxxxxx.........xxxxxxxxx.........x xk.......kxxxxxxxxxk.......kxxxxxxxxxk.......kx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx @@ -991,13 +1003,13 @@ xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx -xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxx=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 -xxxxx=xxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx +xxxxxzxxxxxxxxxxxxxxxxxzxxxxxxxxxxxxxxxxxzxxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx xxxxx.xxxxxxxxxxxxxxxxx.xxxxxxxxxxxxxxxxx.xxxxx @@ -1053,6 +1065,7 @@ ENDMAP NAME: bazaar_triangles TAGS: bazaar allow_dup ORIENT: encompass +CHANCE: 1 FLAGS: no_rotate SHUFFLE: ACD SUBST: A = < @@ -1075,6 +1088,7 @@ ENDMAP NAME: bazaar_hexagon TAGS: bazaar allow_dup ORIENT: encompass +CHANCE: 4 FLAGS: no_rotate SHUFFLE: AC, BD KFEAT: A = armour shop / weapon shop / wand shop @@ -1106,6 +1120,7 @@ NAME: bazaar_triangle_bulge TAGS: bazaar allow_dup ORIENT: encompass FLAGS: no_rotate +CHANCE: 5 SHUFFLE: ABC SUBST: A = <, B = > KFEAT: C = any shop -- cgit v1.2.3-54-g00ecf