summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dat/rooms.des
blob: 1c95a9d8d9324f2b84c81180aad64fe0f0f8b072 (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
lua {{

function fill_special_room(mon)
    local level, tl_x, tl_y, br_x, br_y = dgn.get_special_room_info()

    -- Return early if we're being called during map validation.
    if not level then
        return
    end

    crawl.mpr("mon = " .. mon .. ", level = " .. level)

    for x = tl_x, br_x do
        for y = tl_y, br_y do
            dgn.create_monster(x, y, mon)
        end
    end
return
end

}}

##########################

NAME:   special_room_kobold
DEPTH:  6-14, !Lair, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 11
: fill_special_room("kobold")
MAP
ENDMAP

NAME:   special_room_orc_a
DEPTH:  8-14, !Lair, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 59
: fill_special_room("orc")
MAP
ENDMAP

NAME:   special_room_bee_a
DEPTH:  8-14, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 30
: fill_special_room("killer bee")
MAP
ENDMAP
################################
NAME:   special_room_orc_b
DEPTH:  15-16, !Lair, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 50
: fill_special_room("orc")
MAP
ENDMAP

NAME:   special_room_bee_b
DEPTH:  15-16, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 25
: fill_special_room("killer bee")
MAP
ENDMAP

NAME:   special_room_morgue_b
DEPTH:  15-16, !Lair
TAGS:   special_room allow_dup
WEIGHT: 25
: fill_special_room("rat zombie")
MAP
ENDMAP
#################################
NAME:   special_room_orc_c
DEPTH:  17, !Lair, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 40
: fill_special_room("orc")
MAP
ENDMAP

NAME:   special_room_bee_c
DEPTH:  17, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 25
: fill_special_room("killer bee")
MAP
ENDMAP

NAME:   special_room_morgue_c
DEPTH:  17, !Lair
TAGS:   special_room allow_dup
WEIGHT: 27
: fill_special_room("rat zombie")
MAP
ENDMAP

NAME:   special_room_jelly_c
DEPTH:  17, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 9
: fill_special_room("jelly")
MAP
ENDMAP
#################################
NAME:   special_room_orc_d
DEPTH:  18-20, !Lair, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 25
: fill_special_room("orc")
MAP
ENDMAP

NAME:   special_room_bee_d
DEPTH:  18-20, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 33
: fill_special_room("killer bee")
MAP
ENDMAP

NAME:   special_room_morgue_d
DEPTH:  18-20, !Lair
TAGS:   special_room allow_dup
WEIGHT: 29
: fill_special_room("rat zombie")
MAP
ENDMAP

NAME:   special_room_jelly_d
DEPTH:  18-20, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 13
: fill_special_room("jelly")
MAP
ENDMAP
#################################
NAME:   special_room_orc_e
DEPTH:  21-, !Lair, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 15
: fill_special_room("orc")
MAP
ENDMAP

NAME:   special_room_bee_e
DEPTH:  21-, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 8
: fill_special_room("killer bee")
MAP
ENDMAP

NAME:   special_room_morgue_e
DEPTH:  21-, !Lair
TAGS:   special_room allow_dup
WEIGHT: 32
: fill_special_room("rat zombie")
MAP
ENDMAP

NAME:   special_room_jelly_e
DEPTH:  21-, !Crypt
TAGS:   special_room allow_dup
WEIGHT: 45
: fill_special_room("jelly")
MAP
ENDMAP

#########################################################################
#########################################################################

# 0.4 crawl C code for randomly determining which special room type to
# use

#    if (level_number < 7)
#        spec_room_type = SROOM_LAIR_KOBOLD;
#    else
#    {
#        spec_room_type = random2(NUM_SPECIAL_ROOMS);
#
#        if (level_number < 23 && one_chance_in(4))
#            spec_room_type = SROOM_BEEHIVE;
#
#        // Replace overly dangerous special rooms with a room full of orcs.
#        if (level_number > 13 && spec_room_type == SROOM_LAIR_KOBOLD
#            || level_number < 16 && spec_room_type == SROOM_MORGUE
#            || level_number < 14 && spec_room_type == SROOM_JELLY_PIT
#            || level_number < 17 && one_chance_in(4))
#        {
#            spec_room_type = SROOM_LAIR_ORC;
#        }
#
#        if (level_number > 19 && coinflip())
#            spec_room_type = SROOM_MORGUE;
#
#        if (level_number > 13 &&
#            one_chance_in(6 - (level_number > 23) - (level_number > 18)))
#        {
#            spec_room_type = SROOM_JELLY_PIT;
#        }
#    }
#

####################################

# 0.4 crawl percentages for each room type generated per level (for 10,000
# randomly generated vaults per level)

#  |   K   |    O   |    B   |    M   |    J   |
#-----------------------------------------------
# 0|  0.00 |   0.00 |   0.00 |   0.00 |   0.00 |
# 1|  0.00 |   0.00 |   0.00 |   0.00 |   0.00 |
# 2|  0.00 |   0.00 |   0.00 |   0.00 |   0.00 |
# 3|  0.00 |   0.00 |   0.00 |   0.00 |   0.00 |
# 4|  0.00 |   0.00 |   0.00 |   0.00 |   0.00 |
# 5|  0.00 |   0.00 |   0.00 |   0.00 |   0.00 |
# 6|100.00 |   0.00 |   0.00 |   0.00 |   0.00 |
# 7| 11.39 |  59.25 |  29.36 |   0.00 |   0.00 |
# 8| 11.07 |  58.43 |  30.50 |   0.00 |   0.00 |
# 9| 11.23 |  57.98 |  30.79 |   0.00 |   0.00 |
#10| 11.46 |  58.39 |  30.15 |   0.00 |   0.00 |
#11| 11.30 |  58.78 |  29.92 |   0.00 |   0.00 |
#12| 11.21 |  58.65 |  30.14 |   0.00 |   0.00 |
#13| 10.92 |  58.96 |  30.12 |   0.00 |   0.00 |
#14|  0.00 |  49.58 |  24.99 |  25.43 |   0.00 |
#15|  0.00 |  49.74 |  24.56 |  25.70 |   0.00 |
#16|  0.00 |  39.51 |  24.77 |  27.04 |   8.68 |
#17|  0.00 |  24.23 |  33.07 |  29.57 |  13.13 |
#18|  0.00 |  25.31 |  32.99 |  29.06 |  12.64 |
#19|  0.00 |  24.52 |  32.53 |  31.09 |  11.86 |
#20|  0.00 |  11.63 |  15.84 |  25.52 |  47.01 |
#21|  0.00 |  12.06 |  17.33 |  25.60 |  45.01 |
#22|  0.00 |  12.12 |  15.97 |  25.50 |  46.41 |
#23|  0.00 |  14.94 |   8.64 |  27.63 |  48.79 |
#24|  0.00 |  15.20 |   7.29 |  32.14 |  45.37 |
#25|  0.00 |  14.82 |   7.88 |  33.04 |  44.26 |
#26|  0.00 |  14.99 |   7.91 |  31.94 |  45.16 |
#27|  0.00 |  14.96 |   7.28 |  32.06 |  45.70 |
#28|  0.00 |  15.12 |   7.88 |  32.11 |  44.89 |
#29|  0.00 |  15.48 |   7.40 |  33.17 |  43.95 |
#30|  0.00 |  15.08 |   7.84 |  31.97 |  45.11 |