comparison xrogue/mons_def.c @ 133:e6179860cb76

Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
author John "Elwin" Edwards
date Tue, 21 Apr 2015 08:55:20 -0400
parents
children
comparison
equal deleted inserted replaced
124:d10fc4a065ac 133:e6179860cb76
1 /*
2 mons_def.c - monster data initializer
3
4 XRogue: Expeditions into the Dungeons of Doom
5 Copyright (C) 1991 Robert Pietkivitch
6 All rights reserved.
7
8 Based on "Advanced Rogue"
9 Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka and AT&T
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 <ctype.h>
20 #include <curses.h>
21 #include "rogue.h"
22
23 #define HPT(x) x
24
25 struct monster monsters[NUMMONST+1] = {
26 /* {"Name",
27 CARRY, NORMAL, WANDER, APPEAR, INTEL,
28 {ATTRIBUTES},
29 "SUMMONED_CREATURE", NUMBER_SUMMONED,
30 ADDED_EXPERIENCE/HIT_POINT,
31 {str dex, move, exp, level, "armor", hit_points,
32 "damage"}}, */
33 {"unknown",
34 0, FALSE, FALSE, '\0', "",
35 {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
36 "", 0,
37 0,
38 {0, 0, 0, 0, 0, 0, HPT(""),
39 ""}},
40 {"giant rat",
41 0, TRUE, TRUE, 'R', "2-6",
42 {ISMEAN, CANDISEASE},
43 "", 0,
44 0,
45 {10, 10, 6, 5, 1, 7, HPT("1d4"),
46 "1d3"}},
47 {"kobold",
48 50, TRUE, TRUE, 'K', "8-12",
49 {ISMEAN, CANSHOOT, CARRYWEAPON},
50 "", 0,
51 2,
52 {9, 9, 5, 8, 2, 7, HPT("1d4"),
53 "1d4"}},
54 {"bat",
55 0, TRUE, TRUE, 'b', "2-6",
56 {ISMEAN, AREMANY, CANDISEASE, ISFLY},
57 "", 0,
58 0,
59 {5, 5, 6, 5, 1, 10, HPT("1d2"),
60 "1d2"}},
61 {"gnome",
62 50, TRUE, FALSE, 'G', "10-15",
63 {CANSHOOT, CARRYPOTION, CARRYWEAPON, NOSTAB},
64 "", 0,
65 3,
66 {10, 10, 6, 8, 1, 5, HPT("1d6"),
67 "1d6"}},
68 {"halfling",
69 50, TRUE, FALSE, 'H', "11-16",
70 {CANSHOOT, CARRYSCROLL, CARRYWEAPON, NOSTAB},
71 "", 0,
72 3,
73 {8, 10, 6, 10, 1, 4, HPT("1d8"),
74 "1d6"}},
75 {"xvart",
76 50, TRUE, TRUE, 'x', "4-14",
77 {ISMEAN, AREMANY, CARRYDAGGER, CANTELEPORT},
78 "", 0,
79 1,
80 {8, 10, 7, 8, 1, 7, HPT("1d2"),
81 "1d3"}},
82 {"manes",
83 0, TRUE, TRUE, 'M', "2-8",
84 {ISMEAN, ISUNDEAD, TURNABLE, CANDISEASE},
85 "", 0,
86 0,
87 {5, 5, 5, 15, 2, 7, HPT("1d8"),
88 "1d2/1d2/1d4"}},
89 {"rot grub",
90 0, TRUE, TRUE, 'r', "10",
91 {ISMEAN, CANDISEASE, CANINFEST, CANSMELL},
92 "", 0,
93 0,
94 {10, 10, 8, 8, 1, 8, HPT("1d6"),
95 "1d6"}},
96 {"giant ant",
97 0, TRUE, TRUE, 'A', "1",
98 {ISMEAN, CANPOISON},
99 "", 0,
100 3,
101 {10, 10, 6, 30, 3, 3, HPT("2d8"),
102 "1d6/1d6"}},
103 {"orc",
104 50, TRUE, TRUE, 'O', "8",
105 {ISMEAN, CANSHOOT, CARRYFOOD},
106 "", 0,
107 2,
108 {12, 12, 5, 15, 4, 6, HPT("2d8"),
109 "1d8"}},
110 {"dwarf",
111 50, TRUE, FALSE, 'D', "10-14",
112 {CARRYSCROLL, CARRYGOLD, CARRYDAGGER, NOSTAB},
113 "", 0,
114 4,
115 {10, 10, 6, 20, 1, 4, HPT("2d8"),
116 "1d8"}},
117 {"elf",
118 50, TRUE, FALSE, 'E', "10-14",
119 {CARRYPOTION, CARRYWEAPON, NOSTAB, CARRYFOOD},
120 "", 0,
121 4,
122 {12, 10, 6, 20, 1, 4, HPT("2d8+2"),
123 "1d10"}},
124 {"hobgoblin",
125 50, TRUE, TRUE, 'h', "8-10",
126 {ISMEAN, CANSHOOT, NOSLOW},
127 "", 0,
128 3,
129 {14, 14, 4, 30, 4, 5, HPT("1d8"),
130 "1d8"}},
131 {"urchin",
132 50, TRUE, TRUE, 'u', "6-15",
133 {ISMEAN, ISGREED, CARRYGOLD, CARRYRING},
134 "", 0,
135 1,
136 {10, 10, 6, 25, 1, 3, HPT("2d8"),
137 "1d6"}},
138 {"fire beetle",
139 0, TRUE, TRUE, 'B', "10",
140 {ISMEAN, HASFIRE},
141 "", 0,
142 2,
143 {10, 10, 6, 20, 1, 4, HPT("1d8+2"),
144 "2d4"}},
145 {"ear seeker",
146 0, TRUE, TRUE, 'e', "0",
147 {ISMEAN, AREMANY, CANINFEST, CANSURPRISE},
148 "", 0,
149 0,
150 {10, 10, 5, 10, 1, 8, HPT("1d2"),
151 "1d1"}},
152 {"shrieker",
153 0, TRUE, TRUE, 'S', "0",
154 {ISMEAN, CANSHRIEK, NOMOVE, NOSTAB},
155 "", 0,
156 4,
157 {10, 10, 7, 20, 2, 7, HPT("3d8"),
158 "0d0"}},
159 {"stirge",
160 0, TRUE, TRUE, 's', "1",
161 {ISMEAN, CANDRAW, ISFLY},
162 "", 0,
163 2,
164 {10, 10, 4, 30, 1, 8, HPT("2d6"),
165 "1d3"}},
166 {"troglodyte",
167 50, TRUE, TRUE, 'T', "5-15",
168 {ISMEAN, CANSMELL, CANSTINK, CANSHOOT, HASFIRE},
169 "", 0,
170 3,
171 {10, 10, 6, 30, 5, 4, HPT("2d8"),
172 "1d6/2d6"}},
173 {"zombie",
174 0, TRUE, TRUE, 'Z', "0",
175 {ISMEAN, ISUNDEAD, TURNABLE, CANSURPRISE, ISSHADOW, NOSLEEP},
176 "", 0,
177 6,
178 {10, 10, 5, 60, 1, 0, HPT("2d8+5"),
179 "2d8"}},
180 {"gas spore",
181 0, TRUE, TRUE, 'a', "0",
182 {ISMEAN, CANEXPLODE, CANINFEST, ISFLY},
183 "", 0,
184 5,
185 {10, 10, 8, 30, 2, 5, HPT("2d8"),
186 "1d2/1d4"}},
187 {"giant tick",
188 0, TRUE, TRUE, 't', "0",
189 {ISMEAN, CANPOISON, CANROT},
190 "", 0,
191 1,
192 {10, 10, 7, 70, 2, 4, HPT("1d8"),
193 "1d4"}},
194 {"lemure",
195 0, TRUE, TRUE, 'L', "5-10",
196 {ISMEAN, ISREGEN, CANSUMMON, NOBOLT},
197 "bat", 5,
198 6,
199 {12, 12, 5, 45, 4, 2, HPT("3d8"),
200 "1d6"}},
201 {"zoo spore",
202 0, TRUE, TRUE, 'z', "8-20",
203 {ISMEAN, CANDISEASE, CANEXPLODE, TURNABLE, ISUNDEAD, ISFLY},
204 "", 0,
205 10,
206 {20, 20, 4, 80, 2, 0, HPT("2d8+6"),
207 "1d8"}},
208 {"bugbear",
209 30, TRUE, TRUE, 'b', "5-12",
210 {ISMEAN, CANSHOOT, CANSURPRISE, ISGREED},
211 "", 0,
212 3,
213 {16, 10, 6, 60, 2, 5, HPT("3d8+4"),
214 "2d4"}},
215 {"gray ooze",
216 0, TRUE, TRUE, 'o', "1",
217 {ISMEAN, CANRUST, NOCOLD, NOFIRE, NOSTAB},
218 "", 0,
219 1,
220 {10, 10, 9, 100, 2, 8, HPT("1d8"),
221 "1d8"}},
222 {"lonchu",
223 50, TRUE, TRUE, 'l', "6",
224 {ISMEAN, CANTELEPORT, CARRYARMOR, NOBOLT},
225 "", 0,
226 3,
227 {10, 10, 6, 120, 2, 3, HPT("3d8+4"),
228 "2d6"}},
229 {"wererat",
230 50, TRUE, TRUE, 'r', "10-15",
231 {ISMEAN, CARRYPOTION, CANSUMMON, CANDRAW, NOSTAB},
232 "giant rat", 3,
233 5,
234 {10, 10, 5, 70, 5, 4, HPT("3d8+6"),
235 "2d8"}},
236 {"ghoul",
237 50, TRUE, TRUE, 'g', "12-15",
238 {ISMEAN, CARRYFOOD, CANPARALYZE, ISUNDEAD, TURNABLE, CANDRAW,
239 AREMANY},
240 "", 0,
241 7,
242 {12, 12, 5, 75, 2, 2, HPT("4d4"),
243 "1d4/1d6"}},
244 {"leprechaun",
245 75, TRUE, FALSE, 'l', "10-16",
246 {CARRYGOLD, STEALGOLD, ISGREED, CARRYSCROLL, CARRYPOTION,
247 NOSTAB},
248 "", 0,
249 9,
250 {15, 15, 3, 100, 7, 0, HPT("3d8"),
251 "1d1/3d6"}},
252 {"junk monster",
253 100, TRUE, TRUE, 'j', "10-14",
254 {ISMEAN, CANSTINK, CANSMELL, ISSCAVENGE, ISGREED, CANDRAW,
255 ISREGEN, CANSHOOT, CARRYSTICK},
256 "", 0,
257 7,
258 {12, 12, 5, 100, 2, 4, HPT("3d8+3"),
259 "1d6/2d8"}},
260 {"jacaranda",
261 40, TRUE, TRUE, 'j', "8-18",
262 {ISMEAN, ISUNIQUE, ISREGEN, CANSUMMON, NOCOLD, NOFIRE, NOBOLT,
263 CANDANCE, CARRYGOLD, CANTELEPORT, CANBLIND, ISSHADOW, NOSTAB,
264 ISGREED, STEALGOLD, CARRYFOOD},
265 "zombie", 4,
266 20,
267 {18, 18, 2, 40000, 10, -15, HPT("6d8+40"),
268 "1d6/2d6/3d6"}},
269 {"gnoll",
270 0, TRUE, TRUE, 'n', "10-16",
271 {ISMEAN, CANINFEST, CANROT, ISREGEN, TURNABLE},
272 "", 0,
273 4,
274 {10, 10, 6, 140, 2, 4, HPT("6d8"),
275 "2d8"}},
276 {"fire toad",
277 0, TRUE, TRUE, 'f', "5-7",
278 {ISMEAN, CANBFIRE, NOFIRE, NOBOLT},
279 "", 0,
280 4,
281 {10, 10, 6, 200, 2, 5, HPT("5d8"),
282 "1d8"}},
283 {"gelatinous cube",
284 50, TRUE, TRUE, 'c', "0",
285 {ISMEAN, CANPARALYZE, CARRYFOOD, NOCOLD},
286 "", 0,
287 4,
288 {10, 10, 7, 160, 2, 1, HPT("4d8"),
289 "2d8"}},
290 {"moon dog",
291 0, TRUE, TRUE, 'm', "10-12",
292 {ISMEAN, ISFLY, NOCOLD, NOFIRE, CANDRAW},
293 "", 0,
294 6,
295 {12, 12, 4, 250, 2, 3, HPT("3d8+3"),
296 "2d10"}},
297 {"violet fungi",
298 0, TRUE, TRUE, 'F', "0",
299 {ISMEAN, CANSHRIEK, CANSUMMON, CANHOLD, NOMOVE, CANROT},
300 "violet fungi", 1,
301 5,
302 {10, 10, 5, 150, 9, 0, HPT("4d6+10"),
303 "1d8/2d8/3d8"}},
304 {"ogre",
305 50, TRUE, TRUE, 'O', "7-12",
306 {ISMEAN, CARRYGOLD, CARRYDAGGER, NOBOLT},
307 "", 0,
308 7,
309 {18, 10, 6, 170, 3, 3, HPT("4d8+8"),
310 "2d10"}},
311 {"centaur",
312 50, TRUE, FALSE, 'C', "5-15",
313 {STEALGOLD, CARRYGOLD, CARRYRING, NOSLEEP, NOSTAB},
314 "", 0,
315 9,
316 {10, 10, 4, 180, 2, 4, HPT("4d8+10"),
317 "1d8/2d6"}},
318 {"nymph",
319 75, TRUE, FALSE, 'N', "10-16",
320 {STEALMAGIC, CARRYSCROLL, CARRYPOTION, CARRYSTICK, NOSTAB,
321 CARRYFOOD, NOSLOW},
322 "", 0,
323 8,
324 {16, 16, 3, 190, 5, 3, HPT("3d8+10"),
325 "1d1"}},
326 {"blindheim",
327 0, TRUE, TRUE, 'b', "10",
328 {ISMEAN, CANBLIND, NOSLOW},
329 "", 0,
330 5,
331 {8, 8, 5, 260, 3, 1, HPT("4d8+6"),
332 "2d10"}},
333 {"blink dog",
334 0, TRUE, TRUE, 'B', "8-10",
335 {ISMEAN, CANBLINK, CANSEE, CANINFEST},
336 "", 0,
337 9,
338 {10, 10, 6, 220, 3, 5, HPT("4d8+4"),