summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/bazaar.des
blob: fc76a227485b5c70b46c342398839320004ca0b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
###############################################################################
# bazaar.des - Bazaar entry vaults and bazaar layouts.
###############################################################################

###############################################################################
# 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' }
              }
  else
    return one_way_stair { desc = 'gateway to a bazaar',
                           dst = 'bazaar' }
  end
end

function bazaar_message(e)
  e.welcome("You enter an inter-dimensional bazaar!")
end

}}

default-depth: D:10-27

###############################################################################
# Dummy entry

NAME: bzr_entry_dummy
TAGS: bzr_entry transparent
ORIENT: float
MARKER: O = lua:bazaar_portal()
MAP
O
ENDMAP

###############################################################################
# A simple water entry.
NAME: bzr_entry_001
TAGS: bzr_entry no_pool_fixup
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 
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 
ORIENT:  float
MONS:    human, orc, goblin, kobold
SUBST:   . = .:210 1
SHUFFLE: 1234
MARKER: O = lua:bazaar_portal()
MAP
 .....
.......
...O...
.......
 .....
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.

NAME:   bazaar_general_marketplace
TAGS:   bazaar
ORIENT: encompass
KFEAT:  A = any shop
CHANCE: 30
: bazaar_message(_G)
MAP
xxxxxxxxx
xxxx>xxxx
xxx...xxx
xx..A..xx
x<.A.A.>x
xx..A..xx
xxx...xxx
xxxx>xxxx
xxxxxxxxx
ENDMAP

NAME:    bazaar_outfitter
TAGS:    bazaar
ORIENT:  encompass
KFEAT:   A = any shop
SHUFFLE: ABC, de, xcv
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
xxxx<xxxx     
xxxxxxxxx
ENDMAP

NAME:    bazaar_mystics
TAGS:    bazaar 
ORIENT:  encompass
SHUFFLE: AB, def, xw/vl
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:   w:w.l, x:b, c:., v=bl, d=.d, e=.e, f=.f
: bazaar_message(_G)
MAP
xxxxxxxxxxxxx
xxxxxxxwwwxxx
xxxwwx....Axx
x<...+.def.>x
xxxwwx....Bxx
xxxxxxxwwwxxx
xxxxxxxxxxxxx
ENDMAP

NAME:    bazaar_wands
TAGS:    bazaar 
ORIENT:  encompass
KFEAT:   A = wand shop
ITEM:    any wand
: bazaar_message(_G)
MAP
xxxxxxxxxxx
xx...>...xx
x..A...A..x
x.........x
xllll.llllx
x....>....x
x..d...d..x
xx...<...xx
xxxxxxxxxxx
ENDMAP