Mercurial > hg > early-roguelike
comparison urogue/monsdata.c @ 256:c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
author | John "Elwin" Edwards |
---|---|
date | Tue, 31 Jan 2017 19:56:04 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
253:d9badb9c0179 | 256:c495a4f288c6 |
---|---|
1 /* | |
2 monsdata.c - monster data initializer | |
3 | |
4 UltraRogue: The Ultimate Adventure in the Dungeons of Doom | |
5 Copyright (C) 1985, 1986, 1992, 1993, 1995 Herb Chong | |
6 All rights reserved. | |
7 | |
8 Based on "Advanced Rogue" | |
9 Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka | |
10 All rights reserved. | |
11 | |
12 Based on "Rogue: Exploring the Dungeons of Doom" | |
13 Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman | |
14 All rights reserved. | |
15 | |
16 See the file LICENSE.TXT for full copyright and licensing information. | |
17 */ | |
18 | |
19 #include "rogue.h" | |
20 | |
21 #define HPT(x) x | |
22 | |
23 /* {"Name", | |
24 CARRY_PROB, NORMAL, WANDER, SYMBOL, INTELLIGENCE, | |
25 {ATTRIBUTE_FLAGS}, | |
26 CREATURE_SUMMONED, NUMBER_SUMMONED, | |
27 ADDED_EXPERIENCE_PER_HIT_POINT, | |
28 {str, exp_pts, exp_level, armor_class, hit_points, | |
29 "damage"} | |
30 }, | |
31 */ | |
32 | |
33 struct monster monsters[] = | |
34 { | |
35 {"the player", | |
36 0, FALSE, FALSE, '\0', "", | |
37 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | |
38 0, 0, | |
39 0, | |
40 {10, 0, 0, 0, HPT(""), ""} | |
41 }, | |
42 {"bat", | |
43 0, TRUE, FALSE, 'B', "2-4", | |
44 {ISMEAN, CANFLY, ISHUH, CANDISEASE, ISFLOCK, ISSMALL}, | |
45 0, 0, | |
46 0, | |
47 {10, 5, 2, 1, HPT("1d4"), "1d2"} | |
48 }, | |
49 {"xvart", | |
50 0, TRUE, TRUE, 'x', "8-12", | |
51 {ISMEAN, ISSWARM, ISSMALL, CANWIELD}, | |
52 0, 0, | |
53 1, | |
54 {8, 5, 1, 7, HPT("1d4"), "1d4+1"} | |
55 }, | |
56 {"giant rat", | |
57 0, TRUE, TRUE, 'R', "2-4", | |
58 {ISMEAN, CANDISEASE, ISFLOCK, ISSMALL}, | |
59 0, 0, | |
60 1, | |
61 {10, 7, 1, 7, HPT("1d4"), "1d3"} | |
62 }, | |
63 {"jackal", | |
64 0, TRUE, TRUE, 'J', "2-5", | |
65 {ISMEAN, ISSMALL}, | |
66 0, 0, | |
67 1, | |
68 {8, 5, 1, 7, HPT("1d4"), "1d2"} | |
69 }, | |
70 {"snake", | |
71 0, TRUE, FALSE, 'S', "2-5", | |
72 {ISMEAN, ISSMALL}, | |
73 0, 0, | |
74 1, | |
75 {8, 5, 1, 5, HPT("1d4"), "1d3"} | |
76 }, | |
77 {"kobold", | |
78 0, TRUE, TRUE, 'K', "8-8", | |
79 {ISMEAN, CANSHOOT, CANWIELD, ISSWARM, ISSMALL}, | |
80 0, 0, | |
81 1, | |
82 {9, 5, 1, 7, HPT("1d4"), "1d4"} | |
83 }, | |
84 {"vilstrak", | |
85 5, TRUE, FALSE, 'V', "5-8", | |
86 {ISMEAN, CANINWALL}, | |
87 0, 0, | |
88 1, | |
89 {10, 7, 1, 2, HPT("1d6"), "1d4+1/1d4+1"} | |
90 }, | |
91 {"gnome", | |
92 10, TRUE, TRUE, 'G', "11-12", | |
93 {CANSHOOT, CANWIELD, ISSWARM, ISSMALL, MEDFRIENDLY}, | |
94 0, 0, | |
95 1, | |
96 {10, 8, 1, 5, HPT("1d6"), "1d6"} | |
97 }, | |
98 {"halfling", | |
99 10, TRUE, TRUE, 'H', "11-12", | |
100 {CANSHOOT, CANWIELD, ISSWARM, ISSMALL, HIGHFRIENDLY}, | |
101 0, 0, | |
102 1, | |
103 {8, 9, 1, 4, HPT("1d6"), "1d6"} | |
104 }, | |
105 {"dwarf", | |
106 15, TRUE, TRUE, 'D', "11-12", | |
107 {CANSHOOT, CANWIELD, ISSMALL, ISSWARM, MEDFRIENDLY}, | |
108 0, 0, | |
109 1, | |
110 {14, 10, 1, 4, HPT("1d8"), "1d8"} | |
111 }, | |
112 {"orc", | |
113 15, TRUE, TRUE, 'O', "8-8", | |
114 {ISMEAN, CANSHOOT, CANWIELD, ISSWARM}, | |
115 0, 0, | |
116 1, | |
117 {12, 10, 1, 6, HPT("1d8"), "1d8"} | |
118 }, | |
119 {"larva", | |
120 0, TRUE, TRUE, 'l', "5-8", | |
121 {ISMEAN, ISFLOCK}, | |
122 0, 0, | |
123 1, | |
124 {6, 10, 1, 7, HPT("1d8"), "1d4+1"} | |
125 }, | |
126 {"skeleton", | |
127 0, TRUE, TRUE, 's', "0-0", | |
128 {ISMEAN, ISSWARM, ISUNDEAD}, | |
129 0, 0, | |
130 1, | |
131 {6, 14, 1, 7, HPT("1d8"), "1d6"} | |
132 }, | |
133 {"carrion crawler", | |
134 0, TRUE, TRUE, 'c', "2-4", | |
135 {ISMEAN, CANPARALYZE, ISLARGE}, | |
136 0, 0, | |
137 1, | |
138 {8, 20, 1, 7, HPT("1d8+1"), "1d2"} | |
139 }, | |
140 {"manes", | |
141 0, TRUE, TRUE, 'M', "2-4", | |
142 {ISMEAN, MAGICHIT, ISUNDEAD, ISSMALL}, | |
143 0, 0, | |
144 1, | |
145 {10, 18, 1, 7, HPT("1d8"), "1d2/1d2/1d4"} | |
146 }, | |
147 {"elf", | |
148 50, TRUE, TRUE, 'E', "13-20", | |
149 {CANSHOOT, CANWIELD, CANBARGAIN, ISSWARM, HIGHFRIENDLY}, | |
150 0, 0, | |
151 2, | |
152 {12, 20, 1, 5, HPT("1d8+1"), "1d10"} | |
153 }, | |
154 {"hobgoblin", | |
155 0, TRUE, TRUE, 'H', "8-10", | |
156 {ISMEAN, CANSHOOT, CANWIELD, ISSWARM}, | |
157 0, 0, | |
158 2, | |
159 {14, 20, 1, 5, HPT("1d8+1"), "1d8"} | |
160 }, | |
161 {"wild dog", | |
162 0, TRUE, TRUE, 'w', "2-5", | |
163 {ISMEAN, ISFAST, ISSMALL, ISFLOCK}, | |
164 0, 0, | |
165 2, | |
166 {10, 20, 1, 7, HPT("1d8+1"), "1d4"} | |
167 }, | |
168 {"baboon", | |
169 0, TRUE, TRUE, 'b', "4-7", | |
170 {ISMEAN, ISSMALL, ISSWARM}, | |
171 0, 0, | |
172 2, | |
173 {10, 20, 1, 7, HPT("1d8+1"), "1d4"} | |
174 }, | |
175 {"fire beetle", | |
176 0, TRUE, TRUE, 'B', "0-0", | |
177 {ISMEAN, HASFIRE, ISFLOCK, ISSMALL}, | |
178 0, 0, | |
179 2, | |
180 {10, 20, 1, 4, HPT("1d8+2"), "2d4"} | |
181 }, | |
182 {"badger", | |
183 0, TRUE, TRUE, 'k', "4-6", | |
184 {CANSURPRISE, ISSMALL}, | |
185 0, 0, | |
186 3, | |
187 {10, 30, 2, 4, HPT("1d8+2"), "2d2/1d3"} | |
188 }, | |
189 {"giant ant", | |
190 0, TRUE, TRUE, 'A', "1-1", | |
191 {ISMEAN, CANPOISON, ISSMALL, ISSWARM}, | |
192 0, 0, | |
193 3, | |
194 {10, 40, 2, 3, HPT("2d8"), "1d6"} | |
195 }, | |
196 {"war dog", | |
197 0, TRUE, TRUE, 'D', "3-5", | |
198 {ISMEAN, ISFAST}, | |
199 0, 0, | |
200 3, | |
201 {10, 35, 2, 6, HPT("2d8+2"), "2d4"} | |
202 }, | |
203 {"zombie", | |
204 0, TRUE, TRUE, 'Z', "0-0", | |
205 {ISMEAN, ISUNDEAD, ISFLOCK}, | |
206 0, 0, | |
207 2, | |
208 {10, 20, 2, 8, HPT("2d8"), "1d8"} | |
209 }, | |
210 {"wuccubi", | |
211 0, TRUE, TRUE, 'w', "0-0", | |
212 {ISMEAN}, | |
213 0, 0, | |
214 2, | |
215 {10, 20, 2, 8, HPT("2d8"), "1d4/1d10"} | |
216 }, | |
217 {"aarakocra", | |
218 5, TRUE, TRUE, 'a', "8-12", | |
219 {CANFLY, CANWIELD, ISFLOCK, LOWFRIENDLY}, | |
220 0, 0, | |
221 2, | |
222 {11, 28, 2, 7, "1d8+2", "1d3/1d3"} | |
223 }, | |
224 {"gnoll", | |
225 0, TRUE, TRUE, 'g', "7-11", | |
226 {ISMEAN, CANWIELD, CANSHOOT, ISLARGE, ISSWARM}, | |
227 0, 0, | |
228 2, | |
229 {10, 28, 2, 5, HPT("2d8"), "2d4"} | |
230 }, | |
231 {"warthog", | |
232 0, TRUE, TRUE, 'w', "3-5", | |
233 {ISMEAN}, | |
234 0, 0, | |
235 3, | |
236 {14, 35, 2, 7, HPT("3d8"), "2d8/2d8"} | |
237 }, | |
238 {"black bear", | |
239 0, TRUE, FALSE, 'U', "5-8", | |
240 {CANHUG}, | |
241 0, 0, | |
242 3, | |
243 {10, 30, 3, 7, HPT("2d8+3"), "2d3"} | |
244 }, | |
245 {"ear seeker", | |
246 0, TRUE, TRUE, 'e', "0-0", | |
247 {ISMEAN, CANINFEST, ISSMALL}, | |
248 0, 0, | |
249 0, | |
250 {10, 0, 1, 9, HPT("1d1"), "0d0"} | |
251 }, | |
252 {"floating eye", | |
253 0, TRUE, TRUE, 'E', "0-0", | |
254 {CANHUH, ISSMALL}, | |
255 0, 0, | |
256 1, | |
257 {7, 30, 1, 9, HPT("1d4"), "0d0"} | |
258 }, | |
259 {"brownie", | |
260 0, TRUE, TRUE, 'B', "12-15", | |
261 {LOWCAST, CANSHOOT, CANWIELD, CANSURPRISE, STEALGOLD, CANBARGAIN, ISSMALL, ISFLOCK, HIGHFRIENDLY}, | |
262 0, 0, | |
263 0, | |
264 {6, 31, 10, 3, HPT("1d4"), "1d3"} | |
265 }, | |
266 {"shrieker", | |
267 0, TRUE, FALSE, 'S', "0-0", | |
268 {CANSHRIEK, NOMOVE, ISFLOCK}, | |
269 0, 0, | |
270 1, | |
271 {10, 5, 3, 7, HPT("3d8"), "0d0"} | |
272 }, | |
273 {"gas spore", | |
274 0, TRUE, FALSE, 'g', "0-0", | |
275 {CANSPORE, NOMOVE, ISLARGE}, | |
276 0, 0, | |
277 0, | |
278 {8, 33, 2, 9, HPT("1d1"), "0d0"} | |
279 }, | |
280 {"hyena", | |
281 0, TRUE, TRUE, 'h', "3-5", | |
282 {ISMEAN}, | |
283 0, 0, | |
284 3, | |
285 {10, 35, 2, 7, HPT("3d8"), "2d4"} | |
286 }, | |
287 {"mind maggot", | |
288 0, TRUE, TRUE, 'm', "1-1", | |
289 {ISMEAN, NOMOVE, DRAINBRAIN, ISFLOCK, CANSURPRISE, ISSMALL}, | |
290 0, 0, | |
291 3, | |
292 {10, 40, 4, 8, HPT("1d8+1"), "1d3"} | |
293 }, | |
294 {"giant beetle", | |
295 0, TRUE, FALSE, 'b', "0-0", | |
296 {ISFLOCK}, | |
297 0, 0, | |
298 4, | |
299 {10, 40, 3, 4, HPT("2d8"), "4d4"} | |
300 }, | |
301 {"bombadier beetle", | |
302 0, TRUE, FALSE, 'B', "0-0", | |
303 {CANBACID, ISFLOCK}, | |
304 0, 0, | |
305 4, | |
306 {10, 40, 2, 4, HPT("2d8+2"), "2d6"} | |
307 }, | |
308 {"stirge", | |
309 0, TRUE, TRUE, 's', "1-1", | |
310 {ISMEAN, CANFLY, CANDRAW, ISSMALL}, | |
311 0, 0, | |
312 2, | |
313 {10, 36, 4, 8, HPT("1d8+1"), "1d3"} | |
314 }, | |
315 {"wild camel", | |
316 0, TRUE, TRUE, 'w', "3-7", | |
317 {ISMEAN, CANTRAMPLE, ISLARGE, ISFLOCK}, | |
318 0, 0, | |
319 3, | |
320 {12, 35, 2, 7, HPT("3d8"), "1d4"} | |
321 }, | |
322 {"wolf", | |
323 0, TRUE, TRUE, 'W', "3-7", | |
324 {ISMEAN, ISLARGE, ISSWARM, ISFAST}, | |
325 0, 0, | |
326 3, | |
327 {12, 35, 2, 7, HPT("2d8+2"), "1d4+1"} | |
328 }, | |
329 {"troglodyte", | |
330 5, TRUE, TRUE, 'T', "5-7", | |
331 {ISMEAN, CANSMELL, CANSHOOT, CANWIELD, ISSWARM}, | |
332 0, 0, | |
333 2, | |
334 {10, 36, 2, 5, HPT("2d8"), "1d3/1d3/2d5"} | |
335 }, | |
336 {"killer frog", | |
337 0, TRUE, FALSE, 'f', "2-4", | |
338 {ISMEAN}, | |
339 0, 0, | |
340 4, | |
341 {10, 40, 3, 6, HPT("3d8"), "2d3/1d4"} | |
342 }, | |
343 {"axe beak", | |
344 0, TRUE, FALSE, 'a', "2-4", | |
345 {ISMEAN, ISLARGE}, | |
346 0, 0, | |
347 4, | |
348 {10, 40, 3, 6, HPT("3d8"), "2d3/2d4"} | |
349 }, | |
350 {"spinning tick", | |
351 0, TRUE, TRUE, 't', "2-6", | |
352 {ISMEAN, CANFRIGHTEN, ISSMALL, ISFAST, ISFLOCK}, | |
353 0, 0, | |
354 5, | |
355 {10, 50, 2, 3, HPT("2d8+2"), "1d2/1d2/1d4"} | |
356 }, | |
357 {"giant centipede", | |
358 0, TRUE, TRUE, 'c', "1-2", | |
359 {ISMEAN, CANPOISON, ISLARGE, ISFLOCK}, | |
360 0, 0, | |
361 1, | |
362 {6, 40, 2, 9, HPT("2d2"), "2d3"} | |
363 }, | |
364 {"pegasus", | |
365 0, TRUE, TRUE, 'p', "9-12", | |
366 {CANFLY, ISFAST, ISLARGE, LOWFRIENDLY}, | |
367 0, 0, |