summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/lab.des
blob: 860a3c91fd841fc53d395493239d2a825b7b9b7a (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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
###############################################################################
# lab.des: minivaults particular to labyrinths.
#          There are two types: labyrinth exits (tagged by 'minotaur') and
#                                flavour vaults (tagged by 'lab').
###############################################################################


#############################################################################
# Labyrinth entry vaults

NAME:   lab_entry_generic
TAGS:   lab_entry transparent trowel_portal allow_dup
DEPTH:  12-26
ORIENT: float
: messager = bell_clock_msg { initmsg="You hear a distant snort." }
MARKER: O = lua: timed_marker {  \
                 low=400, high=600, msg=messager \
            }
MAP
O
ENDMAP


#############################################################################
# Labyrinth exit minivaults
#############################################################################
# These are generated by the TAG: minotaur.
# You *must* place the minotaur(s) yourself!
# There must be an exit (<), leading back to the dungeon.
#
# You can use the "generate_loot" tag to indicate that you're not explicitly
# placing the loot and that the dungeon builder should generate random loot
# (on the upstair). Note that this is not the default, and if you neither use
# this tag nor provide loot in the map definition, the player will be
# disappointed.
#
# One layer of floor space *must* surround the minivault, or the player could
# be trapped in the labyrinth (the dummy is exempt from this requirement).
#############################################################################

#############################################################################
# Dummy balancer
NAME: labyrinth_0
TAGS: minotaur dummy
CHANCE: 20
MAP
x
ENDMAP

#############################################################################
# Watery exit 
NAME: labyrinth_watery
TAGS: minotaur generate_loot no_pool_fixup allow_dup
MONS: minotaur
SHUFFLE: def
SUBST: d=~, e=~, f=.
MAP
.........
.ccccccc.
.cwwwwwc.
.cww<wwc.
.cwdefwc.
.ccc1ccc.
.c.....c.
.ccc+ccc.
.........
ENDMAP

#############################################################################
# Green exit
NAME: labyrinth_green
TAGS: minotaur generate_loot allow_dup
MONS: minotaur
MAP
........
.bbbbbb.
.=..1<b.
.bbbbbb.
........
ENDMAP

#############################################################################
# Spiral exit
NAME: labyrinth_spiral
TAGS: minotaur generate_loot allow_dup
MONS: minotaur
SUBST: c : cvz, z = vc
MAP
............
.cccccccccc.
.c........c.
.c.cccccc.c.
.c.c<1..c.c.
.c.cccc.c.c.
.c......c.c.
.cccccccc.c.
..........c.
.cccccccccc.
............
ENDMAP

#############################################################################
# Hidden exit, and trapped loot
NAME: labyrinth_hidden_loot
TAGS: minotaur generate_loot allow_dup
MONS: minotaur
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
............
.cccccccccc.
.cxxxxdxxxc.
.cxxxx=xxxc.
.cxx..U.xxc.
.ce=U.1.xxc.
.cxx...U=fc.
.cxx.<..xxc.
.cxxxx+xxxc.
.cxxxx.xxxc.
.ccccc+cccc.
............
ENDMAP

#############################################################################
# Mini labyrinth exit
NAME: labyrinth_mini_lab
TAGS: minotaur generate_loot allow_dup
MONS: minotaur
SHUFFLE: def, gh, ij, klm
SUBST: d = c, e = ., f = c.
SUBST: g = c, h = .
SUBST: k = <, l = ., m = ., i = ., j = .
KMONS: < = minotaur

validate {{ return has_exit_from_glyph('<') }}

MAP
...............
.ccccccccccccc.
.cmekjl......c.
.c.c.chcccccgc.
.c.c.....i...c.
.c.ccccc.c.cfc.
.c.....c.c.c.c.
.ccicc.c.c.c.c.
.c...c.c.c.c.c.
.c.c.c.c.c.c.c.
.c.c.c.c.c.c.c.
.c.c.c.c.c.c.c.
.c.c.d.g.j.c.c.
.cdcccecccccfc.
...............
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.
..................
ENDMAP

#############################################################################
# Trapped exits - this is evil!
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
CHANCE: 1
MAP
............
.ccccccccccc.
.g..ddD+.ccc.
.c.ccccc.ccc.
.h..eeE+.1<c.
.c.ccccc.ccc.
.i..ffF+.ccc.
.ccccccccccc.
............
ENDMAP

#############################################################################
# Another trapped exit - most evil again! 
NAME: labyrinth_trapped_2
TAGS: lab allow_dup
MONS: minotaur
ITEM: potion of porridge
SHUFFLE: xX / yY / zZ
SHUFFLE: GH, LM, fghijklmn, FHIJKLN
KFEAT: f = teleport trap
KFEAT: n = teleport trap
KFEAT: F = teleport trap
KFEAT: N = teleport trap
SUBST: g=., h=., i=., j=., k=., l=., n=.
SUBST: G=., H=., I=., J=., K=., L=., N=.
SUBST: x=<, y=., z=.
KITEM: X = 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
SUBST: Y=*, Z=*
CHANCE: 2
MAP
............
.vvvvvvvvvvv.
.vvxvvyvvzvv
.vvXvvYvvZvv.
.vv1vv1vv1vv.
.vv+vv+vv+vv.
.vFGHIJKLMNv.
.vfghijklmnv.
.v...d.d...v.
.vvvvv+vvvvv.
............
ENDMAP
# The heart stopper

#############################################################################
# Labyrinth flavour minivaults
#############################################################################
# One layer of floor space *must* surround the minivault, or the player could
# be trapped in the labyrinth (the dummy is exempt from this requirement).
#
# These minivaults can be placed anywhere onto the labyrinth, making for 
# easier navigation (as the number of connections increases) but can also add
# to confusion or despair (use teleportation very sparingly, and abstain from
# unthematic monster sets).
#############################################################################

############################################################################
# Labyrinth dummy decorator
NAME: lab_dummy
TAGS: lab dummy
CHANCE: 90
MAP
x
ENDMAP

############################################################################
# Labyrinth furniture
NAME: lab_block
TAGS: lab allow_dup
MAP
.....
.xxx.
.xxx.
.xxx.
.....
ENDMAP

############################################################################
# Labyrinth furniture II
NAME: lab_fountain
TAGS: lab allow_dup
MAP
.......
..b.b..
.bb.bb.
...F...
.bb.bb.
..b.b..
.......
ENDMAP

############################################################################
# Labyrinth hedge
NAME: lab_hedge
TAGS: lab allow_dup
SHUFFLE: 1l
MONS: plant
MAP
.......
.11111.
.1ccc1.
..1c1..
..1c1..
..1c1..
.1ccc1.
.11111.
.......
ENDMAP

############################################################################
# Teaser: inaccessible loot
NAME: labyrinth_statues
TAGS: lab allow_dup
MAP
......
.GGGG.
.G||G.
.G||G.
.GGGG.
......
ENDMAP

############################################################################
# The other minotaur's lava lair
NAME: labyrinth_lava_lair
TAGS: lab allow_dup
MONS: minotaur zombie
MAP
.......
.lllll.
.l***l.
.l*1*l.
.l***l.
.lllll.
.......
ENDMAP

############################################################################
# Baited teleport trap - this is evil!
NAME: labyrinth_baited_teleportation_trap
TAGS: lab allow_dup
SHUFFLE: XY / !! / !! / !!
SUBST: !=x
SUBST: X==
KFEAT: Y = teleport trap
KITEM: Y = any good_item
MAP
.....
.xXx.
.XYX.
.xXx.
.....
ENDMAP

############################################################################
# Teaser: fake exit
NAME: labyrinth_fake_exit
TAGS: lab allow_dup
KFEAT: X = enter_abyss
MAP
........
.vvvvvv.
.v...Xv.
.v.vvvv
.v....v.
.vvvv+v.
........
ENDMAP
# Disheartened?