Mercurial > hg > early-roguelike
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"), |
