1 #pragma once 2 3 #include "tag-version.h" 4 5 // NOTE: Changing this order will break saves! Appending does not. 6 enum monster_type // env.mons[].type 7 { 8 MONS_PROGRAM_BUG, 9 MONS_0 = MONS_PROGRAM_BUG, 10 11 #if TAG_MAJOR_VERSION > 34 12 MONS_GIANT_LIZARD, // genus 13 #endif 14 MONS_FRILLED_LIZARD, 15 #if TAG_MAJOR_VERSION == 34 16 MONS_LEOPARD_GECKO, 17 #endif 18 MONS_IGUANA, 19 MONS_KOMODO_DRAGON, 20 MONS_BASILISK, 21 MONS_BAT, 22 MONS_FIRE_BAT, 23 #if TAG_MAJOR_VERSION > 34 24 MONS_SNAKE, // genus 25 #endif 26 MONS_BALL_PYTHON, 27 MONS_ADDER, 28 MONS_WATER_MOCCASIN, 29 MONS_BLACK_MAMBA, 30 MONS_ANACONDA, 31 MONS_SEA_SNAKE, 32 #if TAG_MAJOR_VERSION > 34 33 MONS_SHOCK_SERPENT, 34 MONS_MANA_VIPER, 35 #endif 36 MONS_RAT, 37 #if TAG_MAJOR_VERSION == 34 38 MONS_GREY_RAT, 39 #endif 40 MONS_RIVER_RAT, 41 MONS_HELL_RAT, 42 #if TAG_MAJOR_VERSION == 34 43 MONS_LABORATORY_RAT, 44 #endif 45 MONS_QUOKKA, // Quokka are a type of wallaby, returned -- bwr 382 46 #if TAG_MAJOR_VERSION == 34 47 MONS_PORCUPINE, 48 #endif 49 #if TAG_MAJOR_VERSION > 34 50 MONS_PALENTONGA, 51 #endif 52 MONS_JACKAL, 53 MONS_HOUND, 54 #if TAG_MAJOR_VERSION == 34 55 MONS_WAR_DOG, 56 #else 57 MONS_HOWLER_MONKEY, 58 #endif 59 MONS_WOLF, 60 MONS_WARG, 61 MONS_HELL_HOUND, 62 #if TAG_MAJOR_VERSION > 34 63 MONS_RAIJU, 64 MONS_DOOM_HOUND, 65 #endif 66 MONS_HOG, 67 MONS_HELL_HOG, 68 MONS_HOLY_SWINE, // porkalator 69 #if TAG_MAJOR_VERSION == 34 70 MONS_GIANT_SLUG, 71 MONS_AGATE_SNAIL, 72 #else 73 MONS_DART_SLUG, 74 MONS_TORPOR_SNAIL, 75 #endif 76 MONS_ELEPHANT_SLUG, 77 MONS_TYRANT_LEECH, 78 #if TAG_MAJOR_VERSION == 34 79 MONS_BABY_ALLIGATOR, 80 #endif 81 MONS_ALLIGATOR, 82 #if TAG_MAJOR_VERSION == 34 83 MONS_CROCODILE, 84 #endif 85 MONS_HYDRA, 86 #if TAG_MAJOR_VERSION == 34 87 MONS_SHEEP, 88 #endif 89 #if TAG_MAJOR_VERSION > 34 90 MONS_DREAM_SHEEP, 91 #endif 92 MONS_YAK, 93 MONS_DEATH_YAK, 94 MONS_CATOBLEPAS, 95 MONS_ELEPHANT, 96 MONS_DIRE_ELEPHANT, 97 MONS_HELLEPHANT, 98 MONS_MANTICORE, 99 #if TAG_MAJOR_VERSION == 34 100 MONS_HIPPOGRIFF, 101 MONS_GRIFFON, 102 #endif 103 #if TAG_MAJOR_VERSION > 34 104 MONS_MUTANT_BEAST, 105 MONS_FROG, // genus 106 #endif 107 MONS_BULLFROG, 108 MONS_CANE_TOAD, 109 MONS_BLINK_FROG, 110 #if TAG_MAJOR_VERSION > 34 111 MONS_BARACHI, 112 MONS_GOLIATH_FROG, 113 MONS_BEAR, // genus 114 #endif 115 #if TAG_MAJOR_VERSION == 34 116 MONS_GRIZZLY_BEAR, 117 #endif 118 MONS_POLAR_BEAR, 119 MONS_BLACK_BEAR, 120 MONS_WORM, 121 #if TAG_MAJOR_VERSION == 34 122 MONS_BRAIN_WORM, 123 MONS_ROCK_WORM, 124 MONS_SPINY_WORM, 125 #endif 126 MONS_WYVERN, 127 #if TAG_MAJOR_VERSION > 34 128 MONS_DRAKE, // genus 129 #endif 130 MONS_LINDWURM, 131 MONS_RIME_DRAKE, 132 MONS_SWAMP_DRAKE, 133 MONS_DEATH_DRAKE, 134 #if TAG_MAJOR_VERSION > 34 135 MONS_WIND_DRAKE, 136 MONS_DRAGON, // genus 137 #endif 138 MONS_STEAM_DRAGON, 139 MONS_ACID_DRAGON, 140 MONS_SWAMP_DRAGON, 141 MONS_FIRE_DRAGON, 142 MONS_ICE_DRAGON, 143 MONS_SHADOW_DRAGON, 144 MONS_STORM_DRAGON, 145 MONS_BONE_DRAGON, 146 MONS_QUICKSILVER_DRAGON, 147 MONS_IRON_DRAGON, 148 MONS_GOLDEN_DRAGON, 149 MONS_PEARL_DRAGON, 150 151 MONS_ENDOPLASM, 152 MONS_JELLY, 153 #if TAG_MAJOR_VERSION == 34 154 MONS_BROWN_OOZE, 155 MONS_GIANT_AMOEBA, 156 #else 157 MONS_ROCKSLIME, 158 MONS_QUICKSILVER_OOZE, 159 #endif 160 MONS_AZURE_JELLY, 161 #if TAG_MAJOR_VERSION == 34 162 MONS_DEATH_OOZE, 163 #endif 164 MONS_ACID_BLOB, 165 MONS_SLIME_CREATURE, 166 #if TAG_MAJOR_VERSION == 34 167 MONS_PULSATING_LUMP, 168 #endif 169 MONS_FLOATING_EYE, 170 #if TAG_MAJOR_VERSION == 34 171 MONS_EYE_OF_DRAINING, 172 #endif 173 MONS_SHINING_EYE, 174 MONS_EYE_OF_DEVASTATION, 175 MONS_GREAT_ORB_OF_EYES, 176 MONS_GLOWING_ORANGE_BRAIN, 177 178 MONS_DANCING_WEAPON, 179 #if TAG_MAJOR_VERSION > 34 180 MONS_SPECTRAL_WEAPON, 181 MONS_ANIMATED_ARMOUR, 182 #endif 183 MONS_HARPY, 184 #if TAG_MAJOR_VERSION == 34 185 MONS_RAVEN, 186 #endif 187 #if TAG_MAJOR_VERSION > 34 188 MONS_BENNU, 189 MONS_CAUSTIC_SHRIKE, 190 MONS_SHARD_SHRIKE, 191 192 #endif 193 MONS_FIRE_CRAB, 194 #if TAG_MAJOR_VERSION == 34 195 MONS_HOMUNCULUS, 196 MONS_SOUPLING, 197 #else 198 MONS_GHOST_CRAB, 199 MONS_CRAB, 200 #endif 201 202 MONS_BUTTERFLY, 203 #if TAG_MAJOR_VERSION == 34 204 MONS_ANT_LARVA, 205 MONS_WORKER_ANT, 206 MONS_SOLDIER_ANT, 207 MONS_QUEEN_ANT, 208 #endif 209 #if TAG_MAJOR_VERSION > 34 210 MONS_FORMICID, 211 #endif 212 MONS_KILLER_BEE, 213 MONS_QUEEN_BEE, 214 #if TAG_MAJOR_VERSION > 34 215 MONS_MELIAI, 216 #endif 217 MONS_VAMPIRE_MOSQUITO, 218 #if TAG_MAJOR_VERSION == 34 219 MONS_BUMBLEBEE, 220 MONS_WASP, 221 #endif 222 MONS_HORNET, 223 #if TAG_MAJOR_VERSION > 34 224 MONS_SPARK_WASP, 225 #endif 226 #if TAG_MAJOR_VERSION == 34 227 MONS_BEETLE, 228 MONS_BORING_BEETLE, 229 #endif 230 MONS_BOULDER_BEETLE, 231 #if TAG_MAJOR_VERSION > 34 232 MONS_DEATH_SCARAB, 233 #endif 234 MONS_GIANT_COCKROACH, 235 #if TAG_MAJOR_VERSION == 34 236 MONS_GIANT_CENTIPEDE, 237 MONS_GIANT_MITE, 238 #endif 239 MONS_SPIDER, 240 MONS_WOLF_SPIDER, 241 #if TAG_MAJOR_VERSION == 34 242 MONS_TRAPDOOR_SPIDER, 243 #endif 244 MONS_JUMPING_SPIDER, 245 MONS_ORB_SPIDER, 246 MONS_TARANTELLA, 247 MONS_REDBACK, 248 MONS_SCORPION, 249 MONS_EMPEROR_SCORPION, 250 MONS_MOTH, // genus 251 #if TAG_MAJOR_VERSION == 34 252 MONS_MOTH_OF_SUPPRESSION, 253 #endif 254 MONS_GHOST_MOTH, 255 MONS_MOTH_OF_WRATH, 256 MONS_DEMONIC_CRAWLER, 257 MONS_SNAPPING_TURTLE, 258 MONS_ALLIGATOR_SNAPPING_TURTLE, 259 #if TAG_MAJOR_VERSION == 34 260 MONS_GNOME, 261 #endif 262 MONS_HALFLING, // recolouring + single vault. 263 MONS_FELID, // recolouring + single vault. Miaow! 264 MONS_VAMPIRE_BAT, // recolouring + vaults 265 MONS_DEMIGOD, // recolouring + single vault 266 MONS_DEMONSPAWN, 267 #if TAG_MAJOR_VERSION > 34 268 MONS_FIRST_DEMONSPAWN = MONS_DEMONSPAWN, 269 MONS_MONSTROUS_DEMONSPAWN, 270 MONS_FIRST_BASE_DEMONSPAWN = MONS_MONSTROUS_DEMONSPAWN, 271 MONS_GELID_DEMONSPAWN, 272 MONS_INFERNAL_DEMONSPAWN, 273 MONS_TORTUROUS_DEMONSPAWN, 274 MONS_LAST_BASE_DEMONSPAWN = MONS_TORTUROUS_DEMONSPAWN, 275 MONS_BLOOD_SAINT, 276 MONS_FIRST_NONBASE_DEMONSPAWN = MONS_BLOOD_SAINT, 277 MONS_WARMONGER, 278 MONS_CORRUPTER, 279 MONS_BLACK_SUN, 280 MONS_LAST_NONBASE_DEMONSPAWN = MONS_BLACK_SUN, 281 MONS_LAST_DEMONSPAWN = MONS_BLACK_SUN, 282 #endif 283 MONS_GARGOYLE, 284 MONS_WAR_GARGOYLE, 285 MONS_MOLTEN_GARGOYLE, 286 MONS_UGLY_THING, 287 MONS_VERY_UGLY_THING, 288 MONS_ICE_BEAST, 289 MONS_SKY_BEAST, 290 MONS_SPHINX, 291 MONS_ORB_GUARDIAN, 292 293 MONS_GOLEM, // genus 294 #if TAG_MAJOR_VERSION == 34 295 MONS_CLAY_GOLEM, 296 MONS_WOOD_GOLEM, 297 MONS_STONE_GOLEM, 298 #else 299 MONS_SALTLING, 300 MONS_PEACEKEEPER, 301 #endif 302 MONS_IRON_GOLEM, 303 MONS_CRYSTAL_GUARDIAN, 304 MONS_TOENAIL_GOLEM, 305 MONS_ELECTRIC_GOLEM, // replacing the guardian robot -- bwr 306 #if TAG_MAJOR_VERSION > 34 307 MONS_GUARDIAN_GOLEM, 308 MONS_SPELLFORGED_SERVITOR, 309 MONS_USHABTI, 310 #endif 311 MONS_ORB_OF_FIRE, // Swords renamed to fit -- bwr 312 #if TAG_MAJOR_VERSION > 34 313 MONS_ELEMENTAL, // genus 314 #endif 315 MONS_EARTH_ELEMENTAL, 316 MONS_FIRE_ELEMENTAL, 317 MONS_AIR_ELEMENTAL, 318 #if TAG_MAJOR_VERSION > 34 319 MONS_IRON_ELEMENTAL, 320 MONS_ELEMENTAL_WELLSPRING, 321 #endif 322 MONS_TWISTER, // air miscasts 323 MONS_GOLDEN_EYE, 324 MONS_FIRE_VORTEX, 325 MONS_SPATIAL_VORTEX, 326 MONS_INSUBSTANTIAL_WISP, 327 #if TAG_MAJOR_VERSION > 34 328 MONS_WILL_O_THE_WISP, 329 #else 330 MONS_VAPOUR, 331 332 // Mimics: 333 MONS_INEPT_ITEM_MIMIC, 334 MONS_ITEM_MIMIC, 335 MONS_RAVENOUS_ITEM_MIMIC, 336 MONS_MONSTROUS_ITEM_MIMIC, 337 MONS_INEPT_FEATURE_MIMIC, 338 MONS_FEATURE_MIMIC, 339 MONS_RAVENOUS_FEATURE_MIMIC, 340 MONS_MONSTROUS_FEATURE_MIMIC, // unused 341 #endif 342 343 // Plants: 344 MONS_TOADSTOOL, 345 MONS_FUNGUS, 346 MONS_WANDERING_MUSHROOM, 347 #if TAG_MAJOR_VERSION > 34 348 MONS_DEATHCAP, 349 #endif 350 MONS_PLANT, 351 MONS_OKLOB_SAPLING, 352 MONS_OKLOB_PLANT, 353 MONS_BUSH, 354 MONS_BURNING_BUSH, 355 #if TAG_MAJOR_VERSION > 34 356 MONS_THORN_HUNTER, 357 MONS_BRIAR_PATCH, 358 MONS_SHAMBLING_MANGROVE, 359 MONS_VINE_STALKER, 360 MONS_ANIMATED_TREE, 361 MONS_DEMONIC_PLANT, 362 MONS_WITHERED_PLANT, 363 #endif 364 MONS_BALLISTOMYCETE_SPORE, 365 MONS_BALLISTOMYCETE, 366 #if TAG_MAJOR_VERSION == 34 367 MONS_HYPERACTIVE_BALLISTOMYCETE, 368 #endif 369 370 MONS_GOBLIN, 371 MONS_HOBGOBLIN, 372 MONS_GNOLL, 373 MONS_GNOLL_SHAMAN, 374 MONS_GNOLL_SERGEANT, 375 MONS_BOGGART, 376 MONS_KOBOLD, 377 MONS_KOBOLD_BRIGAND, 378 MONS_KOBOLD_DEMONOLOGIST, 379 MONS_ORC, 380 MONS_ORC_WARRIOR, 381 MONS_ORC_PRIEST, 382 MONS_ORC_HIGH_PRIEST, 383 MONS_ORC_WIZARD, 384 MONS_ORC_KNIGHT, 385 MONS_ORC_SORCERER, 386 MONS_ORC_WARLORD, 387 MONS_DWARF, 388 MONS_DEEP_DWARF, 389 #if TAG_MAJOR_VERSION == 34 390 MONS_DEEP_DWARF_SCION, 391 MONS_DEEP_DWARF_ARTIFICER, 392 MONS_DEEP_DWARF_NECROMANCER, 393 MONS_DEEP_DWARF_BERSERKER, 394 MONS_DEATH_KNIGHT, 395 MONS_UNBORN, 396 #endif 397 MONS_ELF, 398 #if TAG_MAJOR_VERSION == 34 399 MONS_DEEP_ELF_SOLDIER, 400 MONS_DEEP_ELF_FIGHTER, 401 #endif 402 MONS_DEEP_ELF_KNIGHT, 403 #if TAG_MAJOR_VERSION > 34 404 MONS_DEEP_ELF_ARCHER, 405 MONS_DEEP_ELF_AIR_MAGE, 406 #endif 407 MONS_DEEP_ELF_FIRE_MAGE, 408 #if TAG_MAJOR_VERSION == 34 409 MONS_DEEP_ELF_SUMMONER, 410 MONS_DEEP_ELF_CONJURER, 411 MONS_DEEP_ELF_PRIEST, 412 #endif 413 MONS_DEEP_ELF_HIGH_PRIEST, 414 MONS_DEEP_ELF_DEMONOLOGIST, 415 MONS_DEEP_ELF_ANNIHILATOR, 416 MONS_DEEP_ELF_SORCERER, 417 MONS_DEEP_ELF_DEATH_MAGE, 418 #if TAG_MAJOR_VERSION > 34 419 MONS_DEEP_ELF_ELEMENTALIST, 420 #endif 421 MONS_DEEP_ELF_BLADEMASTER, 422 MONS_DEEP_ELF_MASTER_ARCHER, 423 MONS_SPRIGGAN, 424 MONS_SPRIGGAN_DRUID, 425 #if TAG_MAJOR_VERSION == 34 426 MONS_SPRIGGAN_ASSASSIN, 427 #endif 428 MONS_SPRIGGAN_RIDER, 429 MONS_SPRIGGAN_BERSERKER, 430 MONS_SPRIGGAN_DEFENDER, 431 MONS_SPRIGGAN_AIR_MAGE, 432 #if TAG_MAJOR_VERSION == 34 433 MONS_FIREFLY, 434 #endif 435 MONS_TENGU, 436 #if TAG_MAJOR_VERSION > 34 437 MONS_TENGU_WARRIOR, 438 MONS_TENGU_CONJURER, 439 MONS_TENGU_REAVER, 440 MONS_FENSTRIDER_WITCH, 441 #endif 442 MONS_MINOTAUR, 443 MONS_NAGA, 444 MONS_NAGA_WARRIOR, 445 MONS_NAGA_MAGE, 446 #if TAG_MAJOR_VERSION > 34 447 MONS_NAGA_RITUALIST, 448 MONS_NAGA_SHARPSHOOTER, 449 #endif 450 MONS_NAGARAJA, 451 MONS_GUARDIAN_SERPENT, 452 MONS_OCTOPODE, 453 MONS_MERFOLK, 454 MONS_MERFOLK_SIREN, 455 MONS_MERFOLK_AVATAR, 456 #if TAG_MAJOR_VERSION > 34 457 MONS_DROWNED_SOUL, 458 #endif 459 MONS_MERFOLK_IMPALER, 460 MONS_MERFOLK_AQUAMANCER, 461 MONS_MERFOLK_JAVELINEER, 462 #if TAG_MAJOR_VERSION > 34 463 MONS_WATER_NYMPH, 464 #endif 465 MONS_CENTAUR, 466 MONS_CENTAUR_WARRIOR, 467 MONS_YAKTAUR, 468 MONS_YAKTAUR_CAPTAIN, 469 #if TAG_MAJOR_VERSION > 34 470 MONS_FAUN, 471 MONS_SATYR, 472 #endif 473 MONS_OGRE, 474 MONS_TWO_HEADED_OGRE, 475 MONS_OGRE_MAGE, 476 MONS_TROLL, 477 #if TAG_MAJOR_VERSION == 34 478 MONS_ROCK_TROLL, 479 #endif 480 MONS_IRON_TROLL, 481 MONS_DEEP_TROLL, 482 #if TAG_MAJOR_VERSION > 34 483 MONS_DEEP_TROLL_EARTH_MAGE, 484 MONS_DEEP_TROLL_SHAMAN, 485 #endif 486 MONS_GIANT, // genus 487 #if TAG_MAJOR_VERSION == 34 488 MONS_HILL_GIANT, 489 #endif 490 MONS_CYCLOPS, 491 MONS_ETTIN, 492 MONS_STONE_GIANT, 493 MONS_FIRE_GIANT, 494 MONS_FROST_GIANT, 495 MONS_TITAN, 496 #if TAG_MAJOR_VERSION > 34 497 MONS_JUGGERNAUT, 498 MONS_IRON_GIANT, 499 #endif 500 MONS_HUMAN, 501 #if TAG_MAJOR_VERSION == 34 502 MONS_SLAVE, 503 #endif 504 MONS_HELL_KNIGHT, 505 #if TAG_MAJOR_VERSION > 34 506 MONS_DEATH_KNIGHT, 507 #endif 508 MONS_NECROMANCER, 509 MONS_WIZARD, 510 MONS_VAULT_GUARD, 511 #if TAG_MAJOR_VERSION > 34 512 MONS_VAULT_SENTINEL, 513 MONS_VAULT_WARDEN, 514 MONS_IRONBOUND_CONVOKER, 515 MONS_IRONBOUND_PRESERVER, 516 MONS_IRONBOUND_FROSTHEART, 517 MONS_IRONBOUND_THUNDERHULK, 518 MONS_IRONBOUND_BEASTMASTER, 519 MONS_IMPERIAL_MYRMIDON, 520 MONS_SERVANT_OF_WHISPERS, 521 MONS_RAGGED_HIEROPHANT, 522 MONS_HALAZID_WARLOCK, 523 #endif 524 MONS_KILLER_KLOWN, 525 MONS_SHAPESHIFTER, 526 MONS_GLOWING_SHAPESHIFTER, 527 528 // Draconians: 529 MONS_DRACONIAN, 530 MONS_FIRST_DRACONIAN = MONS_DRACONIAN, 531 532 // If adding more drac colours, sync up colour names in 533 // mon-util.cc. 534 MONS_BLACK_DRACONIAN, 535 MONS_FIRST_BASE_DRACONIAN = MONS_BLACK_DRACONIAN, 536 #if TAG_MAJOR_VERSION == 34 537 MONS_MOTTLED_DRACONIAN, 538 #endif 539 MONS_YELLOW_DRACONIAN, 540 MONS_GREEN_DRACONIAN, 541 MONS_PURPLE_DRACONIAN, 542 MONS_RED_DRACONIAN, 543 MONS_WHITE_DRACONIAN, 544 MONS_LAST_SPAWNED_DRACONIAN = MONS_WHITE_DRACONIAN, 545 MONS_GREY_DRACONIAN, 546 MONS_PALE_DRACONIAN, 547 MONS_LAST_BASE_DRACONIAN = MONS_PALE_DRACONIAN, 548 549 // Sync up with mon-place.cc's draconian selection if adding more. 550 MONS_DRACONIAN_STORMCALLER, 551 MONS_FIRST_NONBASE_DRACONIAN = MONS_DRACONIAN_STORMCALLER, 552 MONS_DRACONIAN_MONK, 553 #if TAG_MAJOR_VERSION == 34 554 MONS_DRACONIAN_ZEALOT, 555 #endif 556 MONS_DRACONIAN_SHIFTER, 557 MONS_DRACONIAN_ANNIHILATOR, 558 MONS_DRACONIAN_KNIGHT, 559 MONS_DRACONIAN_SCORCHER, 560 561 MONS_LAST_NONBASE_DRACONIAN = MONS_DRACONIAN_SCORCHER, 562 MONS_LAST_DRACONIAN = MONS_LAST_NONBASE_DRACONIAN, 563 564 // Lava monsters: 565 #if TAG_MAJOR_VERSION == 34 566 MONS_LAVA_WORM, 567 MONS_LAVA_FISH, 568 #endif 569 MONS_LAVA_SNAKE, 570 MONS_SALAMANDER, 571 #if TAG_MAJOR_VERSION > 34 572 MONS_SALAMANDER_MYSTIC, 573 MONS_SALAMANDER_TYRANT, 574 #endif 575 576 // Water monsters: 577 #if TAG_MAJOR_VERSION == 34 578 MONS_BIG_FISH, 579 MONS_GIANT_GOLDFISH, 580 #endif 581 MONS_ELECTRIC_EEL, 582 #if TAG_MAJOR_VERSION == 34 583 MONS_JELLYFISH, 584 #endif 585 MONS_WATER_ELEMENTAL, 586 MONS_SWAMP_WORM, 587 #if TAG_MAJOR_VERSION == 34 588 MONS_SHARK, 589 #endif 590 MONS_KRAKEN, 591 MONS_KRAKEN_TENTACLE, 592 MONS_KRAKEN_TENTACLE_SEGMENT, 593 594 // Statuary 595 MONS_ORANGE_STATUE, 596 MONS_OBSIDIAN_STATUE, 597 MONS_ICE_STATUE, 598 MONS_STATUE, 599 MONS_TRAINING_DUMMY, 600 MONS_LIGHTNING_SPIRE, 601 #if TAG_MAJOR_VERSION > 34 602 MONS_DIAMOND_OBELISK, 603 #endif 604 605 // Demons: 606 MONS_CRIMSON_IMP, 607 MONS_QUASIT, 608 MONS_WHITE_IMP, 609 MONS_LEMURE, 610 MONS_UFETUBUS, 611 MONS_IRON_IMP, 612 MONS_SHADOW_IMP, 613 MONS_RED_DEVIL, 614 #if TAG_MAJOR_VERSION == 34 615 MONS_ROTTING_DEVIL, 616 #endif 617 MONS_HELLWING, 618 MONS_SIXFIRHY, 619 MONS_NEQOXEC, 620 MONS_ORANGE_DEMON, 621 MONS_SMOKE_DEMON, 622 MONS_YNOXINUL, 623 MONS_CHAOS_SPAWN, 624 MONS_HELLION, 625 MONS_LOROCYPROCA, 626 MONS_TORMENTOR, 627 MONS_REAPER, 628 MONS_SOUL_EATER, 629 MONS_ICE_DEVIL, 630 #if TAG_MAJOR_VERSION == 34 631 MONS_BLUE_DEVIL, 632 #endif 633 MONS_HELL_BEAST, 634 MONS_RUST_DEVIL, 635 MONS_EXECUTIONER, 636 MONS_GREEN_DEATH, 637 MONS_BLIZZARD_DEMON, 638 MONS_BALRUG, 639 MONS_CACODEMON, 640 MONS_SUN_DEMON, 641 MONS_SHADOW_DEMON, 642 MONS_HELL_SENTINEL, 643 MONS_BRIMSTONE_FIEND, 644 MONS_ICE_FIEND, 645 MONS_TZITZIMITL, 646 MONS_PANDEMONIUM_LORD, 647 648 // Spiritual beings ('R') 649 #if TAG_MAJOR_VERSION > 34 650 MONS_DJINNI, 651 #endif 652 MONS_EFREET, 653 MONS_RAKSHASA, 654 #if TAG_MAJOR_VERSION == 34 655 MONS_RAKSHASA_FAKE, 656 #else 657 MONS_DRYAD, 658 MONS_ELEIONOMA, 659 MONS_SNAPLASHER_VINE, 660 MONS_SNAPLASHER_VINE_SEGMENT, 661 #endif 662 663 // Abyssals 664 MONS_UNSEEN_HORROR, 665 MONS_TENTACLED_STARSPAWN, 666 MONS_LURKING_HORROR, 667 MONS_THRASHING_HORROR, 668 MONS_STARCURSED_MASS, 669 MONS_ANCIENT_ZYME, 670 MONS_WRETCHED_STAR, 671 #if TAG_MAJOR_VERSION > 34 672 MONS_APOCALYPSE_CRAB, 673 MONS_STARSPAWN_TENTACLE, 674 MONS_STARSPAWN_TENTACLE_SEGMENT, 675 MONS_SPATIAL_MAELSTROM, 676 MONS_WORLDBINDER, 677 MONS_ENTROPY_WEAVER, // not sure where else to put it 678 MONS_BUNYIP, 679 #endif 680 MONS_ELDRITCH_TENTACLE, 681 MONS_ELDRITCH_TENTACLE_SEGMENT, 682 MONS_TENTACLED_MONSTROSITY, 683 MONS_ABOMINATION_SMALL, 684 MONS_ABOMINATION_LARGE, 685 #if TAG_MAJOR_VERSION == 34 686 MONS_CRAWLING_CORPSE, 687 MONS_MACABRE_MASS, 688 #endif 689 690 // Undead: 691 #if TAG_MAJOR_VERSION > 34 692 MONS_ZOMBIE, 693 MONS_SKELETON, 694 MONS_SIMULACRUM, 695 #endif 696 #if TAG_MAJOR_VERSION == 34 697 MONS_PLAGUE_SHAMBLER, 698 #endif 699 MONS_NECROPHAGE, 700 MONS_GHOUL, 701 #if TAG_MAJOR_VERSION == 34 702 MONS_FLAMING_CORPSE, 703 #else 704 MONS_BLOATED_HUSK, 705 #endif 706 MONS_MUMMY, 707 MONS_BOG_BODY, 708 MONS_GUARDIAN_MUMMY, 709 MONS_ROYAL_MUMMY, 710 MONS_MUMMY_PRIEST, 711 MONS_VAMPIRE, 712 MONS_VAMPIRE_KNIGHT, 713 MONS_VAMPIRE_MAGE, 714 MONS_GHOST, // common genus for monster and player ghosts 715 MONS_PHANTOM, 716 MONS_SHADOW, 717 #if TAG_MAJOR_VERSION == 34 718 MONS_HUNGRY_GHOST, 719 #endif 720 MONS_FLAYED_GHOST, 721 MONS_WIGHT, 722 MONS_WRAITH, 723 MONS_FREEZING_WRAITH, 724 MONS_SHADOW_WRAITH, 725 MONS_SILENT_SPECTRE, 726 MONS_EIDOLON, 727 MONS_FLYING_SKULL, 728 MONS_SKELETAL_WARRIOR, 729 MONS_PHANTASMAL_WARRIOR, 730 MONS_LICH, 731 MONS_ANCIENT_LICH, 732 #if TAG_MAJOR_VERSION > 34 733 MONS_DREAD_LICH, 734 #endif 735 MONS_DEATH_COB, 736 MONS_CURSE_TOE, 737 MONS_CURSE_SKULL, 738 MONS_PROFANE_SERVITOR, 739 #if TAG_MAJOR_VERSION > 34 740 MONS_ANCIENT_CHAMPION, 741 MONS_REVENANT, 742 MONS_LOST_SOUL, 743 MONS_JIANGSHI, 744 #endif 745 MONS_SKELETON_SMALL, // recolouring only 746 MONS_SKELETON_LARGE, // recolouring only 747 MONS_ZOMBIE_SMALL, // recolouring only 748 MONS_ZOMBIE_LARGE, // recolouring only 749 MONS_SPECTRAL_THING, 750 MONS_SIMULACRUM_SMALL, // recolouring only 751 MONS_SIMULACRUM_LARGE, // recolouring only 752 753 // Holies: 754 MONS_ANGEL, 755 MONS_DAEVA, 756 MONS_CHERUB, 757 MONS_SERAPH, 758 #if TAG_MAJOR_VERSION == 34 759 MONS_PHOENIX, 760 MONS_SILVER_STAR, 761 MONS_BLESSED_TOE, 762 MONS_SHEDU, 763 #endif 764 MONS_OPHAN, 765 #if TAG_MAJOR_VERSION == 34 766 MONS_SPIRIT, 767 MONS_PALADIN, 768 #endif 769 MONS_APIS, 770 771 // Fixed uniques: 772 MONS_GERYON, 773 MONS_DISPATER, 774 MONS_ASMODEUS, 775 MONS_ANTAEUS, 776 MONS_ERESHKIGAL, 777 MONS_ROYAL_JELLY, 778 MONS_THE_ENCHANTRESS, 779 // the four Pan lords, order must match runes 780 MONS_MNOLEG, 781 MONS_LOM_LOBON, 782 MONS_CEREBOV, 783 MONS_GLOORX_VLOQ, 784 MONS_SERPENT_OF_HELL, 785 #if TAG_MAJOR_VERSION > 34 786 MONS_SERPENT_OF_HELL_COCYTUS, 787 MONS_SERPENT_OF_HELL_DIS, 788 MONS_SERPENT_OF_HELL_TARTARUS, 789 #endif 790 // Random uniques: 791 MONS_IJYB, 792 MONS_JESSICA, 793 MONS_SIGMUND, 794 MONS_TERENCE, 795 MONS_BLORK_THE_ORC, 796 MONS_EDMUND, 797 MONS_PSYCHE, 798 MONS_EROLCHA, 799 MONS_DONALD, 800 MONS_URUG, 801 MONS_JOSEPH, 802 MONS_SNORG, // was Anita - 16jan2000 {dlb} 803 MONS_ERICA, 804 MONS_JOSEPHINE, 805 MONS_HAROLD, 806 MONS_AGNES, 807 #if TAG_MAJOR_VERSION == 34 808 MONS_MAUD, 809 #endif 810 MONS_LOUISE, 811 MONS_FRANCES, 812 MONS_RUPERT, 813 #if TAG_MAJOR_VERSION == 34 814 MONS_WIGLAF, 815 #endif 816 MONS_XTAHUA, 817 #if TAG_MAJOR_VERSION == 34 818 MONS_NORRIS, 819 #endif 820 MONS_FREDERICK, 821 MONS_MARGERY, 822 MONS_BORIS, 823 MONS_POLYPHEMUS, 824 MONS_MURRAY, 825 MONS_TIAMAT, 826 MONS_ROXANNE, 827 MONS_SONJA, 828 MONS_EUSTACHIO, 829 MONS_AZRAEL, 830 MONS_ILSUIW, 831 MONS_PRINCE_RIBBIT, 832 MONS_NERGALLE, 833 MONS_SAINT_ROKA, 834 MONS_NESSOS, 835 MONS_LERNAEAN_HYDRA, 836 MONS_DISSOLUTION, 837 MONS_KIRKE, 838 MONS_GRUM, 839 MONS_PURGY, 840 MONS_MENKAURE, 841 MONS_DUVESSA, 842 MONS_DOWAN, 843 MONS_GASTRONOK, 844 MONS_MAURICE, 845 MONS_KHUFU, 846 MONS_NIKOLA, 847 MONS_AIZUL, 848 MONS_PIKEL, 849 MONS_CRAZY_YIUF, 850 MONS_MENNAS, 851 MONS_MARA, 852 #if TAG_MAJOR_VERSION == 34 853 MONS_MARA_FAKE, 854 #endif 855 MONS_GRINDER, 856 MONS_JORY, 857 MONS_IGNACIO, 858 MONS_ARACHNE, 859 #if TAG_MAJOR_VERSION > 34 860 MONS_HELLBINDER, 861 MONS_CLOUD_MAGE, 862 MONS_FANNAR, 863 MONS_JORGRUN, 864 MONS_SOJOBO, 865 MONS_ASTERION, 866 MONS_NATASHA, 867 MONS_VASHNIA, 868 MONS_ROBIN, 869 MONS_MOON_TROLL, 870 MONS_BAI_SUZHEN, 871 MONS_BAI_SUZHEN_DRAGON, 872 MONS_MAGGIE, 873 #endif 874 // Sprint uniques: 875 MONS_CHUCK, 876 #if TAG_MAJOR_VERSION == 34 877 MONS_IRON_GIANT, 878 #endif 879 MONS_NELLIE, 880 #if TAG_MAJOR_VERSION == 34 881 MONS_IRON_ELEMENTAL, 882 #endif 883 884 // Specials: 885 MONS_PLAYER_ILLUSION, 886 MONS_PLAYER_GHOST, 887 MONS_BALL_LIGHTNING, 888 MONS_ORB_OF_DESTRUCTION, // a projectile, not a real mon 889 #if TAG_MAJOR_VERSION > 34 890 MONS_FULMINANT_PRISM, 891 MONS_BATTLESPHERE, 892 MONS_FOXFIRE, 893 #endif 894 MONS_PILLAR_OF_SALT, 895 #if TAG_MAJOR_VERSION > 34 896 MONS_BLOCK_OF_ICE, 897 #endif 898 MONS_HELL_LORD, // genus 899 MONS_MERGED_SLIME_CREATURE, // used only for recolouring 900 MONS_SENSED, // dummy monster for unspecified sensed mons 901 MONS_SENSED_TRIVIAL, 902 MONS_SENSED_EASY, 903 MONS_SENSED_TOUGH, 904 MONS_SENSED_NASTY, 905 MONS_SENSED_FRIENDLY, 906 MONS_PLAYER, // a certain ugly creature 907 #if TAG_MAJOR_VERSION > 34 908 MONS_PLAYER_SHADOW, // Dithmenos / god wrath 909 MONS_ANCESTOR, // Hepliaklqana 910 MONS_ANCESTOR_KNIGHT, 911 MONS_ANCESTOR_BATTLEMAGE, 912 MONS_ANCESTOR_HEXER, 913 #endif 914 MONS_TEST_SPAWNER, 915 #if TAG_MAJOR_VERSION > 34 916 MONS_TEST_STATUE, 917 MONS_TEST_BLOB, 918 MONS_NAMELESS, // summoning miscast 919 #endif 920 921 // Add new monsters here: 922 #if TAG_MAJOR_VERSION == 34 923 MONS_SERPENT_OF_HELL_COCYTUS, 924 MONS_SERPENT_OF_HELL_DIS, 925 MONS_SERPENT_OF_HELL_TARTARUS, 926 927 MONS_HELLBINDER, 928 MONS_CLOUD_MAGE, 929 MONS_ANIMATED_TREE, 930 931 MONS_BEAR, // genus 932 MONS_ELEMENTAL, // genus 933 934 MONS_FANNAR, 935 MONS_APOCALYPSE_CRAB, 936 MONS_STARSPAWN_TENTACLE, 937 MONS_STARSPAWN_TENTACLE_SEGMENT, 938 939 MONS_SPATIAL_MAELSTROM, 940 MONS_CHAOS_BUTTERFLY, 941 942 MONS_JORGRUN, 943 MONS_LAMIA, 944 945 MONS_FULMINANT_PRISM, 946 MONS_BATTLESPHERE, 947 948 MONS_GIANT_LIZARD, // genus 949 MONS_DRAKE, // genus 950 MONS_PLAYER_SHADOW, // Dithmenos / god wrath 951 952 MONS_DEEP_TROLL_EARTH_MAGE, 953 MONS_DEEP_TROLL_SHAMAN, 954 MONS_DIAMOND_OBELISK, 955 956 MONS_VAULT_SENTINEL, 957 MONS_VAULT_WARDEN, 958 MONS_IRONBOUND_CONVOKER, 959 MONS_IRONBOUND_PRESERVER, 960 961 MONS_ZOMBIE, 962 MONS_SKELETON, 963 MONS_SIMULACRUM, 964 965 MONS_ANCIENT_CHAMPION, 966 MONS_REVENANT, 967 MONS_LOST_SOUL, 968 MONS_JIANGSHI, 969 970 MONS_DJINNI, 971 MONS_LAVA_ORC, 972 973 MONS_DRYAD, 974 MONS_WIND_DRAKE, 975 MONS_FAUN, 976 MONS_SATYR, 977 978 MONS_PAN, 979 980 MONS_TENGU_WARRIOR, 981 MONS_TENGU_CONJURER, 982 MONS_TENGU_REAVER, 983 984 MONS_SPRIGGAN_ENCHANTER, 985 986 MONS_SOJOBO, 987 988 MONS_CHIMERA, 989 990 MONS_SNAPLASHER_VINE, 991 MONS_SNAPLASHER_VINE_SEGMENT, 992 MONS_THORN_HUNTER, 993 MONS_BRIAR_PATCH, 994 MONS_SPIRIT_WOLF, 995 MONS_ANCIENT_BEAR, 996 MONS_WATER_NYMPH, 997 MONS_SHAMBLING_MANGROVE, 998 MONS_THORN_LOTUS, 999 MONS_SPECTRAL_WEAPON, 1000 MONS_ELEMENTAL_WELLSPRING, 1001 MONS_POLYMOTH, 1002 1003 MONS_DEATHCAP, 1004 MONS_IGNIS, 1005 1006 MONS_FORMICID, 1007 MONS_FORMICID_DRONE, 1008 MONS_FORMICID_VENOM_MAGE, 1009 1010 MONS_RAIJU, 1011 1012 MONS_DRAGON, // genus 1013 MONS_SNAKE, // genus 1014 1015 MONS_MONSTROUS_DEMONSPAWN, 1016 MONS_FIRST_DEMONSPAWN = MONS_MONSTROUS_DEMONSPAWN, 1017 MONS_FIRST_BASE_DEMONSPAWN = MONS_MONSTROUS_DEMONSPAWN, 1018 MONS_GELID_DEMONSPAWN, 1019 MONS_INFERNAL_DEMONSPAWN, 1020 MONS_PUTRID_DEMONSPAWN, // removed 1021 MONS_TORTUROUS_DEMONSPAWN, 1022 MONS_LAST_BASE_DEMONSPAWN = MONS_TORTUROUS_DEMONSPAWN, 1023 MONS_BLOOD_SAINT, 1024 MONS_FIRST_NONBASE_DEMONSPAWN = MONS_BLOOD_SAINT, 1025 MONS_CHAOS_CHAMPION, // removed 1026 MONS_WARMONGER, 1027 MONS_CORRUPTER, 1028 MONS_BLACK_SUN, 1029 MONS_LAST_NONBASE_DEMONSPAWN = MONS_BLACK_SUN, 1030 MONS_LAST_DEMONSPAWN = MONS_LAST_NONBASE_DEMONSPAWN, 1031 1032 MONS_WORLDBINDER, 1033 MONS_GRAND_AVATAR, 1034 MONS_VINE_STALKER, 1035 1036 MONS_DROWNED_SOUL, 1037 1038 MONS_SHOCK_SERPENT, 1039 MONS_MANA_VIPER, 1040 MONS_NAGA_RITUALIST, 1041 MONS_NAGA_SHARPSHOOTER, 1042 1043 MONS_SALAMANDER_FIREBRAND, 1044 MONS_SALAMANDER_MYSTIC, 1045 1046 MONS_ASTERION, 1047 MONS_NATASHA, 1048 MONS_VASHNIA, 1049 1050 MONS_BLOCK_OF_ICE, 1051 MONS_GUARDIAN_GOLEM, 1052 MONS_SPELLFORGED_SERVITOR, 1053 MONS_OCTOPODE_CRUSHER, 1054 MONS_CRAB, 1055 MONS_GHOST_CRAB, 1056 MONS_TORPOR_SNAIL, 1057 MONS_MNOLEG_TENTACLE, 1058 MONS_MNOLEG_TENTACLE_SEGMENT, 1059 MONS_BENNU, 1060 MONS_USHABTI, 1061 MONS_DEATH_SCARAB, 1062 MONS_ANUBIS_GUARD, 1063 MONS_CAUSTIC_SHRIKE, 1064 1065 MONS_ROBIN, 1066 1067 MONS_SHARD_SHRIKE, 1068 MONS_SINGULARITY, 1069 MONS_SALAMANDER_STORMCALLER, 1070 MONS_ENTROPY_WEAVER, 1071 MONS_MOON_TROLL, 1072 MONS_MUTANT_BEAST, 1073 MONS_JUGGERNAUT, 1074 MONS_SPARK_WASP, 1075 MONS_DOOM_HOUND, 1076 MONS_DEEP_ELF_ELEMENTALIST, 1077 MONS_DEEP_ELF_ARCHER, 1078 MONS_DEMONIC_PLANT, 1079 MONS_WITHERED_PLANT, 1080 MONS_DART_SLUG, 1081 MONS_HOWLER_MONKEY, 1082 MONS_ANCESTOR, 1083 MONS_ANCESTOR_KNIGHT, 1084 MONS_ANCESTOR_BATTLEMAGE, 1085 MONS_ANCESTOR_HEXER, 1086 MONS_MELIAI, 1087 MONS_BAI_SUZHEN, 1088 MONS_BAI_SUZHEN_DRAGON, 1089 MONS_SALTLING, 1090 MONS_IMPERIAL_MYRMIDON, 1091 MONS_SERVANT_OF_WHISPERS, 1092 MONS_PEACEKEEPER, 1093 MONS_RAGGED_HIEROPHANT, 1094 MONS_HALAZID_WARLOCK, 1095 MONS_DREAM_SHEEP, 1096 MONS_FROG, 1097 MONS_BARACHI, 1098 MONS_BULTUNGIN, // remove this someday 1099 MONS_TEST_STATUE, 1100 MONS_FOXFIRE, 1101 MONS_MAGGIE, 1102 MONS_NAMELESS, 1103 MONS_PALENTONGA, 1104 MONS_BLOATED_HUSK, 1105 MONS_BUNYIP, 1106 MONS_GOLIATH_FROG, 1107 MONS_ELEIONOMA, 1108 MONS_FENSTRIDER_WITCH, 1109 MONS_WILL_O_THE_WISP, 1110 MONS_TEST_BLOB, 1111 MONS_DREAD_LICH, 1112 MONS_DEEP_ELF_AIR_MAGE, 1113 MONS_ANIMATED_ARMOUR, 1114 MONS_ROCKSLIME, 1115 MONS_QUICKSILVER_OOZE, 1116 MONS_IRONBOUND_FROSTHEART, 1117 MONS_IRONBOUND_THUNDERHULK, 1118 MONS_IRONBOUND_BEASTMASTER, 1119 MONS_SALAMANDER_TYRANT, 1120 #endif 1121 1122 NUM_MONSTERS, // used for polymorph 1123 1124 // MONS_NO_MONSTER can get put in savefiles, so it shouldn't change 1125 // when NUM_MONSTERS increases. 1126 MONS_NO_MONSTER = 1000, 1127 1128 RANDOM_MONSTER = 2000, // used to distinguish between a random monster and using program bugs for error trapping {dlb} 1129 RANDOM_TOUGHER_MONSTER, // used for poly upgrading monsters. 1130 RANDOM_MOBILE_MONSTER, // used for monster generation (shadow creatures) 1131 RANDOM_COMPATIBLE_MONSTER, // used for player shadow creatures (prevents repulsing summons) 1132 RANDOM_BANDLESS_MONSTER, 1133 RANDOM_POLYMORPH_MONSTER, // choose from a per-monster set 1134 1135 // A random draconian, either base coloured drac or specialised. 1136 RANDOM_DRACONIAN, 1137 // Any random base draconian colour. 1138 RANDOM_BASE_DRACONIAN, 1139 // Any random specialised draconian, such as a draconian knight. 1140 RANDOM_NONBASE_DRACONIAN, 1141 1142 RANDOM_DEMON_LESSER, // 0: Class V 1143 RANDOM_DEMON_COMMON, // 1: Class III-IV 1144 RANDOM_DEMON_GREATER, // 2: Class I-II 1145 RANDOM_DEMON, // any of the above 1146 1147 RANDOM_MODERATE_OOD, // +5 depth, AKA '9' glyph on maps 1148 RANDOM_SUPER_OOD, // *2 + 4 depth, AKA '8' 1149 1150 RANDOM_DEMONSPAWN, 1151 RANDOM_BASE_DEMONSPAWN, 1152 RANDOM_NONBASE_DEMONSPAWN, 1153 1154 WANDERING_MONSTER = 3500, // only used in monster placement routines - forced limit checks {dlb} 1155 }; 1156 COMPILE_CHECK(NUM_MONSTERS < MONS_NO_MONSTER); 1157