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, |
