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,