1 #pragma once 2 3 #define AT_NO_ATK {AT_NONE, AF_PLAIN, 0} 4 5 #include "enum.h" 6 #include "tag-version.h" 7 8 /* ****************************************************************** 9 10 (see "mon-util.h" for the gory details) 11 12 - ordering does not matter, because seekmonster() searches the entire 13 array ... probably not to most efficient thing to do, but so it goes 14 15 - Here are the rows: 16 - row 1: monster id, display character, display colour, name 17 - row 2: monster flags 18 - row 3: monster resistance flags 19 - row 4: experience modifier, genus, species, holiness, willpower 20 - row 5: damage for each of four attacks 21 - row 6: hit dice, hit points 22 - row 7: AC, evasion, spells, corpse, shouts 23 - row 8: intel, habitat, speed, energy_usage 24 - row 9: gmon_use class, body size, body shape 25 - row 10: tile, corpse 26 27 - Some further explanations: 28 29 - colour: if COLOUR_UNDEF, a random colour will be chosen upon 30 creation. Some monsters set their colour during initialization, 31 and if a default colour isn't meaningful, they should also use 32 COLOUR_UNDEF. 33 - name: if an empty string, name generated automagically (see moname) 34 - genus: base monster "type" for a classed monsters (i.e. jackal as hound) 35 - species: corpse type of monster (i.e. orc for orc wizard) 36 - holiness: a bitwise OR of one or more of: 37 MH_HOLY - irritates some gods when killed, immunity from 38 holy wrath weapons. Includes good priests. 39 MH_NATURAL - baseline monster type 40 MH_UNDEAD - immunity from draining, pain, torment; resistance 41 to poison; extra damage from holy wrath; 42 affected by holy word 43 MH_DEMONIC - similar to undead, but no poison resistance 44 *no* automatic damnation resistance 45 MH_NONLIVING - golems and other constructs 46 MH_PLANT - plants 47 48 along with optional flags that affect some god conducts and abilities: 49 MH_EVIL - inherently evil (and not MH_UNDEAD or MH_DEMONIC) 50 51 exp_mod: multiplies xp value after most other calculations. 52 see exper_value() in mon-util.cc 53 54 willpower: see mons_willpower() in mon-util.cc 55 - If -x calculate (-x * hit dice * 4/3), else simply x. 56 57 damage [4] 58 - up to 4 different attacks 59 60 HD: like player level, used for misc things 61 avg_hp_10x: average hp for the monster, * 10 for precision 62 (see hit_points() for details) 63 64 sec: the monster's spellbook. If a monster has no spells, MST_NO_SPELLS. 65 66 corpse: whether the monster leaves a corpse or not 67 68 shouts 69 - various things monsters can do upon seeing you 70 71 intel explanation: 72 - How smart it is: 73 I_BRAINLESS < I_ANIMAL < I_HUMAN. 74 Differences here have a wide variety of small effects; tracking distance, 75 behaviour around dangerous clouds, co-operation with allies, etc. 76 77 speed 78 - Increases the store of energy that the monster uses for doing things. 79 less = slower. 5 = half speed, 10 = normal, 20 = double speed. 80 81 energy usage 82 - How quickly the energy granted by speed is used up. Most monsters 83 should just use DEFAULT_ENERGY, where all the different types of actions 84 use 10 energy units. 85 86 gmon_use explanation: 87 MONUSE_NOTHING, 88 MONUSE_OPEN_DOORS, 89 MONUSE_STARTING_EQUIPMENT, 90 MONUSE_WEAPONS_ARMOUR 91 92 From MONUSE_STARTING_EQUIPMENT on, monsters are capable of handling 93 items. Contrary to what one might expect, MONUSE_WEAPONS_ARMOUR 94 also means a monster is capable of using wands and will also pick 95 them up, something that those with MONUSE_STARTING_EQUIPMENT won't 96 do. 97 98 size: 99 SIZE_TINY, // rats/bats 100 SIZE_LITTLE, // spriggans 101 SIZE_SMALL, // halflings/kobolds 102 SIZE_MEDIUM, // humans/elves/dwarves 103 SIZE_LARGE, // trolls/ogres/centaurs/nagas 104 SIZE_BIG, // large quadrupeds 105 SIZE_GIANT, // giants 106 107 tile: 108 - a struct with up to two elements. 109 - the first is the enum for the corresponding sprite in tiles builds; 110 TILEP_MONS_PROGRAM_BUG for special cases. 111 - the second is the way in which the tile may vary; e.g. over time, 112 per-monster-instance, etc. 113 114 corpse: 115 - The enum for the corresponding sprite in tiles builds; 116 TILE_ERROR for monsters without corpses. Only relevant for species mons. 117 */ 118 119 #define MOVE_ENERGY(x) { x, x, 10, 10, 10, 10, 10, 100} 120 #define ACTION_ENERGY(x) {10, 10, x, x, x, x, x, x * 10} 121 #define ATTACK_ENERGY(x) {10, 10, x, 10, 10, 10, 10, 100} 122 #define MISSILE_ENERGY(x) {10, 10, 10, x, 10, 10, 10, 100} 123 #define SPELL_ENERGY(x) {10, 10, 10, 10, x, 10, 10, 100} 124 #define SWIM_ENERGY(x) {10, x, 10, 10, 10, 10, 10, 100} 125 126 #define M_NOT_DANGEROUS (M_NO_EXP_GAIN | M_NO_THREAT) 127 128 static monsterentry mondata[] = 129 { 130 131 // The Thing That Should Not Be(tm) 132 // NOTE: Do not remove, or seekmonster will crash on unknown mc request! 133 // It is also a good prototype for new monsters. 134 { 135 // id, glyph, colour, name 136 MONS_PROGRAM_BUG, 'B', LIGHTRED, "program bug", 137 // monster flags 138 M_NOT_DANGEROUS | M_CANT_SPAWN, 139 // resistance flags 140 MR_NO_FLAGS, 141 // xp modifier, genus, species, holiness, willpower 142 10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NATURAL, 10, 143 // up to four attacks 144 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 145 // hit points 146 0, 0, 147 // AC, EV, spells, corpse type, shout type 148 0, 0, MST_NO_SPELLS, true, S_SILENT, 149 // intelligence, habitat, speed, energy usage 150 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, 151 // use type, body size, body shape 152 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC, 153 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 154 }, 155 156 // Use this to replace removed monsters, to retain save compatibility. 157 // Please put it in #if TAG_MAJOR_VERSION == X, so they will go away 158 // after save compat is broken. 159 #define AXED_MON(id, name) \ 160 { \ 161 id, 'X', LIGHTRED, "removed " name, \ 162 M_NO_EXP_GAIN | M_CANT_SPAWN | M_UNFINISHED, \ 163 MR_NO_FLAGS, \ 164 10, MONS_PROGRAM_BUG, MONS_PROGRAM_BUG, MH_NONLIVING, 0, \ 165 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, \ 166 0, 0, \ 167 0, 0, MST_NO_SPELLS, true, S_SILENT, \ 168 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, \ 169 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC, \ 170 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR \ 171 }, 172 173 // Axed monsters. 174 // AXED_MON(MONS_AXE_MURDERER, "Jason") 175 #if TAG_MAJOR_VERSION == 34 176 AXED_MON(MONS_BUMBLEBEE, "bumblebee") 177 AXED_MON(MONS_WOOD_GOLEM, "wood golem") 178 AXED_MON(MONS_ANT_LARVA, "ant larva") 179 AXED_MON(MONS_LABORATORY_RAT, "laboratory rat") 180 AXED_MON(MONS_WAR_DOG, "war dog") 181 AXED_MON(MONS_SPIRIT, "spirit") 182 AXED_MON(MONS_PALADIN, "paladin") 183 AXED_MON(MONS_DEEP_ELF_SOLDIER, "deep elf soldier") 184 AXED_MON(MONS_PAN, "pan") 185 AXED_MON(MONS_LAMIA, "lamia") 186 AXED_MON(MONS_DEEP_DWARF_SCION, "deep dwarf scion") 187 AXED_MON(MONS_DEEP_DWARF_ARTIFICER, "deep dwarf artificer") 188 AXED_MON(MONS_DEEP_DWARF_NECROMANCER, "deep dwarf necromancer") 189 AXED_MON(MONS_CHAOS_BUTTERFLY, "chaos butterfly") 190 AXED_MON(MONS_POLYMOTH, "polymoth") 191 AXED_MON(MONS_MOTH_OF_SUPPRESSION, "moth of suppression") 192 AXED_MON(MONS_ROCK_WORM, "rock worm") 193 AXED_MON(MONS_FORMICID_DRONE, "formicid drone") 194 AXED_MON(MONS_SPIRIT_WOLF, "spirit wolf") 195 AXED_MON(MONS_LAVA_FISH, "lava fish") 196 AXED_MON(MONS_JELLYFISH, "jellyfish") 197 AXED_MON(MONS_GREY_RAT, "grey rat") 198 AXED_MON(MONS_SPINY_WORM, "spiny worm") 199 AXED_MON(MONS_ROCK_TROLL, "rock troll") 200 AXED_MON(MONS_MONSTROUS_ITEM_MIMIC, "monstrous item mimic") 201 AXED_MON(MONS_GIANT_AMOEBA, "giant amoeba") 202 AXED_MON(MONS_DEEP_DWARF_BERSERKER, "deep dwarf berserker") 203 AXED_MON(MONS_AGATE_SNAIL, "agate snail") 204 AXED_MON(MONS_GIANT_CENTIPEDE, "giant centipede") 205 AXED_MON(MONS_ANCIENT_BEAR, "ancient bear") 206 AXED_MON(MONS_ROTTING_DEVIL, "rotting devil") 207 AXED_MON(MONS_IGNIS, "ignis") 208 AXED_MON(MONS_RAKSHASA_FAKE, "rakshasa fake") 209 AXED_MON(MONS_MARA_FAKE, "mara fake") 210 // GNOME_NO_MORE 211 AXED_MON(MONS_GNOME, "gnome") 212 // GOLEM_NO_MORE 213 AXED_MON(MONS_CLAY_GOLEM, "clay golem") 214 AXED_MON(MONS_STONE_GOLEM, "stone golem") 215 AXED_MON(MONS_FORMICID_VENOM_MAGE, "formicid venom mage") 216 AXED_MON(MONS_SPRIGGAN_ASSASSIN, "spriggan assassin") 217 AXED_MON(MONS_VAPOUR, "vapour") 218 AXED_MON(MONS_THORN_LOTUS, "thorn lotus") 219 AXED_MON(MONS_GIANT_GOLDFISH, "giant goldfish") 220 AXED_MON(MONS_SILVER_STAR, "silver star") 221 AXED_MON(MONS_FLAMING_CORPSE, "flaming corpse") 222 AXED_MON(MONS_GRIZZLY_BEAR, "grizzly bear") 223 AXED_MON(MONS_SPRIGGAN_ENCHANTER, "spriggan enchanter") 224 AXED_MON(MONS_PHOENIX, "phoenix") 225 AXED_MON(MONS_SHEDU, "shedu") 226 AXED_MON(MONS_PLAGUE_SHAMBLER, "plague shambler") 227 AXED_MON(MONS_GIANT_SLUG, "giant slug") 228 AXED_MON(MONS_FIREFLY, "firefly") 229 AXED_MON(MONS_BROWN_OOZE, "brown ooze") 230 AXED_MON(MONS_PULSATING_LUMP, "pulsating lump") 231 AXED_MON(MONS_BIG_FISH, "big fish") 232 AXED_MON(MONS_LAVA_WORM, "lava worm") 233 AXED_MON(MONS_SHARK, "shark") 234 AXED_MON(MONS_INEPT_ITEM_MIMIC, "inept item mimic") 235 AXED_MON(MONS_ITEM_MIMIC, "item mimic") 236 AXED_MON(MONS_RAVENOUS_ITEM_MIMIC, "ravenous item mimic") 237 AXED_MON(MONS_INEPT_FEATURE_MIMIC, "inept feature mimic") 238 AXED_MON(MONS_FEATURE_MIMIC, "feature mimic") 239 AXED_MON(MONS_RAVENOUS_FEATURE_MIMIC, "ravenous feature mimic") 240 AXED_MON(MONS_MNOLEG_TENTACLE, "mnoleg tentacle") 241 AXED_MON(MONS_MNOLEG_TENTACLE_SEGMENT, "mnoleg tentacle segment") 242 AXED_MON(MONS_UNBORN, "unborn") 243 AXED_MON(MONS_GIANT_MITE, "giant mite") 244 AXED_MON(MONS_BABY_ALLIGATOR, "baby alligator") 245 AXED_MON(MONS_BORING_BEETLE, "boring beetle") 246 AXED_MON(MONS_CHIMERA, "chimera") 247 AXED_MON(MONS_RAVEN, "raven") 248 AXED_MON(MONS_SINGULARITY, "singularity") 249 AXED_MON(MONS_GRAND_AVATAR, "grand avatar") 250 AXED_MON(MONS_SALAMANDER_FIREBRAND, "salamander firebrand") 251 AXED_MON(MONS_OCTOPODE_CRUSHER, "octopode crusher") 252 AXED_MON(MONS_BLUE_DEVIL, "blue devil") 253 AXED_MON(MONS_BRAIN_WORM, "brain worm") 254 AXED_MON(MONS_DEEP_ELF_SUMMONER, "deep elf summoner") 255 AXED_MON(MONS_DEEP_ELF_CONJURER, "deep elf conjurer") 256 AXED_MON(MONS_DEEP_ELF_PRIEST, "deep elf priest") 257 AXED_MON(MONS_DEEP_ELF_FIGHTER, "deep elf fighter") 258 AXED_MON(MONS_TRAPDOOR_SPIDER, "trapdoor spider") 259 AXED_MON(MONS_SALAMANDER_STORMCALLER, "salamander stormcaller") 260 AXED_MON(MONS_NORRIS, "norris") 261 AXED_MON(MONS_MAUD, "maud") 262 AXED_MON(MONS_WIGLAF, "wiglaf") 263 AXED_MON(MONS_SHEEP, "sheep") 264 AXED_MON(MONS_ANUBIS_GUARD, "anubis guard") 265 AXED_MON(MONS_GRIFFON, "griffon") 266 AXED_MON(MONS_BEETLE, "beetle") 267 AXED_MON(MONS_PUTRID_DEMONSPAWN, "putrid demonspawn") 268 AXED_MON(MONS_CHAOS_CHAMPION, "chaos champion") 269 AXED_MON(MONS_WASP, "wasp") 270 AXED_MON(MONS_MOTTLED_DRACONIAN, "mottled draconian") 271 AXED_MON(MONS_DRACONIAN_ZEALOT, "draconian zealot") 272 AXED_MON(MONS_HILL_GIANT, "hill giant") 273 AXED_MON(MONS_BULTUNGIN, "bultungin") 274 AXED_MON(MONS_HYPERACTIVE_BALLISTOMYCETE, "hyperactive ballistomycete") 275 AXED_MON(MONS_HOMUNCULUS, "homunculus") 276 AXED_MON(MONS_SOUPLING, "soupling") 277 AXED_MON(MONS_BLESSED_TOE, "blessed toe") 278 AXED_MON(MONS_LAVA_ORC, "lava orc") 279 AXED_MON(MONS_MONSTROUS_FEATURE_MIMIC, "monstrous feature mimic") 280 AXED_MON(MONS_SLAVE, "slave") 281 AXED_MON(MONS_HUNGRY_GHOST, "hungry ghost") 282 AXED_MON(MONS_CROCODILE, "crocodile") 283 AXED_MON(MONS_HIPPOGRIFF, "hippogriff") 284 AXED_MON(MONS_PORCUPINE, "porcupine") 285 AXED_MON(MONS_CRAWLING_CORPSE, "crawling corpse") 286 AXED_MON(MONS_MACABRE_MASS, "macabre mass") 287 AXED_MON(MONS_EYE_OF_DRAINING, "eye of draining") 288 AXED_MON(MONS_DEATH_OOZE, "death ooze") 289 AXED_MON(MONS_LEOPARD_GECKO, "leopard gecko") 290 AXED_MON(MONS_WORKER_ANT, "worker ant") 291 AXED_MON(MONS_QUEEN_ANT, "queen ant") 292 AXED_MON(MONS_SOLDIER_ANT, "soldier ant") 293 #endif 294 295 // Used for genus monsters (which are used for grouping monsters by how they 296 // work and in comes-into-view messages). 297 #define DUMMY(id, glyph, colour, name, tile) \ 298 { \ 299 (id), (glyph), (colour), (name), \ 300 M_CANT_SPAWN, \ 301 MR_NO_FLAGS, \ 302 10, (id), (id), MH_NONLIVING, 10, \ 303 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, \ 304 0, 0, \ 305 0, 0, MST_NO_SPELLS, true, S_SILENT, \ 306 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, \ 307 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, \ 308 {(tile)}, TILE_ERROR \ 309 }, 310 311 312 // Real monsters begin here {dlb}: 313 314 // ancients ('a') 315 { 316 MONS_IMPERIAL_MYRMIDON, 'a', LIGHTCYAN, "imperial myrmidon", 317 M_WARM_BLOOD | M_SPEAKS, 318 MR_NO_FLAGS, 319 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60, 320 { {AT_HIT, AF_VULN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 321 16, 750, 322 1, 22, MST_IMPERIAL_MYRMIDON, true, S_SHOUT, 323 I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY, 324 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 325 {TILEP_MONS_IMPERIAL_MYRMIDON}, TILE_ERROR 326 }, 327 328 { 329 MONS_SERVANT_OF_WHISPERS, 'a', BROWN, "servant of whispers", 330 M_SPEAKS | M_WARM_BLOOD, 331 MR_NO_FLAGS, 332 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60, 333 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 334 12, 800, 335 1, 12, MST_SERVANT_OF_WHISPERS, true, S_SHOUT, 336 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 337 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 338 {TILEP_MONS_SERVANT_OF_WHISPERS}, TILE_ERROR 339 }, 340 341 { 342 MONS_RAGGED_HIEROPHANT, 'a', LIGHTMAGENTA, "ragged hierophant", 343 M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS, 344 MR_NO_FLAGS, 345 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40, 346 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 347 9, 1200, 348 0, 10, MST_RAGGED_HIEROPHANT, true, S_SHOUT, 349 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 350 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 351 {TILEP_MONS_RAGGED_HIEROPHANT}, TILE_ERROR 352 }, 353 354 // batty monsters ('b') 355 { 356 MONS_BAT, 'b', LIGHTGREY, "bat", 357 M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD | M_BATTY | M_FLIES, 358 MR_NO_FLAGS, 359 4, MONS_BAT, MONS_BAT, MH_NATURAL, 0, 360 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 361 1, 35, 362 1, 14, MST_NO_SPELLS, true, S_SILENT, 363 I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY, 364 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BAT, 365 {TILEP_MONS_BAT}, TILE_CORPSE_BAT 366 }, 367 368 { 369 MONS_BUTTERFLY, 'b', ETC_JEWEL, "butterfly", 370 M_CONFUSED | M_NOT_DANGEROUS | M_FLIES, 371 MR_VUL_POISON, 372 10, MONS_BUTTERFLY, MONS_BUTTERFLY, MH_NATURAL, 10, 373 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 374 1, 10, 375 0, 25, MST_NO_SPELLS, false, S_SILENT, 376 I_BRAINLESS, HT_LAND, 25, DEFAULT_ENERGY, 377 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_INSECT_WINGED, 378 {TILEP_MONS_BUTTERFLY, TVARY_MOD}, TILE_ERROR 379 }, 380 381 { // one vault + player transform (Vp ability) 382 MONS_VAMPIRE_BAT, 'b', MAGENTA, "vampire bat", 383 M_SEE_INVIS | M_WARM_BLOOD | M_BATTY | M_NO_POLY_TO | M_FLIES, 384 MR_NO_FLAGS, 385 8, MONS_BAT, MONS_VAMPIRE_BAT, MH_UNDEAD, 10, 386 { {AT_BITE, AF_VAMPIRIC, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 387 3, 105, 388 1, 14, MST_NO_SPELLS, false, S_SILENT, 389 I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY, 390 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BAT, 391 {TILEP_MONS_VAMPIRE_BAT}, TILE_ERROR 392 }, 393 394 { 395 MONS_FIRE_BAT, 'b', LIGHTRED, "fire bat", 396 M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD | M_BATTY | M_FLIES, 397 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_VUL_WATER, 398 8, MONS_BAT, MONS_FIRE_BAT, MH_NATURAL, 10, 399 { {AT_BITE, AF_FIRE, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 400 5, 225, 401 1, 14, MST_NO_SPELLS, false, S_SILENT, 402 I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY, 403 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BAT, 404 {TILEP_MONS_FIRE_BAT}, TILE_ERROR 405 }, 406 407 { 408 MONS_BENNU, 'b', YELLOW, "bennu", 409 M_SEE_INVIS | M_WARM_BLOOD | M_FAST_REGEN | M_NO_POLY_TO | M_SPEAKS 410 | M_FLIES, 411 mrd(MR_RES_FIRE | MR_RES_NEG, 3) | MR_RES_POISON | 412 MR_RES_MIASMA | MR_VUL_WATER, 413 6, MONS_BENNU, MONS_BENNU, MH_NATURAL, 140, 414 { {AT_PECK, AF_HOLY, 27}, {AT_CLAW, AF_PLAIN, 24}, 415 {AT_CLAW, AF_PLAIN, 24}, AT_NO_ATK }, 416 14, 770, 417 6, 16, MST_NO_SPELLS, false, S_SCREECH, 418 I_HUMAN, HT_LAND, 16, DEFAULT_ENERGY, 419 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_BIRD, 420 {TILEP_MONS_BENNU}, TILE_ERROR 421 }, 422 423 { 424 MONS_CAUSTIC_SHRIKE, 'b', LIGHTGREEN, "caustic shrike", 425 M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD | M_FLIES, 426 MR_RES_COLD | MR_RES_FIRE, 427 15, MONS_CAUSTIC_SHRIKE, MONS_CAUSTIC_SHRIKE, MH_NATURAL, 80, 428 { {AT_CLAW, AF_ACID, 36}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 429 18, 1080, 430 8, 18, MST_NO_SPELLS, true, S_SCREECH, 431 I_ANIMAL, HT_LAND, 20, DEFAULT_ENERGY, 432 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BIRD, 433 {TILEP_MONS_CAUSTIC_SHRIKE}, TILE_CORPSE_CAUSTIC_SHRIKE 434 }, 435 436 { 437 MONS_SHARD_SHRIKE, 'b', LIGHTBLUE, "shard shrike", 438 M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD | M_BATTY | M_FLIES, 439 mrd(MR_RES_COLD, 2), 440 12, MONS_SHARD_SHRIKE, MONS_SHARD_SHRIKE, MH_NATURAL, 80, 441 { {AT_CLAW, AF_COLD, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 442 21, 1050, 443 2, 18, MST_SHARD_SHRIKE, true, S_SCREECH, 444 I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY, 445 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_BIRD, 446 {TILEP_MONS_SHARD_SHRIKE}, TILE_CORPSE_SHARD_SHRIKE 447 }, 448 449 // centaurs ('c') 450 { 451 MONS_CENTAUR, 'c', BROWN, "centaur", 452 M_WARM_BLOOD | M_ARCHER | M_SPEAKS, 453 MR_NO_FLAGS, 454 10, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, 20, 455 { {AT_HIT, AF_PLAIN, 7}, {AT_KICK, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK }, 456 4, 220, 457 3, 7, MST_NO_SPELLS, true, S_SHOUT, 458 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 459 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_CENTAUR, 460 {TILEP_MONS_CENTAUR}, TILE_CORPSE_CENTAUR 461 }, 462 463 { 464 MONS_CENTAUR_WARRIOR, 'c', YELLOW, "centaur warrior", 465 M_WARM_BLOOD | M_FIGHTER | M_ARCHER | M_SPEAKS, 466 MR_NO_FLAGS, 467 12, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, 40, 468 { {AT_HIT, AF_PLAIN, 16}, {AT_KICK, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK }, 469 10, 550, 470 4, 8, MST_NO_SPELLS, true, S_SHOUT, 471 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 472 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_CENTAUR, 473 {TILEP_MONS_CENTAUR_WARRIOR}, TILE_ERROR 474 }, 475 476 { 477 MONS_YAKTAUR, 'c', RED, "yaktaur", 478 M_WARM_BLOOD | M_ARCHER | M_SPEAKS, 479 MR_NO_FLAGS, 480 9, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, 40, 481 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 482 8, 440, 483 4, 4, MST_NO_SPELLS, true, S_SHOUT, 484 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 485 MONUSE_WEAPONS_ARMOUR, SIZE_BIG, MON_SHAPE_CENTAUR, 486 {TILEP_MONS_YAKTAUR}, TILE_CORPSE_YAKTAUR 487 }, 488 489 { 490 MONS_YAKTAUR_CAPTAIN, 'c', LIGHTRED, "yaktaur captain", 491 M_WARM_BLOOD | M_FIGHTER | M_ARCHER | M_SPEAKS, 492 MR_NO_FLAGS, 493 9, MONS_YAKTAUR, MONS_YAKTAUR, MH_NATURAL, 60, 494 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 495 14, 770, 496 5, 5, MST_NO_SPELLS, true, S_SHOUT, 497 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 498 MONUSE_WEAPONS_ARMOUR, SIZE_BIG, MON_SHAPE_CENTAUR, 499 {TILEP_MONS_YAKTAUR_CAPTAIN}, TILE_ERROR 500 }, 501 502 { 503 MONS_FAUN, 'c', GREEN, "faun", 504 M_WARM_BLOOD | M_SPEAKS, 505 MR_NO_FLAGS, 506 8, MONS_FAUN, MONS_FAUN, MH_NATURAL, 40, 507 { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 508 10, 500, 509 2, 10, MST_FAUN, true, S_SHOUT, 510 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 511 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, 512 MON_SHAPE_HUMANOID_TAILED, 513 {TILEP_MONS_FAUN}, TILE_CORPSE_FAUN 514 }, 515 516 { 517 MONS_SATYR, 'c', LIGHTGREEN, "satyr", 518 M_WARM_BLOOD | M_SPEAKS | M_ARCHER | M_PREFER_RANGED, 519 MR_NO_FLAGS, 520 10, MONS_FAUN, MONS_SATYR, MH_NATURAL, 40, 521 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 522 12, 660, 523 2, 12, MST_SATYR, true, S_SHOUT, 524 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 525 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, 526 MON_SHAPE_HUMANOID_TAILED, 527 {TILEP_MONS_SATYR}, TILE_CORPSE_SATYR 528 }, 529 530 // draconians ('d') 531 { // Base draconian. 532 MONS_DRACONIAN, 'd', BROWN, "draconian", 533 M_COLD_BLOOD | M_SPEAKS | M_NO_POLY_TO, 534 MR_NO_FLAGS, 535 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 10, 536 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 537 8, 640, 538 10, 11, MST_NO_SPELLS, true, S_ROAR, I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 539 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 540 MON_SHAPE_HUMANOID_TAILED, 541 {TILEP_DRACO_BASE}, TILE_CORPSE_DRACONIAN_BROWN 542 }, 543 544 { 545 MONS_BLACK_DRACONIAN, 'd', BLUE, "black draconian", 546 M_COLD_BLOOD | M_SPEAKS | M_FLIES, 547 mrd(MR_RES_ELEC, 3), 548 10, MONS_DRACONIAN, MONS_BLACK_DRACONIAN, MH_NATURAL, 40, 549 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 550 14, 980, 551 9, 10, MST_NO_SPELLS, true, S_ROAR, 552 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 553 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 554 MON_SHAPE_HUMANOID_WINGED_TAILED, 555 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_BLACK 556 }, 557 558 { 559 MONS_YELLOW_DRACONIAN, 'd', YELLOW, "yellow draconian", 560 M_COLD_BLOOD | M_SPEAKS, 561 MR_RES_ACID, 562 10, MONS_DRACONIAN, MONS_YELLOW_DRACONIAN, MH_NATURAL, 40, 563 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 564 14, 980, 565 9, 10, MST_NO_SPELLS, true, S_ROAR, 566 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 567 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 568 MON_SHAPE_HUMANOID_TAILED, 569 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_YELLOW 570 }, 571 572 { 573 // Colours are used for picking the right tile for Tiamat, 574 // so this needs to be different from the grey draconian. (jpeg) 575 MONS_PALE_DRACONIAN, 'd', CYAN, "pale draconian", 576 M_COLD_BLOOD | M_SPEAKS | M_NO_POLY_TO, 577 MR_RES_STEAM, 578 10, MONS_DRACONIAN, MONS_PALE_DRACONIAN, MH_NATURAL, 40, 579 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 580 14, 980, 581 9, 14, MST_NO_SPELLS, true, S_ROAR, 582 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 583 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 584 MON_SHAPE_HUMANOID_TAILED, 585 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_PALE 586 }, 587 588 { 589 MONS_GREEN_DRACONIAN, 'd', GREEN, "green draconian", 590 M_COLD_BLOOD | M_SPEAKS, 591 MR_RES_POISON, 592 10, MONS_DRACONIAN, MONS_GREEN_DRACONIAN, MH_NATURAL, 40, 593 { {AT_HIT, AF_PLAIN, 20}, {AT_TAIL_SLAP, AF_POISON, 15}, AT_NO_ATK, 594 AT_NO_ATK }, 595 14, 980, 596 9, 10, MST_NO_SPELLS, true, S_ROAR, 597 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 598 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 599 MON_SHAPE_HUMANOID_TAILED, 600 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_GREEN 601 }, 602 603 { 604 MONS_PURPLE_DRACONIAN, 'd', MAGENTA, "purple draconian", 605 M_COLD_BLOOD | M_SPEAKS, 606 MR_NO_FLAGS, 607 10, MONS_DRACONIAN, MONS_PURPLE_DRACONIAN, MH_NATURAL, 140, 608 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 609 14, 980, 610 9, 10, MST_NO_SPELLS, true, S_ROAR, 611 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 612 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 613 MON_SHAPE_HUMANOID_TAILED, 614 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_PURPLE 615 }, 616 617 { 618 MONS_RED_DRACONIAN, 'd', LIGHTRED, "red draconian", 619 M_COLD_BLOOD | M_SPEAKS, 620 MR_RES_FIRE, 621 10, MONS_DRACONIAN, MONS_RED_DRACONIAN, MH_NATURAL, 40, 622 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 623 14, 980, 624 9, 10, MST_NO_SPELLS, true, S_ROAR, 625 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 626 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 627 MON_SHAPE_HUMANOID_TAILED, 628 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_RED 629 }, 630 631 { 632 MONS_WHITE_DRACONIAN, 'd', WHITE, "white draconian", 633 M_COLD_BLOOD | M_SPEAKS, 634 MR_RES_COLD, 635 10, MONS_DRACONIAN, MONS_WHITE_DRACONIAN, MH_NATURAL, 40, 636 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 637 14, 980, 638 9, 10, MST_NO_SPELLS, true, S_ROAR, 639 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 640 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 641 MON_SHAPE_HUMANOID_TAILED, 642 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_WHITE 643 }, 644 645 { 646 MONS_GREY_DRACONIAN, 'd', LIGHTGREY, "grey draconian", 647 M_COLD_BLOOD | M_SPEAKS | M_NO_POLY_TO, 648 MR_NO_FLAGS, 649 10, MONS_DRACONIAN, MONS_GREY_DRACONIAN, MH_NATURAL, 40, 650 { {AT_HIT, AF_PLAIN, 25}, {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK, 651 AT_NO_ATK }, 652 14, 980, 653 16, 10, MST_NO_SPELLS, true, S_ROAR, 654 I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 655 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 656 MON_SHAPE_HUMANOID_TAILED, 657 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_DRACONIAN_GREY 658 }, 659 660 // nonbase draconians ('q') 661 // Nonbase draconian AC and EV is additive with the base type. 662 { 663 MONS_DRACONIAN_STORMCALLER, 'q', BROWN, "draconian stormcaller", 664 M_COLD_BLOOD | M_SPEAKS, 665 MR_NO_FLAGS, 666 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40, 667 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 668 16, 880, 669 0, 0, MST_DRACONIAN_STORMCALLER, true, S_ROAR, 670 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 671 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 672 MON_SHAPE_HUMANOID_TAILED, 673 {TILEP_DRACO_STORMCALLER}, TILE_ERROR 674 }, 675 676 { 677 MONS_DRACONIAN_MONK, 'q', BLUE, "draconian monk", 678 M_FIGHTER | M_COLD_BLOOD | M_SPEAKS, 679 MR_NO_FLAGS, 680 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40, 681 { {AT_HIT, AF_PLAIN, 35}, {AT_KICK, AF_PLAIN, 20}, 682 {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK }, 683 16, 1200, 684 -3, 10, MST_NO_SPELLS, true, S_ROAR, 685 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 686 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 687 MON_SHAPE_HUMANOID_TAILED, 688 {TILEP_DRACO_MONK}, TILE_ERROR 689 }, 690 691 { 692 MONS_DRACONIAN_SHIFTER, 'q', LIGHTCYAN, "draconian shifter", 693 M_COLD_BLOOD | M_SPEAKS, 694 MR_NO_FLAGS, 695 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40, 696 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 697 16, 960, 698 -1, 6, MST_DRACONIAN_SHIFTER, true, S_ROAR, 699 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 700 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 701 MON_SHAPE_HUMANOID_TAILED, 702 {TILEP_DRACO_SHIFTER}, TILE_ERROR 703 }, 704 705 { 706 MONS_DRACONIAN_ANNIHILATOR, 'q', LIGHTBLUE, "draconian annihilator", 707 M_COLD_BLOOD | M_SPEAKS, 708 MR_NO_FLAGS, 709 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40, 710 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 711 16, 800, 712 -1, 0, MST_ANNIHILATOR, true, S_ROAR, 713 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 714 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 715 MON_SHAPE_HUMANOID_TAILED, 716 {TILEP_DRACO_ANNIHILATOR}, TILE_ERROR 717 }, 718 719 { 720 MONS_DRACONIAN_KNIGHT, 'q', CYAN, "draconian knight", 721 M_FIGHTER | M_COLD_BLOOD | M_SPEAKS, 722 MR_NO_FLAGS, 723 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 40, 724 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 725 16, 1120, 726 9, 2, MST_DRACONIAN_KNIGHT, true, S_ROAR, 727 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 728 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 729 MON_SHAPE_HUMANOID_TAILED, 730 {TILEP_DRACO_KNIGHT}, TILE_ERROR 731 }, 732 733 { 734 MONS_DRACONIAN_SCORCHER, 'q', LIGHTRED, "draconian scorcher", 735 M_COLD_BLOOD | M_SPEAKS, 736 MR_NO_FLAGS, 737 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL | MH_EVIL, 40, 738 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 739 16, 800, 740 -1, 2, MST_DRACONIAN_SCORCHER, true, S_ROAR, 741 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 742 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 743 MON_SHAPE_HUMANOID_TAILED, 744 {TILEP_DRACO_SCORCHER}, TILE_ERROR 745 }, 746 747 // elves ('e') 748 { 749 MONS_ELF, 'e', LIGHTRED, "elf", 750 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 751 MR_NO_FLAGS, 752 10, MONS_ELF, MONS_ELF, MH_NATURAL, 40, 753 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 754 8, 360, 755 3, 15, MST_NO_SPELLS, true, S_SHOUT, 756 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 757 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 758 {TILEP_MONS_ELF}, TILE_CORPSE_ELF 759 }, 760 761 { 762 MONS_DEEP_ELF_KNIGHT, 'e', BLUE, "deep elf knight", 763 M_WARM_BLOOD | M_FIGHTER | M_SPEAKS, 764 MR_NO_FLAGS, 765 10, MONS_ELF, MONS_ELF, MH_NATURAL, 80, 766 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 767 11, 495, 768 0, 17, MST_DEEP_ELF_KNIGHT, true, S_SHOUT, 769 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 770 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 771 {TILEP_MONS_DEEP_ELF_KNIGHT}, TILE_ERROR 772 }, 773 774 { 775 MONS_DEEP_ELF_ARCHER, 'e', BROWN, "deep elf archer", 776 M_WARM_BLOOD | M_ARCHER | M_SPEAKS, 777 MR_NO_FLAGS, 778 10, MONS_ELF, MONS_ELF, MH_NATURAL, 80, 779 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 780 10, 500, 781 0, 15, MST_DEEP_ELF_ARCHER, true, S_SHOUT, 782 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 783 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 784 {TILEP_MONS_DEEP_ELF_ARCHER}, TILE_ERROR 785 }, 786 787 { 788 MONS_DEEP_ELF_BLADEMASTER, 'e', LIGHTCYAN, "deep elf blademaster", 789 M_WARM_BLOOD | M_FIGHTER | M_TWO_WEAPONS | M_SPEAKS, 790 MR_NO_FLAGS, 791 10, MONS_ELF, MONS_ELF, MH_NATURAL, 120, 792 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK }, 793 16, 1040, 794 0, 25, MST_NO_SPELLS, true, S_SHOUT, 795 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 796 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 797 {TILEP_MONS_DEEP_ELF_BLADEMASTER}, TILE_ERROR 798 }, 799 800 { 801 MONS_DEEP_ELF_MASTER_ARCHER, 'e', LIGHTGREY, "deep elf master archer", 802 M_WARM_BLOOD | M_ARCHER | M_PREFER_RANGED | M_SPEAKS, 803 MR_NO_FLAGS, 804 30, MONS_ELF, MONS_ELF, MH_NATURAL, 100, 805 // Attack damage gets rolled into their ranged attacks. 806 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 807 15, 750, 808 0, 15, MST_NO_SPELLS, true, S_SHOUT, 809 I_HUMAN, HT_LAND, 10, MISSILE_ENERGY(5), 810 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 811 {TILEP_MONS_DEEP_ELF_MASTER_ARCHER}, TILE_ERROR 812 }, 813 814 { 815 MONS_DEEP_ELF_AIR_MAGE, 'e', CYAN, "deep elf zephyrmancer", 816 M_WARM_BLOOD | M_SPEAKS, 817 MR_NO_FLAGS, 818 12, MONS_ELF, MONS_ELF, MH_NATURAL, 40, 819 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 820 9, 405, 821 0, 13, MST_DEEP_ELF_AIR_MAGE, true, S_SHOUT, 822 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 823 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 824 {TILEP_MONS_DEEP_ELF_AIR_MAGE}, TILE_ERROR 825 }, 826 827 { 828 MONS_DEEP_ELF_FIRE_MAGE, 'e', RED, "deep elf pyromancer", 829 M_WARM_BLOOD | M_SPEAKS, 830 MR_NO_FLAGS, 831 12, MONS_ELF, MONS_ELF, MH_NATURAL, 40, 832 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 833 9, 405, 834 0, 13, MST_DEEP_ELF_FIRE_MAGE, true, S_SHOUT, 835 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 836 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 837 {TILEP_MONS_DEEP_ELF_FIRE_MAGE}, TILE_ERROR 838 }, 839 840 { 841 MONS_DEEP_ELF_HIGH_PRIEST, 'e', LIGHTGREEN, "deep elf high priest", 842 M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS, 843 MR_NO_FLAGS, 844 15, MONS_ELF, MONS_ELF, MH_NATURAL | MH_EVIL, 80, 845 { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 846 11, 495, 847 3, 13, MST_DEEP_ELF_HIGH_PRIEST, true, S_SHOUT, 848 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 849 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 850 {TILEP_MONS_DEEP_ELF_HIGH_PRIEST}, TILE_ERROR 851 }, 852 853 { 854 MONS_DEEP_ELF_DEMONOLOGIST, 'e', YELLOW, "deep elf demonologist", 855 M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 856 MR_NO_FLAGS, 857 20, MONS_ELF, MONS_ELF, MH_NATURAL | MH_EVIL, 100, 858 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 859 12, 540, 860 0, 13, MST_DEEP_ELF_DEMONOLOGIST, true, S_SHOUT, 861 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 862 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 863 {TILEP_MONS_DEEP_ELF_DEMONOLOGIST}, TILE_ERROR 864 }, 865 866 { 867 MONS_DEEP_ELF_ANNIHILATOR, 'e', LIGHTBLUE, "deep elf annihilator", 868 M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 869 MR_NO_FLAGS, 870 10, MONS_ELF, MONS_ELF, MH_NATURAL, 120, 871 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 872 15, 675, 873 0, 13, MST_ANNIHILATOR, true, S_SHOUT, 874 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 875 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 876 {TILEP_MONS_DEEP_ELF_ANNIHILATOR}, TILE_ERROR 877 }, 878 879 { 880 MONS_DEEP_ELF_SORCERER, 'e', LIGHTMAGENTA, "deep elf sorcerer", 881 M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 882 MR_NO_FLAGS, 883 17, MONS_ELF, MONS_ELF, MH_NATURAL | MH_EVIL, 120, 884 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 885 14, 630, 886 0, 13, MST_DEEP_ELF_SORCERER, true, S_SHOUT, 887 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 888 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 889 {TILEP_MONS_DEEP_ELF_SORCERER}, TILE_ERROR 890 }, 891 892 { 893 MONS_DEEP_ELF_DEATH_MAGE, 'e', WHITE, "deep elf death mage", 894 M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 895 MR_NO_FLAGS, 896 10, MONS_ELF, MONS_ELF, MH_NATURAL | MH_EVIL, 120, 897 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 898 15, 675, 899 0, 13, MST_DEEP_ELF_DEATH_MAGE, true, S_SHOUT, 900 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 901 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 902 {TILEP_MONS_DEEP_ELF_DEATH_MAGE}, TILE_ERROR 903 }, 904 905 { 906 MONS_DEEP_ELF_ELEMENTALIST, 'e', LIGHTRED, "deep elf elementalist", 907 M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 908 MR_NO_FLAGS, 909 17, MONS_ELF, MONS_ELF, MH_NATURAL, 120, 910 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 911 14, 630, 912 0, 13, MST_DEEP_ELF_ELEMENTALIST, true, S_SHOUT, 913 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 914 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 915 {TILEP_MONS_DEEP_ELF_ELEMENTALIST, TVARY_CYCLE}, TILE_ERROR 916 }, 917 918 // Mobile plants and fungi ('f') 919 { 920 MONS_WANDERING_MUSHROOM, 'f', BROWN, "wandering mushroom", 921 M_NO_FLAGS, 922 MR_RES_POISON, 923 10, MONS_FUNGUS, MONS_WANDERING_MUSHROOM, MH_PLANT, 40, 924 { {AT_SPORE, AF_CONFUSE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 925 8, 440, 926 5, 0, MST_NO_SPELLS, false, S_SILENT, 927 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 928 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS, 929 {TILEP_MONS_WANDERING_MUSHROOM}, TILE_ERROR 930 }, 931 932 { 933 MONS_DEATHCAP, 'f', LIGHTMAGENTA, "deathcap", 934 M_NO_FLAGS, 935 MR_RES_COLD, 936 6, MONS_FUNGUS, MONS_WANDERING_MUSHROOM, MH_UNDEAD, 80, 937 { {AT_SPORE, AF_CONFUSE, 33}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 938 13, 520, 939 5, 0, MST_DEATHCAP, false, S_SILENT, 940 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 941 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS, 942 {TILEP_MONS_DEATHCAP}, TILE_ERROR 943 }, 944 945 { 946 MONS_THORN_HUNTER, 'f', WHITE, "thorn hunter", 947 M_SEE_INVIS, 948 MR_RES_POISON | MR_VUL_FIRE, 949 14, MONS_PLANT, MONS_THORN_HUNTER, MH_PLANT, 100, 950 { {AT_HIT, AF_PLAIN, 27}, {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, 951 AT_NO_ATK }, 952 15, 975, 953 9, 9, MST_THORN_HUNTER, false, S_SILENT, 954 I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(12), 955 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_PLANT, 956 {TILEP_MONS_THORN_HUNTER}, TILE_ERROR 957 }, 958 959 { 960 MONS_SHAMBLING_MANGROVE, 'f', LIGHTRED, "shambling mangrove", 961 M_NO_FLAGS, 962 MR_RES_POISON, 963 15, MONS_SHAMBLING_MANGROVE, MONS_SHAMBLING_MANGROVE, MH_PLANT, 100, 964 { {AT_HIT, AF_PLAIN, 41}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 965 13, 910, 966 13, 3, MST_SHAMBLING_MANGROVE, false, S_SILENT, 967 I_HUMAN, HT_AMPHIBIOUS, 8, DEFAULT_ENERGY, 968 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_PLANT, 969 {TILEP_MONS_TREANT}, TILE_ERROR 970 }, 971 972 { 973 MONS_VINE_STALKER, 'f', GREEN, "vine stalker", 974 M_SPEAKS | M_NO_POLY_TO | M_FAST_REGEN, 975 MR_NO_FLAGS, 976 10, MONS_VINE_STALKER, MONS_VINE_STALKER, MH_NATURAL, 40, 977 { {AT_HIT, AF_PLAIN, 10}, {AT_BITE, AF_ANTIMAGIC, 10}, AT_NO_ATK, 978 AT_NO_ATK }, 979 8, 360, 980 2, 12, MST_NO_SPELLS, false, S_SHOUT, 981 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 982 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 983 {TILEP_MONS_VINE_STALKER}, TILE_ERROR 984 }, 985 986 // goblins and other small humanoids ('g') 987 { 988 MONS_GOBLIN, 'g', LIGHTGREY, "goblin", 989 M_WARM_BLOOD | M_SPEAKS, 990 MR_NO_FLAGS, 991 10, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, 0, 992 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 993 1, 40, 994 0, 12, MST_NO_SPELLS, true, S_SHOUT, 995 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 996 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, 997 {TILEP_MONS_GOBLIN}, TILE_CORPSE_GOBLIN 998 }, 999 1000 { 1001 MONS_HOBGOBLIN, 'g', BROWN, "hobgoblin", 1002 M_WARM_BLOOD | M_SPEAKS, 1003 MR_NO_FLAGS, 1004 10, MONS_GOBLIN, MONS_HOBGOBLIN, MH_NATURAL, 0, 1005 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1006 1, 55, 1007 2, 10, MST_NO_SPELLS, true, S_SHOUT, 1008 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1009 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1010 {TILEP_MONS_HOBGOBLIN}, TILE_CORPSE_HOBGOBLIN 1011 }, 1012 1013 { 1014 MONS_GNOLL, 'g', YELLOW, "gnoll", 1015 M_WARM_BLOOD | M_SPEAKS, 1016 MR_NO_FLAGS, 1017 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 10, 1018 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1019 2, 130, 1020 2, 9, MST_NO_SPELLS, true, S_SHOUT, 1021 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1022 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1023 {TILEP_MONS_GNOLL}, TILE_CORPSE_GNOLL 1024 }, 1025 1026 { 1027 MONS_GNOLL_SHAMAN, 'g', WHITE, "gnoll shaman", 1028 M_WARM_BLOOD | M_SPEAKS, 1029 MR_NO_FLAGS, 1030 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 20, 1031 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1032 3, 195, 1033 2, 9, MST_GNOLL_SHAMAN, true, S_SHOUT, 1034 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1035 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1036 {TILEP_MONS_GNOLL_SHAMAN}, TILE_ERROR 1037 }, 1038 1039 { 1040 MONS_GNOLL_SERGEANT, 'g', CYAN, "gnoll sergeant", 1041 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS, 1042 MR_NO_FLAGS, 1043 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 20, 1044 { {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1045 4, 260, 1046 2, 9, MST_NO_SPELLS, true, S_SHOUT, 1047 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1048 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1049 {TILEP_MONS_GNOLL_SERGEANT}, TILE_ERROR 1050 }, 1051 1052 { 1053 MONS_BOGGART, 'g', MAGENTA, "boggart", 1054 M_SEE_INVIS | M_WARM_BLOOD, 1055 MR_NO_FLAGS, 1056 14, MONS_BOGGART, MONS_BOGGART, MH_NATURAL, 40, 1057 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1058 4, 200, 1059 0, 12, MST_BOGGART, false, S_SHOUT, 1060 I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY, 1061 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID, 1062 {TILEP_MONS_BOGGART}, TILE_ERROR 1063 }, 1064 1065 { // Another dummy monster. 1066 MONS_DWARF, 'g', GREEN, "dwarf", 1067 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 1068 MR_NO_FLAGS, 1069 10, MONS_DWARF, MONS_DWARF, MH_NATURAL, 20, 1070 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1071 5, 275, 1072 2, 12, MST_NO_SPELLS, true, S_SHOUT, 1073 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1074 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1075 {TILEP_MONS_DWARF}, TILE_CORPSE_DWARF 1076 }, 1077 1078 { 1079 MONS_DEEP_DWARF, 'g', LIGHTBLUE, "deep dwarf", 1080 M_WARM_BLOOD | M_SPEAKS | M_NO_REGEN | M_NO_POLY_TO, 1081 MR_NO_FLAGS, 1082 10, MONS_DWARF, MONS_DEEP_DWARF, MH_NATURAL, 40, 1083 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1084 5, 275, 1085 2, 12, MST_NO_SPELLS, true, S_SHOUT, 1086 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1087 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1088 {TILEP_MONS_DEEP_DWARF}, TILE_CORPSE_DEEP_DWARF 1089 }, 1090 1091 // carnivorous quadrupeds ('h') 1092 { 1093 MONS_JACKAL, 'h', BROWN, "jackal", 1094 M_WARM_BLOOD, 1095 MR_NO_FLAGS, 1096 10, MONS_HOUND, MONS_JACKAL, MH_NATURAL, 0, 1097 { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1098 1, 55, 1099 2, 12, MST_NO_SPELLS, true, S_BARK, 1100 I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY, 1101 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, 1102 {TILEP_MONS_JACKAL}, TILE_CORPSE_JACKAL 1103 }, 1104 1105 { 1106 MONS_HOUND, 'h', YELLOW, "hound", 1107 M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD, 1108 MR_NO_FLAGS, 1109 10, MONS_HOUND, MONS_HOUND, MH_NATURAL, 10, 1110 { {AT_BITE, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1111 3, 165, 1112 2, 13, MST_NO_SPELLS, true, S_BARK, 1113 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 1114 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, 1115 {TILEP_MONS_HOUND}, TILE_CORPSE_HOUND 1116 }, 1117 1118 { 1119 MONS_HOWLER_MONKEY, 'h', LIGHTGREEN, "howler monkey", 1120 M_WARM_BLOOD, 1121 MR_NO_FLAGS, 1122 15, MONS_HOWLER_MONKEY, MONS_HOWLER_MONKEY, MH_NATURAL, 10, 1123 { {AT_HIT, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1124 3, 185, 1125 1, 11, MST_HOWLER_MONKEY, true, S_HOWL, 1126 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 1127 MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID_TAILED, 1128 {TILEP_MONS_HOWLER_MONKEY}, TILE_CORPSE_HOWLER_MONKEY 1129 }, 1130 1131 { 1132 MONS_WARG, 'h', WHITE, "warg", 1133 M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD, 1134 MR_RES_POISON, 1135 12, MONS_HOUND, MONS_WARG, MH_NATURAL, 40, 1136 { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1137 5, 325, 1138 4, 12, MST_NO_SPELLS, true, S_HOWL, 1139 I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY, 1140 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED, 1141 {TILEP_MONS_WARG}, TILE_CORPSE_WARG 1142 }, 1143 1144 { 1145 MONS_WOLF, 'h', LIGHTGREY, "wolf", 1146 M_SEE_INVIS | M_UNBLINDABLE | M_WARM_BLOOD, 1147 MR_NO_FLAGS, 1148 12, MONS_HOUND, MONS_WOLF, MH_NATURAL, 20, 1149 { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1150 4, 220, 1151 4, 15, MST_NO_SPELLS, true, S_HOWL, 1152 I_ANIMAL, HT_LAND, 17, DEFAULT_ENERGY, 1153 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED, 1154 {TILEP_MONS_WOLF}, TILE_CORPSE_WOLF 1155 }, 1156 1157 { 1158 MONS_HOG, 'h', LIGHTMAGENTA, "hog", 1159 M_WARM_BLOOD, 1160 MR_NO_FLAGS, 1161 10, MONS_HOG, MONS_HOG, MH_NATURAL, 20, 1162 { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1163 6, 330, 1164 2, 9, MST_NO_SPELLS, true, S_SQUEAL, 1165 I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY, 1166 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, 1167 {TILEP_MONS_HOG}, TILE_CORPSE_HOG 1168 }, 1169 1170 { 1171 MONS_HELL_HOUND, 'h', CYAN, "hell hound", 1172 M_SEE_INVIS | M_UNBLINDABLE, 1173 MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD, 1174 10, MONS_HOUND, MONS_HELL_HOUND, MH_DEMONIC, 20, 1175 { {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1176 5, 275, 1177 6, 13, MST_HELL_HOUND, true, S_BARK, 1178 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 1179 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED, 1180 {TILEP_MONS_HELL_HOUND}, TILE_CORPSE_HELL_HOUND 1181 }, 1182 1183 { 1184 MONS_DOOM_HOUND, 'h', GREEN, "doom hound", 1185 M_SEE_INVIS | M_UNBLINDABLE, 1186 MR_NO_FLAGS, 1187 10, MONS_HOUND, MONS_DOOM_HOUND, MH_DEMONIC, 20, 1188 { {AT_BITE, AF_PLAIN, 45}, {AT_CLAW, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK }, 1189 20, 1100, 1190 6, 13, MST_DOOM_HOUND, true, S_BARK, 1191 I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY, 1192 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED, 1193 {TILEP_MONS_DOOM_HOUND}, TILE_CORPSE_DOOM_HOUND 1194 }, 1195 1196 { 1197 MONS_RAIJU, 'h', LIGHTCYAN, "raiju", 1198 M_SEE_INVIS | M_UNBLINDABLE, 1199 mrd(MR_RES_ELEC, 3), 1200 12, MONS_HOUND, MONS_RAIJU, MH_NATURAL, 20, 1201 { {AT_BITE, AF_ELEC, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1202 7, 385, 1203 4, 14, MST_RAIJU, true, S_BARK, 1204 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 1205 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED, 1206 {TILEP_MONS_RAIJU}, TILE_CORPSE_RAIJU 1207 }, 1208 1209 { 1210 MONS_HELL_HOG, 'h', LIGHTRED, "hell hog", 1211 M_NO_FLAGS, 1212 mrd(MR_RES_FIRE, 2), 1213 10, MONS_HOG, MONS_HELL_HOG, MH_DEMONIC, 40, 1214 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1215 11, 595, 1216 2, 9, MST_HELL_HOG, true, S_SQUEAL, 1217 I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY, 1218 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED, 1219 {TILEP_MONS_HELL_HOG}, TILE_CORPSE_HELL_HOG 1220 }, 1221 1222 { // effect of porkalator cast on holies 1223 MONS_HOLY_SWINE, 'h', YELLOW, "holy swine", 1224 M_FLIES, 1225 MR_NO_FLAGS, 1226 10, MONS_HOG, MONS_HOLY_SWINE, MH_HOLY, 40, 1227 { {AT_BITE, AF_HOLY, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1228 11, 605, 1229 2, 9, MST_NO_SPELLS, false, S_SQUEAL, 1230 I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY, 1231 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, 1232 {TILEP_MONS_HOLY_SWINE,}, TILE_ERROR 1233 }, 1234 1235 { // a dummy monster for recolouring 1236 MONS_FELID, 'h', MAGENTA, "felid", 1237 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 1238 MR_NO_FLAGS, 1239 10, MONS_FELID, MONS_FELID, MH_NATURAL, 40, 1240 { {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1241 5, 175, 1242 2, 18, MST_NO_SPELLS, true, S_HISS, 1243 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(8), 1244 MONUSE_STARTING_EQUIPMENT, SIZE_LITTLE, MON_SHAPE_QUADRUPED, 1245 {TILEP_MONS_FELID}, TILE_CORPSE_FELID 1246 }, 1247 1248 DUMMY(MONS_BEAR, 'h', LIGHTGREY, "bear", TILEP_MONS_BLACK_BEAR) 1249 1250 { 1251 MONS_POLAR_BEAR, 'h', LIGHTBLUE, "polar bear", 1252 M_WARM_BLOOD, 1253 MR_RES_COLD, 1254 12, MONS_BEAR, MONS_POLAR_BEAR, MH_NATURAL, 20, 1255 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5}, 1256 AT_NO_ATK }, 1257 7, 455, 1258 7, 8, MST_BEAR, true, S_GROWL, 1259 I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 1260 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_TAILLESS, 1261 {TILEP_MONS_POLAR_BEAR}, TILE_CORPSE_POLAR_BEAR 1262 }, 1263 1264 { 1265 MONS_BLACK_BEAR, 'h', BLUE, "black bear", 1266 M_WARM_BLOOD, 1267 MR_NO_FLAGS, 1268 9, MONS_BEAR, MONS_BLACK_BEAR, MH_NATURAL, 20, 1269 { {AT_BITE, AF_PLAIN, 9}, {AT_CLAW, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5}, 1270 AT_NO_ATK }, 1271 6, 270, 1272 2, 8, MST_BEAR, true, S_GROWL, 1273 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 1274 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS, 1275 {TILEP_MONS_BLACK_BEAR}, TILE_CORPSE_BLACK_BEAR 1276 }, 1277 1278 // spriggans ('i') 1279 { 1280 MONS_SPRIGGAN, 'i', LIGHTGREY, "spriggan", 1281 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS, 1282 MR_NO_FLAGS, 1283 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 60, 1284 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1285 7, 245, 1286 1, 18, MST_NO_SPELLS, true, S_SHOUT, 1287 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6), 1288 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID, 1289 {TILEP_MONS_SPRIGGAN}, TILE_CORPSE_SPRIGGAN 1290 }, 1291 1292 { // both the guy and his ride as one monster 1293 MONS_SPRIGGAN_RIDER, 'i', LIGHTBLUE, "spriggan rider", 1294 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER | M_FLIES, 1295 MR_VUL_POISON, // the mount 1296 8, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 100, 1297 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1298 11, 605, 1299 1, 18, MST_NO_SPELLS, true, S_SHOUT, 1300 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6), 1301 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, // ?? 1302 {TILEP_MONS_SPRIGGAN_RIDER}, TILE_ERROR 1303 }, 1304 1305 { 1306 MONS_SPRIGGAN_DRUID, 'i', GREEN, "spriggan druid", 1307 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS, 1308 MR_NO_FLAGS, 1309 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 100, 1310 { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1311 11, 440, 1312 1, 18, MST_SPRIGGAN_DRUID, true, S_SHOUT, 1313 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6), 1314 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID, 1315 {TILEP_MONS_SPRIGGAN_DRUID}, TILE_ERROR 1316 }, 1317 1318 { 1319 MONS_SPRIGGAN_BERSERKER, 'i', LIGHTRED, "spriggan berserker", 1320 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER, 1321 MR_NO_FLAGS, 1322 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 120, 1323 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1324 12, 540, 1325 2, 18, MST_SPRIGGAN_BERSERKER, true, S_SHOUT, 1326 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6), 1327 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID, 1328 {TILEP_MONS_SPRIGGAN_BERSERKER}, TILE_ERROR 1329 }, 1330 1331 { 1332 MONS_SPRIGGAN_AIR_MAGE, 'i', LIGHTCYAN, "spriggan air mage", 1333 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FLIES, 1334 MR_NO_FLAGS, 1335 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 140, 1336 { {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1337 14, 490, 1338 1, 24, MST_SPRIGGAN_AIR_MAGE, true, S_SHOUT, 1339 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6), 1340 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID, 1341 {TILEP_MONS_SPRIGGAN_AIR_MAGE}, TILE_ERROR 1342 }, 1343 1344 { 1345 MONS_SPRIGGAN_DEFENDER, 'i', YELLOW, "spriggan defender", 1346 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FIGHTER, 1347 MR_NO_FLAGS, 1348 10, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 140, 1349 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1350 15, 675, 1351 3, 22, MST_NO_SPELLS, true, S_SHOUT, 1352 I_HUMAN, HT_LAND, 16, DEFAULT_ENERGY, 1353 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID, 1354 {TILEP_MONS_SPRIGGAN_DEFENDER}, TILE_ERROR 1355 }, 1356 1357 // drakes ('k') 1358 DUMMY(MONS_DRAKE, 'k', LIGHTGREY, "drake", TILEP_MONS_SWAMP_DRAKE) 1359 1360 { 1361 MONS_SWAMP_DRAKE, 'k', BROWN, "swamp drake", 1362 M_WARM_BLOOD | M_FLIES, 1363 MR_RES_POISON, 1364 20, MONS_DRAKE, MONS_SWAMP_DRAKE, MH_NATURAL, 20, 1365 { {AT_BITE, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1366 4, 300, 1367 3, 11, MST_SWAMP_DRAKE, true, S_ROAR, 1368 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 1369 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED, 1370 {TILEP_MONS_SWAMP_DRAKE}, TILE_CORPSE_SWAMP_DRAKE 1371 }, 1372 1373 { 1374 MONS_RIME_DRAKE, 'k', BLUE, "rime drake", 1375 M_WARM_BLOOD | M_FLIES, 1376 MR_RES_COLD, 1377 22, MONS_DRAKE, MONS_RIME_DRAKE, MH_NATURAL, 20, 1378 { {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1379 6, 330, 1380 3, 12, MST_RIME_DRAKE, true, S_HISS, 1381 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 1382 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED, 1383 {TILEP_MONS_RIME_DRAKE}, TILE_CORPSE_RIME_DRAKE 1384 }, 1385 1386 { 1387 MONS_WIND_DRAKE, 'k', WHITE, "wind drake", 1388 M_WARM_BLOOD | M_FLIES, 1389 MR_NO_FLAGS, 1390 6, MONS_DRAKE, MONS_WIND_DRAKE, MH_NATURAL, 40, 1391 { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1392 8, 600, 1393 3, 14, MST_WIND_DRAKE, true, S_HISS, 1394 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 1395 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED, 1396 {TILEP_MONS_WIND_DRAKE}, TILE_CORPSE_WIND_DRAKE 1397 }, 1398 1399 { 1400 MONS_LINDWURM, 'k', LIGHTRED, "lindwurm", 1401 M_WARM_BLOOD, 1402 MR_NO_FLAGS, 1403 13, MONS_DRAKE, MONS_LINDWURM, MH_NATURAL, 40, 1404 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 10}, 1405 {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK }, 1406 9, 495, 1407 8, 6, MST_LINDWURM, true, S_ROAR, 1408 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 1409 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED, 1410 {TILEP_MONS_LINDWURM}, TILE_CORPSE_LINDWURM 1411 }, 1412 1413 { 1414 MONS_DEATH_DRAKE, 'k', LIGHTGREY, "death drake", 1415 M_COLD_BLOOD | M_FLIES, 1416 MR_RES_POISON | MR_RES_MIASMA, 1417 10, MONS_DRAKE, MONS_DEATH_DRAKE, MH_NATURAL, 40, 1418 { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1419 9, 765, 1420 6, 14, MST_DEATH_DRAKE, true, S_HISS, 1421 I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY, 1422 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED, 1423 {TILEP_MONS_DEATH_DRAKE}, TILE_CORPSE_DEATH_DRAKE 1424 }, 1425 1426 // lizards ('l') 1427 DUMMY(MONS_GIANT_LIZARD, 'l', LIGHTGREY, "giant lizard", TILEP_MONS_IGUANA) 1428 1429 { 1430 MONS_FRILLED_LIZARD, 'l', GREEN, "frilled lizard", 1431 M_COLD_BLOOD, 1432 MR_NO_FLAGS, 1433 10, MONS_GIANT_LIZARD, MONS_FRILLED_LIZARD, MH_NATURAL, 0, 1434 { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1435 1, 20, 1436 0, 15, MST_NO_SPELLS, true, S_HISS, 1437 I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 1438 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_QUADRUPED, 1439 {TILEP_MONS_FRILLED_LIZARD}, TILE_CORPSE_FRILLED_LIZARD 1440 }, 1441 1442 { 1443 MONS_IGUANA, 'l', BLUE, "iguana", 1444 M_COLD_BLOOD, 1445 MR_NO_FLAGS, 1446 13, MONS_GIANT_LIZARD, MONS_IGUANA, MH_NATURAL, 10, 1447 { {AT_BITE, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1448 3, 165, 1449 5, 9, MST_NO_SPELLS, true, S_HISS, 1450 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 1451 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, 1452 {TILEP_MONS_IGUANA}, TILE_CORPSE_IGUANA 1453 }, 1454 1455 { 1456 MONS_BASILISK, 'l', MAGENTA, "basilisk", 1457 M_COLD_BLOOD, 1458 MR_NO_FLAGS, 1459 10, MONS_GIANT_LIZARD, MONS_BASILISK, MH_NATURAL, 20, 1460 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1461 6, 360, 1462 3, 12, MST_BASILISK, true, S_HISS, 1463 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 1464 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_QUADRUPED, 1465 {TILEP_MONS_BASILISK}, TILE_CORPSE_BASILISK 1466 }, 1467 1468 { 1469 MONS_WYVERN, 'l', LIGHTGREEN, "wyvern", 1470 M_WARM_BLOOD | M_FLIES, 1471 MR_NO_FLAGS, 1472 15, MONS_WYVERN, MONS_WYVERN, MH_NATURAL, 20, 1473 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1474 5, 275, 1475 5, 10, MST_NO_SPELLS, true, S_HISS, 1476 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 1477 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED, 1478 {TILEP_MONS_WYVERN}, TILE_CORPSE_WYVERN 1479 }, 1480 1481 { 1482 MONS_KOMODO_DRAGON, 'l', LIGHTRED, "komodo dragon", 1483 M_COLD_BLOOD, 1484 MR_NO_FLAGS, 1485 10, MONS_GIANT_LIZARD, MONS_KOMODO_DRAGON, MH_NATURAL, 40, 1486 { {AT_BITE, AF_PLAIN, 34}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1487 8, 440, 1488 7, 8, MST_NO_SPELLS, true, S_HISS, 1489 I_ANIMAL, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 1490 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED, 1491 {TILEP_MONS_KOMODO_DRAGON}, TILE_CORPSE_KOMODO_DRAGON 1492 }, 1493 1494 // merfolk ('m') 1495 { 1496 MONS_MERFOLK, 'm', LIGHTRED, "merfolk", 1497 M_WARM_BLOOD | M_SPEAKS, 1498 MR_NO_FLAGS, 1499 4, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 40, 1500 { {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1501 10, 550, 1502 4, 12, MST_NO_SPELLS, true, S_SHOUT, 1503 I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 1504 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1505 {TILEP_MONS_MERFOLK, TVARY_WATER}, TILE_CORPSE_MERFOLK 1506 }, 1507 1508 { 1509 MONS_MERFOLK_IMPALER, 'm', YELLOW, "merfolk impaler", 1510 M_WARM_BLOOD | M_SPEAKS, 1511 MR_NO_FLAGS, 1512 13, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 40, 1513 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1514 12, 780, 1515 // Impalers prefer light armour, and are dodging experts. 1516 0, 18, MST_NO_SPELLS, true, S_SHOUT, 1517 I_HUMAN, HT_AMPHIBIOUS, 10, {10, 6, 6, 10, 10, 10, 10, 100}, 1518 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1519 {TILEP_MONS_MERFOLK_IMPALER, TVARY_WATER}, TILE_ERROR 1520 }, 1521 1522 { 1523 MONS_MERFOLK_JAVELINEER, 'm', WHITE, "merfolk javelineer", 1524 M_WARM_BLOOD | M_ARCHER | M_PREFER_RANGED | M_SPEAKS, 1525 MR_NO_FLAGS, 1526 12, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 60, 1527 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1528 13, 780, 1529 0, 14, MST_NO_SPELLS, true, S_SHOUT, 1530 I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 1531 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1532 {TILEP_MONS_MERFOLK_JAVELINEER, TVARY_WATER}, TILE_ERROR 1533 }, 1534 1535 { 1536 MONS_MERFOLK_AQUAMANCER, 'm', GREEN, "merfolk aquamancer", 1537 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS, 1538 MR_NO_FLAGS, 1539 8, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 80, 1540 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1541 14, 630, 1542 0, 12, MST_MERFOLK_AQUAMANCER, true, S_SHOUT, 1543 I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 1544 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1545 {TILEP_MONS_MERFOLK_AQUAMANCER, TVARY_WATER}, TILE_ERROR 1546 }, 1547 1548 { 1549 MONS_MERFOLK_SIREN, 'm', CYAN, "merfolk siren", 1550 M_WARM_BLOOD | M_SPEAKS, 1551 MR_NO_FLAGS, 1552 10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 60, 1553 { {AT_HIT, AF_PLAIN, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1554 9, 405, 1555 4, 12, MST_MERFOLK_SIREN, true, S_SHOUT, 1556 I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 1557 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1558 {TILEP_MONS_MERFOLK_SIREN, TVARY_WATER}, TILE_ERROR 1559 }, 1560 1561 { 1562 MONS_MERFOLK_AVATAR, 'm', LIGHTCYAN, "merfolk avatar", 1563 M_WARM_BLOOD | M_SPEAKS | M_NO_GEN_DERIVED, 1564 MR_NO_FLAGS, 1565 10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 120, 1566 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1567 13, 845, 1568 4, 12, MST_MERFOLK_AVATAR, true, S_SHOUT, 1569 I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 1570 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1571 {TILEP_MONS_MERFOLK_AVATAR, TVARY_WATER}, TILE_ERROR 1572 }, 1573 1574 { 1575 MONS_WATER_NYMPH, 'm', MAGENTA, "water nymph", 1576 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FEMALE, 1577 MR_NO_FLAGS, 1578 10, MONS_WATER_NYMPH, MONS_WATER_NYMPH, MH_NATURAL, 100, 1579 { {AT_TOUCH, AF_DROWN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1580 10, 400, 1581 2, 13, MST_WATER_NYMPH, true, S_SHOUT, 1582 I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 1583 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1584 {TILEP_MONS_WATER_NYMPH}, TILE_CORPSE_WATER_NYMPH 1585 }, 1586 1587 // undead corpses ('n') 1588 { 1589 MONS_BOG_BODY, 'n', GREEN, "bog body", 1590 M_NO_ZOMBIE, 1591 MR_RES_FIRE | MR_RES_COLD, 1592 16, MONS_GHOUL, MONS_BOG_BODY, MH_UNDEAD, 40, 1593 { {AT_TOUCH, AF_COLD, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1594 10, 390, 1595 1, 9, MST_BOG_BODY, true, S_SILENT, 1596 I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(14), 1597 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1598 {TILEP_MONS_BOG_BODY}, TILE_CORPSE_BOG_BODY 1599 }, 1600 1601 { 1602 MONS_NECROPHAGE, 'n', LIGHTGREY, "necrophage", 1603 M_NO_ZOMBIE, 1604 MR_RES_COLD, 1605 12, MONS_GHOUL, MONS_NECROPHAGE, MH_UNDEAD, 40, 1606 { {AT_HIT, AF_DRAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1607 5, 275, 1608 2, 10, MST_NO_SPELLS, true, S_SILENT, 1609 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1610 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1611 {TILEP_MONS_NECROPHAGE}, TILE_CORPSE_NECROPHAGE 1612 }, 1613 1614 { 1615 MONS_BLOATED_HUSK, 'n', YELLOW, "bloated husk", 1616 M_NO_ZOMBIE, 1617 MR_RES_COLD, 1618 10, MONS_GHOUL, MONS_BLOATED_HUSK, MH_UNDEAD, 40, 1619 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1620 8, 250, 1621 5, 5, MST_NO_SPELLS, false, S_SILENT, 1622 I_HUMAN, HT_AMPHIBIOUS, 14, DEFAULT_ENERGY, 1623 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1624 {TILEP_MONS_BLOATED_HUSK}, TILE_ERROR 1625 }, 1626 1627 { 1628 MONS_GHOUL, 'n', RED, "ghoul", 1629 M_NO_ZOMBIE, 1630 MR_RES_COLD, 1631 10, MONS_GHOUL, MONS_GHOUL, MH_UNDEAD, 80, 1632 { {AT_CLAW, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK }, 1633 14, 1470, 1634 4, 10, MST_NO_SPELLS, true, S_SILENT, 1635 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1636 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1637 {TILEP_MONS_GHOUL}, TILE_CORPSE_GHOUL 1638 }, 1639 1640 // orcs ('o') 1641 { 1642 MONS_ORC, 'o', LIGHTRED, "orc", 1643 M_WARM_BLOOD | M_SPEAKS, 1644 MR_NO_FLAGS, 1645 15, MONS_ORC, MONS_ORC, MH_NATURAL, 0, 1646 { {AT_HIT, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1647 1, 70, 1648 0, 10, MST_NO_SPELLS, true, S_SHOUT, 1649 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1650 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1651 {TILEP_MONS_ORC}, TILE_CORPSE_ORC 1652 }, 1653 1654 { 1655 MONS_ORC_WIZARD, 'o', MAGENTA, "orc wizard", 1656 M_WARM_BLOOD | M_SPEAKS, 1657 MR_NO_FLAGS, 1658 10, MONS_ORC, MONS_ORC, MH_NATURAL, 20, 1659 { {AT_HIT, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1660 3, 150, 1661 1, 12, MST_ORC_WIZARD, true, S_SHOUT, 1662 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1663 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1664 {TILEP_MONS_ORC_WIZARD}, TILE_ERROR 1665 }, 1666 1667 { 1668 MONS_ORC_PRIEST, 'o', GREEN, "orc priest", 1669 M_WARM_BLOOD | M_SPEAKS, 1670 MR_NO_FLAGS, 1671 10, MONS_ORC, MONS_ORC, MH_NATURAL | MH_EVIL, 20, 1672 { {AT_HIT, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1673 3, 150, 1674 1, 10, MST_ORC_PRIEST, true, S_SHOUT, 1675 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1676 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1677 {TILEP_MONS_ORC_PRIEST}, TILE_ERROR 1678 }, 1679 1680 { 1681 MONS_ORC_WARRIOR, 'o', YELLOW, "orc warrior", 1682 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS, 1683 MR_NO_FLAGS, 1684 16, MONS_ORC, MONS_ORC, MH_NATURAL, 20, 1685 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1686 4, 280, 1687 0, 13, MST_NO_SPELLS, true, S_SHOUT, 1688 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1689 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1690 {TILEP_MONS_ORC_WARRIOR}, TILE_ERROR 1691 }, 1692 1693 { 1694 MONS_ORC_KNIGHT, 'o', CYAN, "orc knight", 1695 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS, 1696 MR_NO_FLAGS, 1697 9, MONS_ORC, MONS_ORC, MH_NATURAL, 40, 1698 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1699 9, 675, 1700 2, 13, MST_ORC_KNIGHT, true, S_SHOUT, 1701 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1702 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1703 {TILEP_MONS_ORC_KNIGHT}, TILE_ERROR 1704 }, 1705 1706 { 1707 MONS_ORC_WARLORD, 'o', LIGHTCYAN, "orc warlord", 1708 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS, 1709 MR_NO_FLAGS, 1710 11, MONS_ORC, MONS_ORC, MH_NATURAL, 60, 1711 { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1712 15, 1125, 1713 3, 10, MST_BATTLECRY, true, S_SHOUT, 1714 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1715 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1716 {TILEP_MONS_ORC_WARLORD}, TILE_ERROR 1717 }, 1718 1719 { 1720 MONS_ORC_SORCERER, 'o', LIGHTMAGENTA, "orc sorcerer", 1721 M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD, 1722 MR_NO_FLAGS, 1723 12, MONS_ORC, MONS_ORC, MH_NATURAL, 40, 1724 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1725 9, 315, 1726 5, 12, MST_ORC_SORCERER, true, S_SHOUT, 1727 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1728 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1729 {TILEP_MONS_ORC_SORCERER}, TILE_ERROR 1730 }, 1731 1732 { 1733 MONS_ORC_HIGH_PRIEST, 'o', LIGHTGREEN, "orc high priest", 1734 M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD, 1735 MR_NO_FLAGS, 1736 10, MONS_ORC, MONS_ORC, MH_NATURAL | MH_EVIL, 60, 1737 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1738 11, 550, 1739 1, 12, MST_ORC_HIGH_PRIEST, true, S_SHOUT, 1740 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1741 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1742 {TILEP_MONS_ORC_HIGH_PRIEST}, TILE_ERROR 1743 }, 1744 1745 // humans ('p') 1746 { 1747 MONS_HUMAN, 'p', LIGHTGREY, "human", 1748 M_WARM_BLOOD | M_SPEAKS, 1749 MR_NO_FLAGS, 1750 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 20, 1751 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1752 6, 330, 1753 3, 13, MST_NO_SPELLS, true, S_SHOUT, 1754 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1755 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1756 {TILEP_MONS_HUMAN, TVARY_MOD}, TILE_CORPSE_HUMAN 1757 }, 1758 1759 { 1760 MONS_HELL_KNIGHT, 'p', RED, "hell knight", 1761 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS, 1762 mrd(MR_RES_FIRE, 3), 1763 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 40, 1764 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1765 10, 650, 1766 0, 10, MST_HELL_KNIGHT, true, S_SHOUT, 1767 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1768 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1769 {TILEP_MONS_HELL_KNIGHT}, TILE_ERROR 1770 }, 1771 1772 { 1773 MONS_DEATH_KNIGHT, 'p', GREEN, "death knight", 1774 M_WARM_BLOOD | M_FIGHTER | M_SPEAKS, 1775 MR_NO_FLAGS, 1776 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 80, 1777 { {AT_HIT, AF_PLAIN, 28}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1778 10, 800, 1779 2, 12, MST_DEATH_KNIGHT, true, S_SHOUT, 1780 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1781 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1782 {TILEP_MONS_DEATH_KNIGHT}, TILE_ERROR 1783 }, 1784 1785 { 1786 MONS_NECROMANCER, 'p', WHITE, "necromancer", 1787 M_WARM_BLOOD | M_SPEAKS, 1788 MR_NO_FLAGS, 1789 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 60, 1790 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1791 10, 400, 1792 0, 13, MST_NECROMANCER, true, S_SHOUT, 1793 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1794 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1795 {TILEP_MONS_NECROMANCER}, TILE_ERROR 1796 }, 1797 1798 { 1799 MONS_WIZARD, 'p', MAGENTA, "wizard", 1800 M_SPEAKS | M_WARM_BLOOD, 1801 MR_NO_FLAGS, 1802 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 60, 1803 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1804 10, 400, 1805 0, 13, MST_WIZARD, true, S_SHOUT, 1806 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1807 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1808 {TILEP_MONS_WIZARD}, TILE_ERROR 1809 }, 1810 1811 { 1812 MONS_VAULT_GUARD, 'p', CYAN, "vault guard", 1813 M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 1814 MR_NO_FLAGS, 1815 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60, 1816 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1817 13, 715, 1818 1, 13, MST_NO_SPELLS, true, S_SHOUT, 1819 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1820 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1821 {TILEP_MONS_VAULT_GUARD}, TILE_ERROR 1822 }, 1823 1824 { 1825 MONS_VAULT_SENTINEL, 'p', LIGHTBLUE, "vault sentinel", 1826 M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 1827 MR_NO_FLAGS, 1828 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40, 1829 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1830 8, 520, 1831 1, 13, MST_VAULT_SENTINEL, true, S_SHOUT, 1832 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1833 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1834 {TILEP_MONS_VAULT_SENTINEL}, TILE_ERROR 1835 }, 1836 1837 { 1838 MONS_VAULT_WARDEN, 'p', LIGHTRED, "vault warden", 1839 M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 1840 MR_NO_FLAGS, 1841 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60, 1842 { {AT_HIT, AF_PLAIN, 36}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1843 16, 880, 1844 1, 13, MST_VAULT_WARDEN, true, S_SHOUT, 1845 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1846 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1847 {TILEP_MONS_VAULT_WARDEN}, TILE_ERROR 1848 }, 1849 1850 { 1851 MONS_IRONBOUND_CONVOKER, 'p', YELLOW, "ironbound convoker", 1852 M_WARM_BLOOD | M_SPEAKS, 1853 MR_NO_FLAGS, 1854 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40, 1855 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1856 9, 495, 1857 0, 10, MST_IRONBOUND_CONVOKER, true, S_SHOUT, 1858 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1859 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1860 {TILEP_MONS_IRONBOUND_CONVOKER}, TILE_ERROR 1861 }, 1862 1863 { 1864 MONS_IRONBOUND_FROSTHEART, 'p', BLUE, "ironbound frostheart", 1865 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS, 1866 MR_RES_COLD, 1867 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40, 1868 { {AT_TOUCH, AF_COLD, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1869 12, 600, 1870 0, 10, MST_IRONBOUND_FROSTHEART, true, S_SHOUT, 1871 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1872 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1873 {TILEP_MONS_IRONBOUND_FROSTHEART}, TILE_ERROR 1874 }, 1875 1876 { 1877 MONS_IRONBOUND_PRESERVER, 'p', LIGHTGREEN, "ironbound preserver", 1878 M_WARM_BLOOD | M_SPEAKS, 1879 MR_NO_FLAGS, 1880 12, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40, 1881 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1882 14, 1120, 1883 0, 6, MST_IRONBOUND_PRESERVER, true, S_SHOUT, 1884 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1885 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1886 {TILEP_MONS_IRONBOUND_PRESERVER}, TILE_ERROR 1887 }, 1888 1889 { 1890 MONS_IRONBOUND_BEASTMASTER, 'p', BROWN, "ironbound beastmaster", 1891 M_WARM_BLOOD | M_SPEAKS | M_REQUIRE_BAND, 1892 MR_NO_FLAGS, 1893 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40, 1894 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1895 12, 550, 1896 0, 14, MST_IRONBOUND_BEASTMASTER, true, S_SHOUT, 1897 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1898 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1899 {TILEP_MONS_IRONBOUND_BEASTMASTER}, TILE_ERROR 1900 }, 1901 1902 { 1903 MONS_SHAPESHIFTER, 'p', LIGHTRED, "shapeshifter", 1904 M_NO_SKELETON | M_NO_ZOMBIE, 1905 MR_NO_FLAGS, 1906 10, MONS_SHAPESHIFTER, MONS_SHAPESHIFTER, MH_NATURAL, 40, 1907 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1908 7, 385, 1909 0, 10, MST_NO_SPELLS, true, S_SILENT, 1910 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1911 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1912 {TILEP_MONS_SHAPESHIFTER}, TILE_CORPSE_SHAPESHIFTER 1913 }, 1914 1915 { 1916 MONS_GLOWING_SHAPESHIFTER, 'p', LIGHTRED, "glowing shapeshifter", 1917 M_NO_SKELETON | M_NO_ZOMBIE, 1918 MR_NO_FLAGS, 1919 10, MONS_SHAPESHIFTER, MONS_GLOWING_SHAPESHIFTER, MH_NATURAL, 80, 1920 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1921 10, 550, 1922 0, 10, MST_NO_SPELLS, true, S_SILENT, 1923 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1924 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1925 {TILEP_MONS_GLOWING_SHAPESHIFTER}, TILE_CORPSE_GLOWING_SHAPESHIFTER 1926 }, 1927 1928 { 1929 MONS_KILLER_KLOWN, 'p', ETC_RANDOM, "Killer Klown", 1930 M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD | M_NO_POLY_TO | M_NO_GEN_DERIVED, 1931 MR_NO_FLAGS, 1932 17, MONS_HUMAN, MONS_KILLER_KLOWN, MH_NATURAL, 160, 1933 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1934 20, 1500, 1935 10, 15, MST_KILLER_KLOWN, true, S_SHOUT, 1936 I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY, 1937 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1938 {TILEP_MONS_KILLER_KLOWN, TVARY_RANDOM}, TILE_CORPSE_KILLER_KLOWN 1939 }, 1940 1941 { // dummy; spawns in a single vault. 1942 MONS_DEMIGOD, 'p', YELLOW, "demigod", 1943 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 1944 MR_NO_FLAGS, 1945 10, MONS_HUMAN, MONS_DEMIGOD, MH_NATURAL, 20, 1946 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1947 5, 375, 1948 2, 12, MST_NO_SPELLS, true, S_SHOUT, 1949 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1950 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 1951 {TILEP_MONS_DEMIGOD}, TILE_CORPSE_HUMAN 1952 }, 1953 1954 { // dummy... literally; single vault 1955 MONS_HALFLING, 'p', LIGHTGREY, "halfling", 1956 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 1957 MR_NO_FLAGS, 1958 10, MONS_HALFLING, MONS_HALFLING, MH_NATURAL, 10, 1959 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1960 3, 105, 1961 2, 12, MST_NO_SPELLS, true, S_SHOUT, 1962 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 1963 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, 1964 {TILEP_MONS_HALFLING}, TILE_CORPSE_HALFLING 1965 }, 1966 1967 // rodents ('r') 1968 { 1969 MONS_RAT, 'r', BROWN, "rat", 1970 M_WARM_BLOOD, 1971 MR_NO_FLAGS, 1972 1, MONS_RAT, MONS_RAT, MH_NATURAL, 0, 1973 { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1974 1, 25, 1975 1, 10, MST_NO_SPELLS, true, S_SILENT, 1976 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 1977 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_QUADRUPED, 1978 {TILEP_MONS_RAT}, TILE_CORPSE_RAT 1979 }, 1980 1981 { 1982 MONS_QUOKKA, 'r', WHITE, "quokka", 1983 M_WARM_BLOOD, 1984 MR_NO_FLAGS, 1985 10, MONS_QUOKKA, MONS_QUOKKA, MH_NATURAL, 0, 1986 { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 1987 1, 55, 1988 2, 13, MST_NO_SPELLS, true, S_SILENT, 1989 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 1990 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_QUADRUPED, 1991 {TILEP_MONS_QUOKKA}, TILE_CORPSE_QUOKKA 1992 }, 1993 1994 { 1995 MONS_RIVER_RAT, 'r', LIGHTGREEN, "river rat", 1996 M_WARM_BLOOD, 1997 MR_NO_FLAGS, 1998 13, MONS_RAT, MONS_RIVER_RAT, MH_NATURAL, 10, 1999 { {AT_BITE, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2000 2, 110, 2001 5, 11, MST_NO_SPELLS, true, S_SILENT, 2002 I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 2003 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_QUADRUPED, 2004 {TILEP_MONS_RIVER_RAT}, TILE_CORPSE_GREEN_RAT 2005 }, 2006 2007 { 2008 MONS_HELL_RAT, 'r', LIGHTRED, "hell rat", 2009 M_WARM_BLOOD, 2010 MR_NO_FLAGS, 2011 10, MONS_RAT, MONS_HELL_RAT, MH_DEMONIC, 20, 2012 { {AT_BITE, AF_DRAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2013 3, 165, 2014 7, 10, MST_NO_SPELLS, true, S_LOUD_ROAR, 2015 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 2016 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_QUADRUPED, 2017 {TILEP_MONS_ORANGE_RAT}, TILE_CORPSE_ORANGE_RAT 2018 }, 2019 2020 // arachnids ('s') 2021 { 2022 MONS_SCORPION, 's', YELLOW, "scorpion", 2023 M_NO_SKELETON, 2024 MR_VUL_POISON, 2025 13, MONS_SCORPION, MONS_SCORPION, MH_NATURAL, 20, 2026 { {AT_STING, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2027 4, 180, 2028 5, 10, MST_NO_SPELLS, true, S_SILENT, 2029 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 2030 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ARACHNID, 2031 {TILEP_MONS_SCORPION}, TILE_CORPSE_SCORPION 2032 }, 2033 2034 { 2035 MONS_EMPEROR_SCORPION, 's', LIGHTGREY, "emperor scorpion", 2036 M_NO_SKELETON, 2037 MR_RES_POISON, 2038 13, MONS_SCORPION, MONS_EMPEROR_SCORPION, MH_NATURAL, 60, 2039 { {AT_STING, AF_POISON, 30}, {AT_CLAW, AF_PLAIN, 15}, 2040 {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK }, 2041 14, 1190, 2042 20, 12, MST_NO_SPELLS, true, S_SILENT, 2043 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2044 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_ARACHNID, 2045 {TILEP_MONS_EMPEROR_SCORPION}, TILE_CORPSE_EMPEROR_SCORPION 2046 }, 2047 2048 DUMMY(MONS_SPIDER, 's', CYAN, "spider", TILEP_MONS_REDBACK) 2049 2050 { 2051 MONS_TARANTELLA, 's', LIGHTMAGENTA, "tarantella", 2052 M_NO_SKELETON, 2053 MR_VUL_POISON, 2054 6, MONS_SPIDER, MONS_TARANTELLA, MH_NATURAL, 20, 2055 { {AT_BITE, AF_CONFUSE, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2056 8, 280, 2057 3, 14, MST_NO_SPELLS, true, S_HISS, 2058 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 2059 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ARACHNID, 2060 {TILEP_MONS_TARANTELLA}, TILE_CORPSE_TARANTELLA 2061 }, 2062 2063 { 2064 MONS_JUMPING_SPIDER, 's', LIGHTBLUE, "jumping spider", 2065 M_NO_SKELETON, 2066 MR_VUL_POISON, 2067 8, MONS_SPIDER, MONS_JUMPING_SPIDER, MH_NATURAL, 20, 2068 { {AT_POUNCE, AF_ENSNARE, 20}, {AT_BITE, AF_PLAIN, 8}, AT_NO_ATK, 2069 AT_NO_ATK }, 2070 8, 320, 2071 6, 12, MST_JUMPING_SPIDER, true, S_HISS, 2072 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 2073 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ARACHNID, 2074 {TILEP_MONS_JUMPING_SPIDER}, TILE_CORPSE_JUMPING_SPIDER 2075 }, 2076 2077 { 2078 MONS_WOLF_SPIDER, 's', WHITE, "wolf spider", 2079 M_NO_SKELETON, 2080 MR_VUL_POISON, 2081 4, MONS_SPIDER, MONS_WOLF_SPIDER, MH_NATURAL, 20, 2082 { {AT_HIT, AF_PLAIN, 25}, {AT_BITE, AF_POISON, 15}, AT_NO_ATK, 2083 AT_NO_ATK }, 2084 11, 550, 2085 3, 10, MST_NO_SPELLS, true, S_HISS, 2086 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 2087 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ARACHNID, 2088 {TILEP_MONS_WOLF_SPIDER}, TILE_CORPSE_WOLF_SPIDER 2089 }, 2090 2091 { 2092 MONS_REDBACK, 's', LIGHTRED, "redback", 2093 M_NO_SKELETON, 2094 MR_VUL_POISON, 2095 5, MONS_SPIDER, MONS_REDBACK, MH_NATURAL, 20, 2096 { {AT_BITE, AF_POISON_STRONG, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2097 9, 270, 2098 2, 12, MST_NO_SPELLS, true, S_SILENT, 2099 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 2100 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_ARACHNID, 2101 {TILEP_MONS_REDBACK}, TILE_CORPSE_REDBACK 2102 }, 2103 2104 { 2105 MONS_DEMONIC_CRAWLER, 's', LIGHTGREEN, "demonic crawler", 2106 M_NO_SKELETON | M_SEE_INVIS, 2107 MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE, 2108 4, MONS_DEMONIC_CRAWLER, MONS_DEMONIC_CRAWLER, MH_DEMONIC, 100, 2109 { {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13}, {AT_HIT, AF_PLAIN, 13}, 2110 AT_NO_ATK }, 2111 9, 585, 2112 10, 6, MST_NO_SPELLS, true, S_SCREAM, 2113 I_ANIMAL, HT_LAND, 13, DEFAULT_ENERGY, 2114 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_CENTIPEDE, 2115 {TILEP_MONS_DEMONIC_CRAWLER}, TILE_CORPSE_DEMONIC_CRAWLER 2116 }, 2117 2118 { 2119 MONS_ORB_SPIDER, 's', MAGENTA, "orb spider", 2120 M_NO_SKELETON | M_MAINTAIN_RANGE, 2121 MR_VUL_POISON, 2122 20, MONS_SPIDER, MONS_ORB_SPIDER, MH_NATURAL, 40, 2123 { {AT_BITE, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2124 7, 420, 2125 3, 10, MST_ORB_SPIDER, true, S_HISS, 2126 I_ANIMAL, HT_LAND, 12, SPELL_ENERGY(20), 2127 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ARACHNID, 2128 {TILEP_MONS_ORB_SPIDER}, TILE_CORPSE_ORB_SPIDER 2129 }, 2130 2131 // alligators, testudines, and crabs ('t') 2132 { 2133 MONS_ALLIGATOR, 't', LIGHTBLUE, "alligator", 2134 M_COLD_BLOOD, 2135 MR_NO_FLAGS, 2136 10, MONS_GIANT_LIZARD, MONS_ALLIGATOR, MH_NATURAL, 40, 2137 { {AT_BITE, AF_PLAIN, 30}, {AT_TAIL_SLAP, AF_PLAIN, 15}, AT_NO_ATK, 2138 AT_NO_ATK }, 2139 12, 720, 2140 5, 9, MST_ALLIGATOR, true, S_SILENT, 2141 I_ANIMAL, HT_AMPHIBIOUS, 10, {10, 6, 8, 8, 8, 8, 8, 80}, 2142 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED, 2143 {TILEP_MONS_ALLIGATOR}, TILE_CORPSE_ALLIGATOR 2144 }, 2145 2146 { 2147 MONS_SNAPPING_TURTLE, 't', GREEN, "snapping turtle", 2148 M_COLD_BLOOD, 2149 MR_NO_FLAGS, 2150 10, MONS_SNAPPING_TURTLE, MONS_SNAPPING_TURTLE, MH_NATURAL, 40, 2151 { {AT_BITE, AF_REACH, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2152 10, 600, 2153 16, 5, MST_NO_SPELLS, true, S_HISS, 2154 I_ANIMAL, HT_AMPHIBIOUS, 8, {10, 6, 8, 8, 8, 8, 8, 80}, 2155 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS, 2156 {TILEP_MONS_SNAPPING_TURTLE}, TILE_CORPSE_SNAPPING_TURTLE 2157 }, 2158 2159 { 2160 MONS_ALLIGATOR_SNAPPING_TURTLE, 't', LIGHTGREEN, "alligator snapping turtle", 2161 M_COLD_BLOOD, 2162 MR_NO_FLAGS, 2163 10, MONS_SNAPPING_TURTLE, MONS_ALLIGATOR_SNAPPING_TURTLE, 2164 MH_NATURAL, 60, 2165 { {AT_BITE, AF_REACH, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2166 16, 1440, 2167 19, 1, MST_NO_SPELLS, true, S_HISS, 2168 I_ANIMAL, HT_AMPHIBIOUS, 8, SWIM_ENERGY(6), 2169 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_TAILLESS, 2170 {TILEP_MONS_ALLIGATOR_SNAPPING_TURTLE}, TILE_CORPSE_ALLIGATOR_SNAPPING_TURTLE 2171 }, 2172 2173 DUMMY(MONS_CRAB, 't', LIGHTGREY, "crab", TILEP_MONS_FIRE_CRAB) 2174 2175 { 2176 MONS_FIRE_CRAB, 't', LIGHTRED, "fire crab", 2177 M_NO_SKELETON, 2178 MR_VUL_POISON | mrd(MR_RES_FIRE, 3), 2179 25, MONS_CRAB, MONS_FIRE_CRAB, MH_NATURAL, 40, 2180 { {AT_BITE, AF_FIRE, 15}, {AT_CLAW, AF_FIRE, 15}, AT_NO_ATK, AT_NO_ATK }, 2181 8, 520, 2182 9, 6, MST_FIRE_CRAB, true, S_SILENT, 2183 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2184 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, // ?? 2185 {TILEP_MONS_FIRE_CRAB}, TILE_CORPSE_FIRE_CRAB 2186 }, 2187 2188 { 2189 MONS_GHOST_CRAB, 't', LIGHTGREY, "ghost crab", 2190 M_NO_SKELETON, 2191 MR_NO_FLAGS, 2192 25, MONS_CRAB, MONS_GHOST_CRAB, MH_UNDEAD, 40, 2193 { {AT_BITE, AF_DRAIN, 20}, {AT_CLAW, AF_DRAIN, 15}, AT_NO_ATK, AT_NO_ATK }, 2194 9, 585, 2195 9, 6, MST_GHOST_CRAB, true, S_SILENT, 2196 I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 2197 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, 2198 {TILEP_MONS_GHOST_CRAB}, TILE_CORPSE_GHOST_CRAB 2199 }, 2200 2201 { 2202 MONS_APOCALYPSE_CRAB, 't', WHITE, "apocalypse crab", 2203 M_NO_SKELETON | M_SEE_INVIS, 2204 MR_VUL_POISON | mrd(MR_RES_FIRE | MR_RES_COLD, 2), 2205 13, MONS_CRAB, MONS_APOCALYPSE_CRAB, MH_DEMONIC, 60, 2206 { {AT_BITE, AF_CHAOTIC, 15}, {AT_CLAW, AF_CHAOTIC, 15}, AT_NO_ATK, AT_NO_ATK }, 2207 8, 520, 2208 11, 6, MST_APOCALYPSE_CRAB, true, S_SILENT, 2209 I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 2210 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_QUADRUPED, 2211 {TILEP_MONS_APOCALYPSE_CRAB}, TILE_CORPSE_APOCALYPSE_CRAB 2212 }, 2213 2214 // ugly things ('u') 2215 // NOTE: ugly things are ghost demons and thus their stats vary treacherously 2216 // from those below. beware! 2217 { 2218 MONS_UGLY_THING, 'u', COLOUR_UNDEF, "ugly thing", 2219 M_WARM_BLOOD | M_HERD | M_NO_GEN_DERIVED | M_GHOST_DEMON, 2220 MR_NO_FLAGS, 2221 6, MONS_UGLY_THING, MONS_UGLY_THING, MH_NATURAL, 40, 2222 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2223 12, 660, 2224 4, 10, MST_NO_SPELLS, true, S_GURGLE, 2225 I_ANIMAL, HT_LAND, 10, MOVE_ENERGY(9), 2226 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_MISC, 2227 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_UGLY_THING 2228 }, 2229 2230 { 2231 MONS_VERY_UGLY_THING, 'u', COLOUR_UNDEF, "very ugly thing", 2232 M_WARM_BLOOD | M_HERD | M_NO_GEN_DERIVED | M_GHOST_DEMON, 2233 MR_NO_FLAGS, 2234 10, MONS_UGLY_THING, MONS_VERY_UGLY_THING, MH_NATURAL, 40, 2235 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2236 18, 990, 2237 6, 10, MST_NO_SPELLS, true, S_GURGLE, 2238 I_ANIMAL, HT_LAND, 10, MOVE_ENERGY(9), 2239 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_MISC, 2240 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_VERY_UGLY_THING 2241 }, 2242 2243 // vortices ('v') 2244 { 2245 MONS_FIRE_VORTEX, 'v', RED, "fire vortex", 2246 M_CONFUSED | M_INSUBSTANTIAL | M_CONJURED | M_FLIES | M_NO_EXP_GAIN, 2247 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_RES_ELEC, 2248 5, MONS_FIRE_VORTEX, MONS_FIRE_VORTEX, MH_NONLIVING, WILL_INVULN, 2249 { {AT_HIT, AF_PURE_FIRE, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2250 10, 300, 2251 0, 5, MST_NO_SPELLS, false, S_SILENT, 2252 I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY, 2253 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 2254 {TILEP_MONS_FIRE_VORTEX, TVARY_CYCLE}, TILE_ERROR 2255 }, 2256 2257 { 2258 MONS_SPATIAL_VORTEX, 'v', ETC_RANDOM, "spatial vortex", 2259 M_CONFUSED | M_INSUBSTANTIAL | M_CONJURED | M_FLIES, 2260 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2261 5, MONS_FIRE_VORTEX, MONS_SPATIAL_VORTEX, MH_NONLIVING, WILL_INVULN, 2262 { {AT_HIT, AF_DISTORT, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2263 6, 540, 2264 0, 5, MST_NO_SPELLS, false, S_SILENT, 2265 I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY, 2266 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 2267 {TILEP_MONS_SPATIAL_VORTEX, TVARY_CYCLE}, TILE_ERROR 2268 }, 2269 2270 { 2271 MONS_SPATIAL_MAELSTROM, 'v', YELLOW, "spatial maelstrom", 2272 M_BATTY | M_INSUBSTANTIAL | M_FLIES, 2273 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC, 2274 5, MONS_SPATIAL_MAELSTROM, MONS_SPATIAL_MAELSTROM, 2275 MH_NONLIVING, WILL_INVULN, 2276 { {AT_HIT, AF_DISTORT, 20}, {AT_HIT, AF_DISTORT, 20}, AT_NO_ATK, 2277 AT_NO_ATK }, 2278 10, 750, 2279 0, 5, MST_NO_SPELLS, false, S_SILENT, 2280 I_BRAINLESS, HT_LAND, 16, DEFAULT_ENERGY, 2281 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 2282 {TILEP_MONS_SPATIAL_MAELSTROM, TVARY_CYCLE}, TILE_ERROR 2283 }, 2284 2285 // wisp-form 2286 DUMMY(MONS_INSUBSTANTIAL_WISP, 'v', LIGHTGREY, "insubstantial wisp", 2287 TILEP_MONS_WILL_O_THE_WISP) 2288 2289 { 2290 MONS_WILL_O_THE_WISP, 'v', GREEN, "will-o-the-wisp", 2291 M_INSUBSTANTIAL | M_FLIES | M_SEE_INVIS, 2292 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2293 10, MONS_WILL_O_THE_WISP, MONS_WILL_O_THE_WISP, MH_NONLIVING, WILL_INVULN, 2294 { {AT_ENGULF, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2295 11, 400, 2296 4, 10, MST_WILL_O_THE_WISP, false, S_MOAN, 2297 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 2298 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC, 2299 {TILEP_MONS_WILL_O_THE_WISP}, TILE_ERROR 2300 }, 2301 2302 { // miscast only 2303 MONS_TWISTER, 'v', ETC_AIR, "twister", 2304 M_CONFUSED | M_INSUBSTANTIAL | M_BATTY | M_NO_EXP_GAIN | M_NO_POLY_TO 2305 | M_FLIES, 2306 MR_RES_FIRE | mrd(MR_RES_COLD, 3) | mrd(MR_RES_ELEC, 3) | MR_RES_VORTEX, 2307 5, MONS_FIRE_VORTEX, MONS_TWISTER, MH_NONLIVING, WILL_INVULN, 2308 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2309 12, 120000, 2310 0, 5, MST_NO_SPELLS, false, S_SILENT, 2311 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 2312 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 2313 {TILEP_MONS_TWISTER, TVARY_CYCLE}, TILE_ERROR 2314 }, 2315 2316 // worms and slugs ('w') 2317 { 2318 MONS_WORM, 'w', LIGHTRED, "worm", 2319 M_NO_SKELETON | M_FAST_REGEN, 2320 MR_NO_FLAGS, 2321 3, MONS_WORM, MONS_WORM, MH_NATURAL, 10, 2322 { {AT_BITE, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2323 4, 180, 2324 1, 5, MST_NO_SPELLS, true, S_SILENT, 2325 I_ANIMAL, HT_LAND, 6, DEFAULT_ENERGY, 2326 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_SNAKE, 2327 {TILEP_MONS_WORM}, TILE_CORPSE_WORM 2328 }, 2329 2330 { 2331 MONS_SWAMP_WORM, 'w', BROWN, "swamp worm", 2332 M_NO_SKELETON, 2333 MR_NO_FLAGS, 2334 3, MONS_WORM, MONS_SWAMP_WORM, MH_NATURAL, 10, 2335 { {AT_BITE, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2336 10, 350, 2337 3, 12, MST_SWAMP_WORM, true, S_SILENT, 2338 I_ANIMAL, HT_AMPHIBIOUS, 12, MOVE_ENERGY(12), 2339 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE, 2340 {TILEP_MONS_SWAMP_WORM, TVARY_WATER}, TILE_CORPSE_SWAMP_WORM 2341 }, 2342 2343 { 2344 MONS_TYRANT_LEECH, 'w', RED, "tyrant leech", 2345 M_NO_SKELETON, 2346 MR_NO_FLAGS, 2347 8, MONS_TYRANT_LEECH, MONS_TYRANT_LEECH, MH_NATURAL, 40, 2348 { {AT_BITE, AF_VAMPIRIC, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2349 12, 600, 2350 5, 15, MST_NO_SPELLS, true, S_SILENT, 2351 I_ANIMAL, HT_AMPHIBIOUS, 8, SWIM_ENERGY(6), 2352 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE, 2353 {TILEP_MONS_TYRANT_LEECH}, TILE_CORPSE_TYRANT_LEECH 2354 }, 2355 2356 { 2357 MONS_DART_SLUG, 'w', CYAN, "dart slug", 2358 M_NO_SKELETON, 2359 MR_VUL_POISON, 2360 40, MONS_ELEPHANT_SLUG, MONS_DART_SLUG, MH_NATURAL, 0, 2361 { {AT_BITE, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2362 1, 100, 2363 1, 1, MST_DART_SLUG, true, S_SILENT, 2364 I_ANIMAL, HT_LAND, 7, DEFAULT_ENERGY, 2365 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_SNAIL, 2366 {TILEP_MONS_DART_SLUG}, TILE_CORPSE_DART_SLUG 2367 }, 2368 2369 { 2370 MONS_TORPOR_SNAIL, 'w', GREEN, "torpor snail", 2371 M_NO_SKELETON, 2372 MR_NO_FLAGS, 2373 20, MONS_ELEPHANT_SLUG, MONS_TORPOR_SNAIL, MH_NATURAL, 40, 2374 { {AT_BITE, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2375 10, 600, 2376 8, 1, MST_NO_SPELLS, true, S_SILENT, 2377 I_ANIMAL, HT_AMPHIBIOUS, 7, DEFAULT_ENERGY, 2378 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAIL, 2379 {TILEP_MONS_TORPOR_SNAIL}, TILE_CORPSE_TORPOR_SNAIL 2380 }, 2381 2382 // dummy genus monster; not using DUMMY since it's also a dummy species 2383 { 2384 MONS_ELEPHANT_SLUG, 'w', WHITE, "elephant slug", 2385 M_NO_SKELETON | M_CANT_SPAWN, 2386 MR_VUL_POISON, 2387 2, MONS_ELEPHANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, 80, 2388 { {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2389 20, 1300, 2390 2, 1, MST_NO_SPELLS, true, S_SILENT, 2391 I_ANIMAL, HT_LAND, 4, DEFAULT_ENERGY, 2392 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_SNAIL, 2393 {TILEP_MONS_DART_SLUG}, TILE_CORPSE_ELEPHANT_SLUG 2394 }, 2395 2396 // small abominations ('x') 2397 { 2398 MONS_UNSEEN_HORROR, 'x', MAGENTA, "unseen horror", 2399 M_SEE_INVIS | M_INVIS | M_BATTY, 2400 MR_NO_FLAGS, 2401 6, MONS_UNSEEN_HORROR, MONS_UNSEEN_HORROR, MH_NATURAL, 20, 2402 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2403 7, 385, 2404 5, 10, MST_NO_SPELLS, false, S_SILENT, 2405 I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY, 2406 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 2407 {TILEP_MONS_UNSEEN_HORROR}, TILE_ERROR 2408 }, 2409 2410 { 2411 MONS_ABOMINATION_SMALL, 'x', LIGHTRED, "small abomination", 2412 M_NO_REGEN, 2413 MR_NO_FLAGS, 2414 10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_SMALL, MH_UNDEAD, 40, 2415 { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2416 6, 270, 2417 0, 0, MST_NO_SPELLS, false, S_SILENT, 2418 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 2419 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 2420 {TILEP_MONS_ABOMINATION_SMALL, TVARY_MOD}, TILE_ERROR 2421 }, 2422 2423 { 2424 MONS_ANCIENT_ZYME, 'x', GREEN, "ancient zyme", 2425 M_SEE_INVIS | M_FLIES, 2426 MR_NO_FLAGS, 2427 8, MONS_ANCIENT_ZYME, MONS_ANCIENT_ZYME, MH_NONLIVING, 60, 2428 { {AT_HIT, AF_PLAIN, 16}, {AT_HIT, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK }, 2429 8, 520, 2430 6, 6, MST_NO_SPELLS, false, S_SILENT, 2431 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2432 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 2433 {TILEP_MONS_ANCIENT_ZYME}, TILE_ERROR 2434 }, 2435 2436 { 2437 MONS_WORLDBINDER, 'x', CYAN, "worldbinder", 2438 M_SEE_INVIS | M_FLIES, 2439 MR_NO_FLAGS, 2440 13, MONS_WORLDBINDER, MONS_WORLDBINDER, MH_NONLIVING, 60, 2441 { {AT_HIT, AF_PLAIN, 8}, {AT_HIT, AF_PLAIN, 8}, 2442 AT_NO_ATK, AT_NO_ATK }, 2443 8, 400, 2444 12, 4, MST_WORLDBINDER, false, S_SILENT, 2445 I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY, 2446 MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_MISC, 2447 {TILEP_MONS_WORLDBINDER}, TILE_ERROR 2448 }, 2449 2450 { 2451 MONS_BUNYIP, 'x', YELLOW, "bunyip", 2452 M_WARM_BLOOD, 2453 MR_RES_POISON, 2454 7, MONS_BUNYIP, MONS_BUNYIP, MH_NATURAL, 60, 2455 { {AT_CLAW, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 40}, AT_NO_ATK }, 2456 12, 800, 2457 6, 10, MST_BUNYIP, true, S_SCREAM, 2458 I_ANIMAL, HT_AMPHIBIOUS, 15, ATTACK_ENERGY(45), 2459 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED /*close enough*/, 2460 {TILEP_MONS_BUNYIP}, TILE_CORPSE_BUNYIP 2461 }, 2462 2463 // flying insects ('y') 2464 { 2465 MONS_KILLER_BEE, 'y', BROWN, "killer bee", 2466 M_NO_SKELETON | M_FLIES, 2467 MR_VUL_POISON, 2468 11, MONS_KILLER_BEE, MONS_KILLER_BEE, MH_NATURAL, 10, 2469 { {AT_STING, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2470 3, 165, 2471 2, 18, MST_NO_SPELLS, true, S_BUZZ, 2472 I_ANIMAL, HT_LAND, 20, DEFAULT_ENERGY, 2473 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_INSECT_WINGED, 2474 {TILEP_MONS_KILLER_BEE}, TILE_CORPSE_KILLER_BEE 2475 }, 2476 2477 { 2478 MONS_QUEEN_BEE, 'y', LIGHTMAGENTA, "queen bee", 2479 M_NO_SKELETON | M_FLIES, 2480 MR_VUL_POISON, 2481 14, MONS_KILLER_BEE, MONS_QUEEN_BEE, MH_NATURAL, 20, 2482 { {AT_STING, AF_POISON, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2483 7, 385, 2484 10, 10, MST_QUEEN_BEE, true, S_BUZZ, 2485 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2486 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_INSECT_WINGED, 2487 {TILEP_MONS_QUEEN_BEE}, TILE_CORPSE_QUEEN_BEE 2488 }, 2489 2490 { 2491 MONS_VAMPIRE_MOSQUITO, 'y', LIGHTGREY, "vampire mosquito", 2492 M_NO_SKELETON | M_FLIES, 2493 MR_NO_FLAGS, 2494 10, MONS_VAMPIRE_MOSQUITO, MONS_VAMPIRE_MOSQUITO, MH_UNDEAD, 20, 2495 { {AT_BITE, AF_VAMPIRIC, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2496 5, 275, 2497 2, 15, MST_NO_SPELLS, true, S_BUZZ, 2498 I_ANIMAL, HT_LAND, 19, DEFAULT_ENERGY, 2499 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_INSECT_WINGED, 2500 {TILEP_MONS_VAMPIRE_MOSQUITO}, TILE_CORPSE_VAMPIRE_MOSQUITO 2501 }, 2502 2503 { 2504 MONS_HORNET, 'y', YELLOW, "hornet", 2505 M_NO_SKELETON | M_FLIES, 2506 MR_VUL_POISON, 2507 13, MONS_HORNET, MONS_HORNET, MH_NATURAL, 30, 2508 { {AT_STING, AF_POISON_PARALYSE, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2509 6, 330, 2510 6, 14, MST_NO_SPELLS, true, S_BUZZ, 2511 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 2512 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_INSECT_WINGED, 2513 {TILEP_MONS_HORNET}, TILE_CORPSE_HORNET 2514 }, 2515 2516 { 2517 MONS_MELIAI, 'y', GREEN, "meliai", 2518 M_NO_SKELETON | M_FLIES, 2519 MR_VUL_POISON, 2520 6, MONS_KILLER_BEE, MONS_MELIAI, MH_NATURAL, 20, 2521 { {AT_HIT, AF_PLAIN, 14}, {AT_STING, AF_POISON, 12}, AT_NO_ATK, AT_NO_ATK }, 2522 7, 245, 2523 2, 14, MST_MELIAI, true, S_BUZZ, 2524 I_HUMAN, HT_LAND, 20, DEFAULT_ENERGY, 2525 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_INSECT_WINGED, 2526 {TILEP_MONS_MELIAI}, TILE_CORPSE_MELIAI 2527 }, 2528 2529 { 2530 MONS_SPARK_WASP, 'y', LIGHTCYAN, "spark wasp", 2531 M_NO_SKELETON | M_FLIES, 2532 mrd(MR_RES_ELEC, 3) | MR_VUL_POISON, 2533 12, MONS_SPARK_WASP, MONS_SPARK_WASP, MH_NATURAL, 40, 2534 { {AT_STING, AF_ELEC, 33}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2535 12, 660, 2536 9, 14, MST_SPARK_WASP, true, S_BUZZ, 2537 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 2538 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_INSECT_WINGED, 2539 {TILEP_MONS_SPARK_WASP}, TILE_CORPSE_SPARK_WASP 2540 }, 2541 2542 DUMMY(MONS_MOTH, 'y', WHITE, "moth", TILEP_MONS_MOTH_OF_WRATH) 2543 2544 { 2545 MONS_GHOST_MOTH, 'y', MAGENTA, "ghost moth", 2546 M_NO_SKELETON | M_INVIS | M_FLIES, 2547 MR_RES_POISON | MR_RES_COLD, 2548 18, MONS_MOTH, MONS_GHOST_MOTH, MH_NATURAL, 100, 2549 { {AT_HIT, AF_DRAIN_STAT, 18}, {AT_HIT, AF_DRAIN_STAT, 18}, 2550 {AT_STING, AF_POISON_STRONG, 12}, AT_NO_ATK }, 2551 13, 715, 2552 8, 10, MST_DRAIN_GAZE, true, S_SILENT, 2553 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 2554 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_INSECT_WINGED, 2555 {TILEP_MONS_GHOST_MOTH}, TILE_CORPSE_GHOST_MOTH 2556 }, 2557 2558 { 2559 MONS_MOTH_OF_WRATH, 'y', LIGHTRED, "moth of wrath", 2560 M_NO_SKELETON | M_FLIES, 2561 MR_NO_FLAGS, 2562 10, MONS_MOTH, MONS_MOTH_OF_WRATH, MH_NATURAL, 40, 2563 { {AT_BITE, AF_RAGE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2564 9, 495, 2565 0, 10, MST_MOTH_OF_WRATH, true, S_SILENT, 2566 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 2567 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_INSECT_WINGED, 2568 {TILEP_MONS_MOTH_OF_WRATH}, TILE_CORPSE_MOTH_OF_WRATH 2569 }, 2570 2571 // corporeal (semi-)humanoid undead ('z') 2572 { 2573 MONS_WIGHT, 'z', GREEN, "wight", 2574 M_NO_FLAGS, 2575 mrd(MR_RES_COLD, 2), 2576 16, MONS_WIGHT, MONS_WIGHT, MH_UNDEAD, 20, 2577 { {AT_HIT, AF_DRAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2578 3, 165, 2579 4, 10, MST_NO_SPELLS, false, S_SILENT, 2580 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2581 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 2582 {TILEP_MONS_WIGHT}, TILE_ERROR 2583 }, 2584 2585 { 2586 MONS_SKELETAL_WARRIOR, 'z', CYAN, "skeletal warrior", 2587 M_FIGHTER, 2588 MR_RES_COLD, 2589 10, MONS_SKELETAL_WARRIOR, MONS_SKELETAL_WARRIOR, MH_UNDEAD, 100, 2590 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2591 10, 650, 2592 15, 10, MST_NO_SPELLS, false, S_SILENT, 2593 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2594 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 2595 {TILEP_MONS_SKELETAL_WARRIOR}, TILE_ERROR 2596 }, 2597 2598 { 2599 MONS_ANCIENT_CHAMPION, 'z', LIGHTCYAN, "ancient champion", 2600 M_FIGHTER, 2601 MR_RES_COLD, 2602 24, MONS_ANCIENT_CHAMPION, MONS_ANCIENT_CHAMPION, MH_UNDEAD, 120, 2603 { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2604 14, 700, 2605 15, 10, MST_ANCIENT_CHAMPION, false, S_SILENT, 2606 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2607 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 2608 {TILEP_MONS_ANCIENT_CHAMPION}, TILE_ERROR 2609 }, 2610 2611 { 2612 MONS_FLYING_SKULL, 'z', WHITE, "flying skull", 2613 M_NO_FLAGS | M_FLIES, // duh 2614 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 2615 10, MONS_FLYING_SKULL, MONS_FLYING_SKULL, MH_UNDEAD, 20, 2616 { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2617 7, 210, 2618 10, 17, MST_NO_SPELLS, false, S_SCREAM, 2619 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 2620 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC, 2621 {TILEP_MONS_FLYING_SKULL}, TILE_ERROR 2622 }, 2623 2624 { 2625 MONS_CURSE_SKULL, 'z', LIGHTMAGENTA, "curse skull", 2626 M_SEE_INVIS | M_SPEAKS | M_FLIES, 2627 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC, 2628 20, MONS_CURSE_SKULL, MONS_CURSE_SKULL, MH_UNDEAD, WILL_INVULN, 2629 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2630 13, 520, 2631 35, 3, MST_CURSE_SKULL, false, S_MOAN, 2632 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 2633 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC, 2634 {TILEP_MONS_CURSE_SKULL}, TILE_ERROR 2635 }, 2636 2637 { 2638 MONS_CURSE_TOE, 'z', LIGHTGREEN, "curse toe", 2639 M_SEE_INVIS | M_SPEAKS | M_FLIES, 2640 MR_RES_ELEC | mrd(MR_RES_FIRE, 3) | MR_RES_COLD, 2641 60, MONS_LICH, MONS_CURSE_TOE, MH_UNDEAD, WILL_INVULN, 2642 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2643 14, 980, 2644 25, 1, MST_CURSE_TOE, false, S_MOAN, 2645 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14), 2646 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC, 2647 {TILEP_MONS_CURSE_TOE}, TILE_ERROR 2648 }, 2649 2650 // angelic beings ('A') 2651 { 2652 MONS_ANGEL, 'A', WHITE, "angel", 2653 M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES, 2654 MR_RES_POISON | MR_RES_ELEC, 2655 10, MONS_ANGEL, MONS_ANGEL, MH_HOLY, 120, 2656 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, 2657 AT_NO_ATK }, 2658 12, 1020, 2659 10, 20, MST_ANGEL, false, S_SHOUT, 2660 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 2661 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 2662 MON_SHAPE_HUMANOID_WINGED, 2663 {TILEP_MONS_ANGEL}, TILE_ERROR 2664 }, 2665 2666 { 2667 MONS_CHERUB, 'A', LIGHTBLUE, "cherub", 2668 M_FIGHTER | M_ARCHER | M_SEE_INVIS | M_SPEAKS | M_FLIES, 2669 MR_RES_POISON | MR_RES_ELEC | MR_RES_FIRE, 2670 10, MONS_ANGEL, MONS_CHERUB, MH_HOLY, 100, 2671 { {AT_HIT, AF_PLAIN, 15}, {AT_CHERUB, AF_PLAIN, 8}, AT_NO_ATK, 2672 AT_NO_ATK }, 2673 9, 765, 2674 10, 20, MST_BATTLECRY, false, S_CHERUB, 2675 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2676 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 2677 MON_SHAPE_HUMANOID_WINGED, 2678 {TILEP_MONS_CHERUB}, TILE_ERROR 2679 }, 2680 2681 { 2682 MONS_SERAPH, 'A', LIGHTMAGENTA, "seraph", 2683 M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES | M_TALL_TILE, 2684 MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3), 2685 10, MONS_ANGEL, MONS_SERAPH, MH_HOLY, 160, 2686 { {AT_HIT, AF_PLAIN, 50}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, 2687 AT_NO_ATK }, 2688 25, 2125, 2689 10, 20, MST_SERAPH, false, S_SHOUT, 2690 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 2691 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 2692 MON_SHAPE_HUMANOID_WINGED, 2693 {TILEP_MONS_SERAPH}, TILE_ERROR 2694 }, 2695 2696 { 2697 MONS_DAEVA, 'A', YELLOW, "daeva", 2698 M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES, 2699 MR_RES_POISON, 2700 12, MONS_ANGEL, MONS_DAEVA, MH_HOLY, 140, 2701 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, 2702 AT_NO_ATK }, 2703 14, 1190, 2704 10, 13, MST_DAEVA, false, S_SHOUT, 2705 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2706 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 2707 MON_SHAPE_HUMANOID_WINGED, 2708 {TILEP_MONS_DAEVA}, TILE_ERROR 2709 }, 2710 2711 { 2712 MONS_PROFANE_SERVITOR, 'A', RED, "profane servitor", 2713 M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES, 2714 MR_RES_COLD | MR_RES_ELEC, 2715 10, MONS_ANGEL, MONS_PROFANE_SERVITOR, MH_UNDEAD, 140, 2716 { {AT_HIT, AF_VAMPIRIC, 25}, {AT_HIT, AF_DRAIN, 10}, AT_NO_ATK, 2717 AT_NO_ATK }, 2718 18, 1530, 2719 10, 20, MST_NO_SPELLS, false, S_SILENT, 2720 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 2721 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, 2722 MON_SHAPE_HUMANOID_WINGED, 2723 {TILEP_MONS_PROFANE_SERVITOR}, TILE_ERROR 2724 }, 2725 2726 // beetles and other insects ('B') 2727 2728 { 2729 MONS_GIANT_COCKROACH, 'B', BROWN, "giant cockroach", 2730 M_NO_SKELETON, 2731 MR_VUL_POISON, 2732 10, MONS_GIANT_COCKROACH, MONS_GIANT_COCKROACH, MH_NATURAL, 0, 2733 { {AT_BITE, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2734 1, 50, 2735 3, 10, MST_NO_SPELLS, true, S_SILENT, 2736 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 2737 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_INSECT, 2738 {TILEP_MONS_GIANT_COCKROACH}, TILE_CORPSE_GIANT_COCKROACH 2739 }, 2740 2741 // dummy for recolouring 2742 { 2743 MONS_FORMICID, 'B', GREEN, "formicid", 2744 M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_NO_SKELETON | M_NO_POLY_TO 2745 | M_NO_GEN_DERIVED, 2746 MR_NO_FLAGS, 2747 10, MONS_FORMICID, MONS_FORMICID, MH_NATURAL, 40, 2748 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2749 6, 420, 2750 3, 10, MST_NO_SPELLS, true, S_SHOUT, 2751 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2752 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 2753 {TILEP_MONS_FORMICID}, TILE_CORPSE_FORMICID 2754 }, 2755 2756 { 2757 MONS_ENTROPY_WEAVER, 'B', LIGHTCYAN, "entropy weaver", 2758 M_WARM_BLOOD | M_NO_SKELETON | M_FIGHTER | M_SEE_INVIS | M_SPEAKS, 2759 MR_NO_FLAGS, 2760 10, MONS_ENTROPY_WEAVER, MONS_ENTROPY_WEAVER, MH_NATURAL, 60, 2761 { {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 17}, {AT_HIT, AF_PLAIN, 17} }, 2762 13, 715, 2763 7, 13, MST_ENTROPY_WEAVER, true, S_SHOUT, 2764 I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY, 2765 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 2766 {TILEP_MONS_ENTROPY_WEAVER}, TILE_CORPSE_ENTROPY_WEAVER 2767 }, 2768 2769 { 2770 MONS_BOULDER_BEETLE, 'B', LIGHTGREY, "boulder beetle", 2771 M_NO_SKELETON, 2772 MR_VUL_POISON, 2773 12, MONS_BOULDER_BEETLE, MONS_BOULDER_BEETLE, MH_NATURAL, 40, 2774 { {AT_BITE, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2775 12, 765, 2776 20, 2, MST_BOULDER_BEETLE, true, S_SILENT, 2777 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2778 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_INSECT, 2779 {TILEP_MONS_BOULDER_BEETLE}, TILE_CORPSE_BOULDER_BEETLE 2780 }, 2781 2782 { 2783 MONS_DEATH_SCARAB, 'B', BLUE, "death scarab", 2784 M_NO_SKELETON | M_BATTY, 2785 MR_NO_FLAGS, 2786 12, MONS_DEATH_SCARAB, MONS_DEATH_SCARAB, MH_UNDEAD, 60, 2787 { {AT_BITE, AF_SCARAB, 33}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2788 8, 320, 2789 7, 14, MST_NO_SPELLS, true, S_SILENT, 2790 I_ANIMAL, HT_LAND, 30, DEFAULT_ENERGY, 2791 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_INSECT, 2792 {TILEP_MONS_DEATH_SCARAB}, TILE_CORPSE_DEATH_SCARAB 2793 }, 2794 2795 // cyclopes and giants ('C') 2796 DUMMY(MONS_GIANT, 'C', LIGHTGREY, "giant", TILEP_MONS_STONE_GIANT) 2797 2798 { 2799 MONS_CYCLOPS, 'C', YELLOW, "cyclops", 2800 M_WARM_BLOOD | M_SPEAKS, 2801 MR_NO_FLAGS, 2802 14, MONS_GIANT, MONS_CYCLOPS, MH_NATURAL, 40, 2803 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2804 9, 495, 2805 5, 3, MST_NO_SPELLS, true, S_SHOUT, 2806 I_HUMAN, HT_LAND, 7, DEFAULT_ENERGY, 2807 MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID, 2808 {TILEP_MONS_CYCLOPS}, TILE_CORPSE_CYCLOPS 2809 }, 2810 2811 { 2812 MONS_ETTIN, 'C', BROWN, "ettin", 2813 M_WARM_BLOOD | M_TWO_WEAPONS | M_SPEAKS, 2814 MR_NO_FLAGS, 2815 12, MONS_GIANT, MONS_ETTIN, MH_NATURAL, 40, 2816 { {AT_HIT, AF_PLAIN, 40}, {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK }, 2817 12, 660, 2818 9, 4, MST_NO_SPELLS, true, S_SHOUT2, 2819 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2820 MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID, 2821 {TILEP_MONS_ETTIN}, TILE_CORPSE_ETTIN 2822 }, 2823 2824 { 2825 MONS_FIRE_GIANT, 'C', RED, "fire giant", 2826 M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 2827 mrd(MR_RES_FIRE, 2), 2828 13, MONS_GIANT, MONS_FIRE_GIANT, MH_NATURAL, 80, 2829 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2830 16, 960, 2831 8, 4, MST_FIRE_GIANT, true, S_SHOUT, 2832 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2833 MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID, 2834 {TILEP_MONS_FIRE_GIANT}, TILE_CORPSE_FIRE_GIANT 2835 }, 2836 2837 { 2838 MONS_FROST_GIANT, 'C', LIGHTBLUE, "frost giant", 2839 M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 2840 mrd(MR_RES_COLD, 2), 2841 11, MONS_GIANT, MONS_FROST_GIANT, MH_NATURAL, 80, 2842 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2843 16, 1040, 2844 9, 3, MST_FROST_GIANT, true, S_SHOUT, 2845 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2846 MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID, 2847 {TILEP_MONS_FROST_GIANT}, TILE_CORPSE_FROST_GIANT 2848 }, 2849 2850 { 2851 MONS_STONE_GIANT, 'C', LIGHTGREY, "stone giant", 2852 M_WARM_BLOOD | M_SPEAKS, 2853 MR_NO_FLAGS, 2854 9, MONS_GIANT, MONS_STONE_GIANT, MH_NATURAL, 80, 2855 { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2856 16, 880, 2857 12, 2, MST_NO_SPELLS, true, S_SHOUT, 2858 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2859 MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID, 2860 {TILEP_MONS_STONE_GIANT}, TILE_CORPSE_STONE_GIANT 2861 }, 2862 2863 { 2864 MONS_TITAN, 'C', MAGENTA, "titan", 2865 M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 2866 mrd(MR_RES_ELEC, 3), 2867 12, MONS_GIANT, MONS_TITAN, MH_NATURAL, 180, 2868 { {AT_HIT, AF_PLAIN, 55}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2869 20, 1100, 2870 10, 3, MST_TITAN, true, S_SHOUT, 2871 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2872 MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_HUMANOID, 2873 {TILEP_MONS_TITAN}, TILE_CORPSE_TITAN 2874 }, 2875 2876 { 2877 MONS_JUGGERNAUT, 'C', LIGHTGREEN, "juggernaut", 2878 M_FIGHTER | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS, 2879 MR_NO_FLAGS, 2880 12, MONS_GIANT, MONS_JUGGERNAUT, MH_NATURAL, 120, 2881 { {AT_HIT, AF_PLAIN, 80}, {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK }, 2882 20, 1700, 2883 20, 5, MST_NO_SPELLS, true, S_SHOUT, 2884 I_HUMAN, HT_LAND, 15, ATTACK_ENERGY(45), 2885 MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_HUMANOID, 2886 {TILEP_MONS_JUGGERNAUT}, TILE_CORPSE_JUGGERNAUT 2887 }, 2888 2889 { 2890 MONS_IRON_GIANT, 'C', CYAN, "iron giant", 2891 M_WARM_BLOOD | M_SPEAKS | M_FIGHTER | M_SEE_INVIS, 2892 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 2893 10, MONS_GIANT, MONS_IRON_GIANT, MH_NATURAL, 120, 2894 { {AT_HIT, AF_PLAIN, 65}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2895 18, 1800, 2896 18, 2, MST_IRON_GIANT, true, S_SHOUT, 2897 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 2898 MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID, 2899 {TILEP_MONS_IRON_GIANT}, TILE_CORPSE_IRON_GIANT 2900 }, 2901 2902 // dragons ('D') 2903 DUMMY(MONS_DRAGON, 'D', GREEN, "dragon", TILEP_MONS_FIRE_DRAGON) 2904 2905 { 2906 MONS_FIRE_DRAGON, 'D', LIGHTRED, "fire dragon", 2907 M_WARM_BLOOD | M_FLIES, 2908 MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD, 2909 12, MONS_DRAGON, MONS_FIRE_DRAGON, MH_NATURAL, 60, 2910 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 13}, 2911 {AT_TRAMPLE, AF_TRAMPLE, 13}, AT_NO_ATK }, 2912 12, 900, 2913 10, 8, MST_FIRE_DRAGON_BREATH, true, S_LOUD_ROAR, 2914 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2915 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 2916 {TILEP_MONS_FIRE_DRAGON}, TILE_CORPSE_FIRE_DRAGON 2917 }, 2918 2919 { 2920 MONS_HYDRA, 'D', LIGHTGREEN, "hydra", 2921 M_COLD_BLOOD | M_FAST_REGEN, 2922 MR_RES_POISON, 2923 11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, 60, 2924 { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 2925 13, 715, 2926 0, 5, MST_NO_SPELLS, true, S_ROAR, 2927 I_ANIMAL, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 2928 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED, 2929 {TILEP_MONS_PROGRAM_BUG}, TILE_CORPSE_HYDRA 2930 }, 2931 2932 { 2933 MONS_ICE_DRAGON, 'D', WHITE, "ice dragon", 2934 M_COLD_BLOOD | M_FLIES, 2935 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2), 2936 10, MONS_DRAGON, MONS_ICE_DRAGON, MH_NATURAL, 40, 2937 { {AT_BITE, AF_PLAIN, 17}, {AT_CLAW, AF_PLAIN, 17}, 2938 {AT_TRAMPLE, AF_TRAMPLE, 17}, AT_NO_ATK }, 2939 12, 900, 2940 10, 8, MST_ICE_DRAGON_BREATH, true, S_LOUD_ROAR, 2941 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2942 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 2943 {TILEP_MONS_ICE_DRAGON}, TILE_CORPSE_ICE_DRAGON 2944 }, 2945 2946 { 2947 MONS_STEAM_DRAGON, 'D', BLUE, "steam dragon", 2948 M_WARM_BLOOD | M_FLIES, 2949 MR_RES_STEAM, 2950 29, MONS_DRAGON, MONS_STEAM_DRAGON, MH_NATURAL, 20, 2951 { {AT_BITE, AF_PLAIN, 12}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK }, 2952 4, 300, 2953 5, 10, MST_STEAM_DRAGON, true, S_HISS, // just for the pun 2954 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2955 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED_WINGED, 2956 {TILEP_MONS_STEAM_DRAGON}, TILE_CORPSE_STEAM_DRAGON 2957 }, 2958 2959 { 2960 MONS_SWAMP_DRAGON, 'D', BROWN, "swamp dragon", 2961 M_WARM_BLOOD | M_FLIES, 2962 MR_RES_POISON, 2963 11, MONS_DRAGON, MONS_SWAMP_DRAGON, MH_NATURAL, 40, 2964 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 11}, 2965 {AT_TRAMPLE, AF_TRAMPLE, 11}, AT_NO_ATK }, 2966 9, 675, 2967 7, 7, MST_SWAMP_DRAGON, true, S_LOUD_ROAR, 2968 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2969 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 2970 {TILEP_MONS_SWAMP_DRAGON}, TILE_CORPSE_SWAMP_DRAGON 2971 }, 2972 2973 { 2974 MONS_ACID_DRAGON, 'D', GREEN, "acid dragon", 2975 M_WARM_BLOOD | M_FLIES, 2976 MR_RES_POISON | MR_RES_ACID, 2977 16, MONS_DRAGON, MONS_ACID_DRAGON, MH_NATURAL, 20, 2978 { {AT_BITE, AF_PLAIN, 15}, {AT_CLAW, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK }, 2979 5, 275, 2980 5, 10, MST_ACID_DRAGON, true, S_ROAR, 2981 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 2982 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED_WINGED, 2983 {TILEP_MONS_ACID_DRAGON}, TILE_CORPSE_ACID_DRAGON 2984 }, 2985 2986 { 2987 MONS_QUICKSILVER_DRAGON, 'D', LIGHTCYAN, "quicksilver dragon", 2988 M_SEE_INVIS | M_WARM_BLOOD | M_FLIES, 2989 MR_NO_FLAGS, 2990 14, MONS_DRAGON, MONS_QUICKSILVER_DRAGON, MH_NATURAL, 140, 2991 { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK }, 2992 16, 880, 2993 10, 15, MST_QUICKSILVER_DRAGON, true, S_LOUD_ROAR, 2994 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 2995 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 2996 {TILEP_MONS_QUICKSILVER_DRAGON}, TILE_CORPSE_QUICKSILVER_DRAGON 2997 }, 2998 2999 { 3000 MONS_IRON_DRAGON, 'D', CYAN, "iron dragon", 3001 M_SEE_INVIS | M_WARM_BLOOD, 3002 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 3003 14, MONS_DRAGON, MONS_IRON_DRAGON, MH_NATURAL, 160, 3004 { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 25}, 3005 {AT_TRAMPLE, AF_TRAMPLE, 25}, AT_NO_ATK }, 3006 18, 1170, 3007 20, 6, MST_SPLINTER_BREATH, true, S_LOUD_ROAR, 3008 I_ANIMAL, HT_LAND, 8, DEFAULT_ENERGY, 3009 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED, 3010 {TILEP_MONS_IRON_DRAGON}, TILE_CORPSE_IRON_DRAGON 3011 }, 3012 3013 { 3014 MONS_STORM_DRAGON, 'D', LIGHTBLUE, "storm dragon", 3015 M_WARM_BLOOD | M_FLIES, 3016 mrd(MR_RES_ELEC, 3) | MR_RES_COLD, 3017 13, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, 100, 3018 { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 15}, 3019 {AT_TRAMPLE, AF_TRAMPLE, 15}, AT_NO_ATK }, 3020 14, 1050, 3021 13, 10, MST_STORM_DRAGON, true, S_LOUD_ROAR, 3022 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 3023 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 3024 {TILEP_MONS_STORM_DRAGON}, TILE_CORPSE_STORM_DRAGON 3025 }, 3026 3027 { 3028 MONS_GOLDEN_DRAGON, 'D', YELLOW, "golden dragon", 3029 M_SEE_INVIS | M_WARM_BLOOD | M_FLIES, 3030 MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 3031 26, MONS_DRAGON, MONS_GOLDEN_DRAGON, MH_NATURAL, 180, 3032 { {AT_BITE, AF_PLAIN, 40}, {AT_CLAW, AF_PLAIN, 20}, 3033 {AT_TRAMPLE, AF_TRAMPLE, 20}, AT_NO_ATK }, 3034 18, 1080, 3035 15, 7, MST_GOLDEN_DRAGON, true, S_LOUD_ROAR, 3036 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 3037 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 3038 {TILEP_MONS_GOLDEN_DRAGON}, TILE_CORPSE_GOLDEN_DRAGON 3039 }, 3040 3041 { 3042 MONS_SHADOW_DRAGON, 'D', MAGENTA, "shadow dragon", 3043 M_SEE_INVIS | M_COLD_BLOOD | M_FLIES, 3044 MR_RES_POISON | mrd(MR_RES_COLD, 2) | mrd(MR_RES_NEG, 3), 3045 12, MONS_DRAGON, MONS_SHADOW_DRAGON, MH_NATURAL, 120, 3046 { {AT_BITE, AF_DRAIN, 20}, {AT_CLAW, AF_PLAIN, 15}, 3047 {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK }, 3048 17, 1275, 3049 15, 10, MST_SHADOW_DRAGON, true, S_SILENT, // stealth dragon 3050 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 3051 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 3052 {TILEP_MONS_SHADOW_DRAGON}, TILE_CORPSE_SHADOW_DRAGON 3053 }, 3054 3055 { 3056 MONS_BONE_DRAGON, 'D', LIGHTGREY, "bone dragon", 3057 M_SEE_INVIS | M_FLIES, 3058 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3059 12, MONS_DRAGON, MONS_BONE_DRAGON, MH_UNDEAD, 100, 3060 { {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 20}, 3061 {AT_TRAMPLE, AF_TRAMPLE, 20}, AT_NO_ATK }, 3062 20, 1800, 3063 20, 4, MST_NO_SPELLS, false, S_SILENT, 3064 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 3065 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 3066 {TILEP_MONS_BONE_DRAGON}, TILE_ERROR 3067 }, 3068 3069 { 3070 MONS_PEARL_DRAGON, 'D', ETC_HOLY, "pearl dragon", 3071 M_SEE_INVIS | M_WARM_BLOOD | M_FLIES, 3072 MR_NO_FLAGS, 3073 16, MONS_DRAGON, MONS_PEARL_DRAGON, MH_HOLY, 160, 3074 { {AT_BITE, AF_HOLY, 35}, {AT_CLAW, AF_HOLY, 20}, AT_NO_ATK, AT_NO_ATK }, 3075 18, 1170, 3076 10, 15, MST_PEARL_DRAGON, true, S_LOUD_ROAR, 3077 I_ANIMAL, HT_LAND, 12, DEFAULT_ENERGY, 3078 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 3079 {TILEP_MONS_PEARL_DRAGON}, TILE_CORPSE_PEARL_DRAGON 3080 }, 3081 3082 // elementals (E) 3083 DUMMY(MONS_ELEMENTAL, 'E', LIGHTGREY, "elemental", TILEP_MONS_WATER_ELEMENTAL) 3084 3085 { 3086 MONS_EARTH_ELEMENTAL, 'E', ETC_EARTH, "earth elemental", 3087 M_NO_FLAGS, 3088 mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3) 3089 | MR_RES_PETRIFY, 3090 13, MONS_ELEMENTAL, MONS_EARTH_ELEMENTAL, MH_NONLIVING, WILL_INVULN, 3091 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3092 6, 450, 3093 14, 4, MST_NO_SPELLS, false, S_SILENT, 3094 I_BRAINLESS, HT_LAND, 6, DEFAULT_ENERGY, 3095 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 3096 {TILEP_MONS_EARTH_ELEMENTAL}, TILE_ERROR 3097 }, 3098 3099 { 3100 MONS_FIRE_ELEMENTAL, 'E', ETC_FIRE, "fire elemental", 3101 M_INSUBSTANTIAL, 3102 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_RES_ELEC 3103 | MR_VUL_WATER, 3104 10, MONS_ELEMENTAL, MONS_FIRE_ELEMENTAL, MH_NONLIVING, WILL_INVULN, 3105 { {AT_HIT, AF_PURE_FIRE, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3106 6, 330, 3107 4, 12, MST_NO_SPELLS, false, S_SILENT, 3108 I_BRAINLESS, HT_AMPHIBIOUS_LAVA, 13, DEFAULT_ENERGY, 3109 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 3110 {TILEP_MONS_FIRE_ELEMENTAL}, TILE_ERROR 3111 }, 3112 3113 { 3114 MONS_WATER_ELEMENTAL, 'E', ETC_WATER, "water elemental", 3115 M_NO_FLAGS, 3116 MR_VUL_FIRE | MR_RES_ELEC, 3117 12, MONS_ELEMENTAL, MONS_WATER_ELEMENTAL, MH_NONLIVING, WILL_INVULN, 3118 { {AT_HIT, AF_ENGULF, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3119 6, 420, 3120 4, 7, MST_NO_SPELLS, false, S_SILENT, 3121 I_BRAINLESS, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 3122 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 3123 {TILEP_MONS_WATER_ELEMENTAL}, TILE_ERROR 3124 }, 3125 3126 { 3127 MONS_AIR_ELEMENTAL, 'E', ETC_AIR, "air elemental", 3128 M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 3129 mrd(MR_RES_ELEC, 3), 3130 6, MONS_ELEMENTAL, MONS_AIR_ELEMENTAL, MH_NONLIVING, WILL_INVULN, 3131 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3132 6, 330, 3133 2, 18, MST_AIR_ELEMENTAL, false, S_SILENT, 3134 I_BRAINLESS, HT_LAND, 25, DEFAULT_ENERGY, 3135 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 3136 {TILEP_MONS_AIR_ELEMENTAL}, TILE_ERROR 3137 }, 3138 3139 { 3140 MONS_IRON_ELEMENTAL, 'E', ETC_IRON, "iron elemental", 3141 M_NO_FLAGS, 3142 mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3), 3143 13, MONS_ELEMENTAL, MONS_IRON_ELEMENTAL, MH_NONLIVING, WILL_INVULN, 3144 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3145 12, 1080, 3146 20, 2, MST_IRON_ELEMENTAL, false, S_SILENT, 3147 I_BRAINLESS, HT_LAND, 6, DEFAULT_ENERGY, 3148 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 3149 {TILEP_MONS_IRON_ELEMENTAL}, TILE_ERROR 3150 }, 3151 3152 { 3153 MONS_ELEMENTAL_WELLSPRING, 'E', LIGHTCYAN, "elemental wellspring", 3154 M_NO_FLAGS, 3155 MR_RES_ELEC, 3156 13, MONS_ELEMENTAL, MONS_ELEMENTAL_WELLSPRING, MH_NONLIVING, WILL_INVULN, 3157 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3158 18, 620, 3159 8, 8, MST_ELEMENTAL_WELLSPRING, false, S_SILENT, 3160 I_BRAINLESS, HT_WATER, 10, DEFAULT_ENERGY, 3161 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 3162 {TILEP_MONS_ELEMENTAL_WELLSPRING}, TILE_ERROR 3163 }, 3164 3165 // frogs ('F') 3166 DUMMY(MONS_FROG, 'F', LIGHTGREEN, "giant frog", TILEP_MONS_BULLFROG) 3167 3168 { 3169 MONS_BULLFROG, 'F', GREEN, "bullfrog", 3170 M_COLD_BLOOD, 3171 MR_NO_FLAGS, 3172 10, MONS_FROG, MONS_BULLFROG, MH_NATURAL, 20, 3173 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3174 4, 220, 3175 0, 12, MST_NO_SPELLS, true, S_CROAK, 3176 I_ANIMAL, HT_AMPHIBIOUS, 15, SWIM_ENERGY(6), 3177 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS, 3178 {TILEP_MONS_BULLFROG}, TILE_CORPSE_BULLFROG 3179 }, 3180 3181 { 3182 MONS_CANE_TOAD, 'F', YELLOW, "cane toad", 3183 M_COLD_BLOOD, 3184 MR_RES_POISON, 3185 16, MONS_FROG, MONS_CANE_TOAD, MH_NATURAL, 20, 3186 { {AT_STING, AF_POISON, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3187 7, 385, 3188 6, 9, MST_NO_SPELLS, true, S_CROAK, 3189 I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(6), 3190 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS, 3191 {TILEP_MONS_CANE_TOAD}, TILE_CORPSE_CANE_TOAD 3192 }, 3193 3194 { 3195 MONS_BLINK_FROG, 'F', LIGHTGREEN, "blink frog", 3196 M_COLD_BLOOD, 3197 MR_NO_FLAGS, 3198 13, MONS_FROG, MONS_BLINK_FROG, MH_NATURAL, 40, 3199 { {AT_HIT, AF_BLINK, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3200 6, 330, 3201 0, 16, MST_BLINKER, true, S_CROAK, 3202 I_ANIMAL, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6), 3203 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS, 3204 {TILEP_MONS_BLINK_FROG}, TILE_CORPSE_BLINK_FROG 3205 }, 3206 3207 { 3208 MONS_GOLIATH_FROG, 'F', LIGHTGREY, "goliath frog", 3209 M_COLD_BLOOD, 3210 MR_NO_FLAGS, // it's tough out there for a frog. 3211 10, MONS_FROG, MONS_GOLIATH_FROG, MH_NATURAL, 60, 3212 { { AT_HIT, AF_REACH_TONGUE, 27 }, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3213 12, 420, 3214 3, 16, MST_NO_SPELLS, true, S_SILENT, // IRL, goliath frogs have no vocals! 3215 I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(6), 3216 MONUSE_NOTHING, SIZE_LITTLE /* ~13" */, MON_SHAPE_QUADRUPED_TAILLESS, 3217 {TILEP_MONS_GOLIATH_FROG}, TILE_CORPSE_GOLIATH_FROG 3218 }, 3219 3220 // dummy for recolouring 3221 { 3222 MONS_BARACHI, 'F', LIGHTCYAN, "barachi", 3223 M_SPEAKS | M_NO_POLY_TO, 3224 MR_NO_FLAGS, 3225 10, MONS_FROG, MONS_BARACHI, MH_NATURAL, 10, 3226 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3227 3, 180, 3228 0, 10, MST_NO_SPELLS, true, S_SHOUT, 3229 I_HUMAN, HT_AMPHIBIOUS, 8, DEFAULT_ENERGY, 3230 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3231 {TILEP_MONS_BULLFROG}, TILE_CORPSE_BULLFROG 3232 }, 3233 3234 // eyes ('G') 3235 { 3236 MONS_FLOATING_EYE, 'G', WHITE, "floating eye", 3237 M_SEE_INVIS | M_FLIES, 3238 MR_NO_FLAGS, 3239 6, MONS_FLOATING_EYE, MONS_FLOATING_EYE, MH_NATURAL, 10, 3240 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3241 9, 165, 3242 0, 1, MST_FLOATING_EYE, false, S_SILENT, 3243 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 3244 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ORB, 3245 {TILEP_MONS_FLOATING_EYE}, TILE_ERROR 3246 }, 3247 3248 { 3249 MONS_GLOWING_ORANGE_BRAIN, 'G', LIGHTRED, "glowing orange brain", 3250 M_WARM_BLOOD | M_SEE_INVIS | M_FLIES, 3251 MR_NO_FLAGS, 3252 13, MONS_GLOWING_ORANGE_BRAIN, MONS_GLOWING_ORANGE_BRAIN, MH_NATURAL, 100, 3253 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3254 10, 550, 3255 2, 4, MST_GLOWING_ORANGE_BRAIN, false, S_SILENT, 3256 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3257 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_ORB, 3258 {TILEP_MONS_GLOWING_ORANGE_BRAIN}, TILE_ERROR 3259 }, 3260 3261 { 3262 MONS_GREAT_ORB_OF_EYES, 'G', LIGHTGREEN, "great orb of eyes", 3263 M_SEE_INVIS | M_FLIES, 3264 MR_RES_POISON, 3265 13, MONS_FLOATING_EYE, MONS_GREAT_ORB_OF_EYES, MH_NATURAL, 120, 3266 { {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3267 12, 660, 3268 10, 3, MST_GREAT_ORB_OF_EYES, false, S_SILENT, 3269 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3270 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_ORB, 3271 {TILEP_MONS_GREAT_ORB_OF_EYES}, TILE_ERROR 3272 }, 3273 3274 { 3275 MONS_SHINING_EYE, 'G', LIGHTMAGENTA, "shining eye", 3276 M_SEE_INVIS | M_FLIES, 3277 MR_NO_FLAGS, 3278 14, MONS_FLOATING_EYE, MONS_SHINING_EYE, MH_NATURAL, 100, 3279 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3280 10, 550, 3281 3, 1, MST_SHINING_EYE, false, S_SILENT, 3282 I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY, 3283 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ORB, 3284 {TILEP_MONS_SHINING_EYE}, TILE_ERROR 3285 }, 3286 3287 { 3288 MONS_EYE_OF_DEVASTATION, 'G', YELLOW, "eye of devastation", 3289 M_SEE_INVIS | M_FLIES, 3290 MR_NO_FLAGS, 3291 11, MONS_FLOATING_EYE, MONS_EYE_OF_DEVASTATION, 3292 MH_NATURAL, 100, 3293 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3294 10, 550, 3295 12, 1, MST_EYE_OF_DEVASTATION, false, S_SILENT, 3296 I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY, 3297 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ORB, 3298 {TILEP_MONS_EYE_OF_DEVASTATION}, TILE_ERROR 3299 }, 3300 3301 { 3302 MONS_GOLDEN_EYE, 'G', ETC_GOLD, "golden eye", 3303 M_SEE_INVIS | M_BATTY | M_FLIES, 3304 MR_NO_FLAGS, 3305 17, MONS_FLOATING_EYE, MONS_GOLDEN_EYE, MH_NATURAL, 60, 3306 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3307 6, 120, 3308 0, 20, MST_GOLDEN_EYE, false, S_SILENT, 3309 I_BRAINLESS, HT_LAND, 13, DEFAULT_ENERGY, 3310 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_ORB, 3311 {TILEP_MONS_GOLDEN_EYE}, TILE_ERROR 3312 }, 3313 3314 { 3315 MONS_OPHAN, 'G', RED, "ophan", 3316 M_SEE_INVIS | M_FLIES, 3317 MR_NO_FLAGS, 3318 14, MONS_ANGEL, MONS_OPHAN, MH_HOLY, 140, 3319 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3320 15, 975, 3321 10, 10, MST_OPHAN, false, S_SILENT, 3322 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3323 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_ORB, 3324 {TILEP_MONS_OPHAN}, TILE_ERROR 3325 }, 3326 3327 // hybrids ('H') 3328 { 3329 MONS_MANTICORE, 'H', RED, "manticore", 3330 M_WARM_BLOOD | M_FLIES, 3331 MR_NO_FLAGS, 3332 10, MONS_MANTICORE, MONS_MANTICORE, MH_NATURAL, 40, 3333 { {AT_BITE, AF_PLAIN, 26}, {AT_CLAW, AF_PLAIN, 14}, {AT_CLAW, AF_PLAIN, 14}, 3334 AT_NO_ATK }, 3335 9, 495, 3336 5, 7, MST_MANTICORE, true, S_SILENT, 3337 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 3338 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED, 3339 {TILEP_MONS_MANTICORE}, TILE_CORPSE_MANTICORE 3340 }, 3341 3342 { 3343 MONS_MINOTAUR, 'H', LIGHTRED, "minotaur", 3344 M_FIGHTER | M_WARM_BLOOD | M_SPEAKS, 3345 MR_NO_FLAGS, 3346 10, MONS_MINOTAUR, MONS_MINOTAUR, MH_NATURAL, 100, 3347 { {AT_HIT, AF_PLAIN, 35}, {AT_GORE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK }, 3348 14, 780, 3349 6, 9, MST_NO_SPELLS, true, S_BELLOW, 3350 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3351 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3352 {TILEP_MONS_MINOTAUR}, TILE_CORPSE_MINOTAUR 3353 }, 3354 3355 { 3356 MONS_FENSTRIDER_WITCH, 'H', LIGHTMAGENTA, "fenstrider witch", 3357 M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS, 3358 MR_RES_POISON | MR_RES_NEG, 3359 10, MONS_FENSTRIDER_WITCH, MONS_FENSTRIDER_WITCH, MH_NATURAL | MH_EVIL, 100, 3360 { { AT_HIT, AF_PLAIN, 25 }, { AT_KICK, AF_PLAIN, 25 }, AT_NO_ATK, AT_NO_ATK }, 3361 16, 666, 3362 3, 15, MST_FENSTRIDER_WITCH, true, S_SHOUT, 3363 I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY, 3364 MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID, 3365 { TILEP_MONS_FENSTRIDER_WITCH }, TILE_CORPSE_FENSTRIDER_WITCH 3366 }, 3367 3368 { 3369 MONS_SPHINX, 'H', LIGHTGREY, "sphinx", 3370 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FLIES, 3371 MR_NO_FLAGS, 3372 12, MONS_SPHINX, MONS_SPHINX, MH_NATURAL, 60, 3373 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 12}, {AT_HIT, AF_PLAIN, 12}, 3374 AT_NO_ATK }, 3375 16, 880, 3376 5, 5, MST_SPHINX, true, S_SHOUT, 3377 I_HUMAN, HT_LAND, 11, DEFAULT_ENERGY, 3378 MONUSE_OPEN_DOORS, SIZE_BIG, MON_SHAPE_QUADRUPED_WINGED, 3379 {TILEP_MONS_SPHINX}, TILE_CORPSE_SPHINX 3380 }, 3381 3382 { 3383 MONS_HARPY, 'H', GREEN, "harpy", 3384 M_WARM_BLOOD | M_BATTY | M_FEMALE | M_FLIES, 3385 MR_RES_POISON, 3386 9, MONS_HARPY, MONS_HARPY, MH_NATURAL, 20, 3387 { {AT_CLAW, AF_PLAIN, 19}, {AT_CLAW, AF_PLAIN, 14}, AT_NO_ATK, 3388 AT_NO_ATK }, 3389 7, 385, 3390 2, 10, MST_NO_SPELLS, true, S_SCREECH, 3391 I_HUMAN, HT_LAND, 25, DEFAULT_ENERGY, 3392 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID_WINGED, 3393 {TILEP_MONS_HARPY}, TILE_CORPSE_HARPY 3394 }, 3395 3396 // dummy, though it's rude to say so 3397 { 3398 MONS_PALENTONGA, 'H', YELLOW, "palentonga", 3399 M_SPEAKS | M_NO_POLY_TO, 3400 MR_NO_FLAGS, 3401 10, MONS_PALENTONGA, MONS_PALENTONGA, MH_NATURAL, 10, 3402 { {AT_HIT, AF_PLAIN, 18}, {AT_TAIL_SLAP, AF_PLAIN, 12}, AT_NO_ATK, 3403 AT_NO_ATK }, 3404 8, 450, 3405 15, 5, MST_NO_SPELLS, true, S_SHOUT, 3406 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3407 MONUSE_WEAPONS_ARMOUR, SIZE_BIG, MON_SHAPE_HUMANOID, 3408 {TILEP_MONS_BOULDER_BEETLE}, TILE_CORPSE_BOULDER_BEETLE 3409 }, 3410 3411 // Mutant beasts - variable traits 3412 { 3413 MONS_MUTANT_BEAST, 'H', MAGENTA, "mutant beast", 3414 M_NO_POLY_TO | M_NO_GEN_DERIVED, 3415 MR_NO_FLAGS, 3416 11, MONS_MUTANT_BEAST, MONS_MUTANT_BEAST, MH_NATURAL, -3, 3417 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3418 15, 825, 3419 8, 5, MST_NO_SPELLS, true, S_RANDOM, 3420 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 3421 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED, 3422 {TILEP_MUTANT_BEAST_BASE}, TILE_CORPSE_MUTANT_BEAST 3423 }, 3424 3425 3426 // Hepliaklqana's ancestor - variable traits 3427 { 3428 MONS_ANCESTOR, 'R', LIGHTCYAN, "ancestor", 3429 M_ANCESTOR | M_NO_POLY_TO | M_NO_GEN_DERIVED | M_FLIES | M_FAST_REGEN | M_INSUBSTANTIAL | M_SEE_INVIS, 3430 MR_RES_FIRE | MR_RES_COLD, 3431 1, MONS_ANCESTOR, MONS_ANCESTOR, MH_NONLIVING, -5, 3432 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3433 1, 1, 3434 5, 10, MST_NO_SPELLS, false, S_SHOUT, 3435 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3436 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3437 {TILEP_MONS_ANCESTOR}, TILE_ERROR 3438 }, 3439 3440 { 3441 MONS_ANCESTOR_KNIGHT, 'R', LIGHTCYAN, "knight", 3442 M_ANCESTOR | M_NO_POLY_TO | M_NO_GEN_DERIVED | M_FLIES | M_FAST_REGEN | M_INSUBSTANTIAL | M_SEE_INVIS, 3443 MR_RES_FIRE | MR_RES_COLD, 3444 1, MONS_ANCESTOR, MONS_ANCESTOR_KNIGHT, MH_NONLIVING, -5, 3445 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3446 1, 1, 3447 5, 10, MST_NO_SPELLS, false, S_SHOUT, 3448 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3449 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3450 {TILEP_MONS_ANCESTOR_KNIGHT}, TILE_ERROR 3451 }, 3452 { 3453 MONS_ANCESTOR_BATTLEMAGE, 'R', LIGHTCYAN, "battlemage", 3454 M_ANCESTOR | M_NO_POLY_TO | M_NO_GEN_DERIVED | M_FLIES | M_FAST_REGEN | M_INSUBSTANTIAL | M_SEE_INVIS, 3455 MR_RES_FIRE | MR_RES_COLD, 3456 1, MONS_ANCESTOR, MONS_ANCESTOR_BATTLEMAGE, MH_NONLIVING, -5, 3457 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3458 1, 1, 3459 5, 10, MST_NO_SPELLS, false, S_SHOUT, 3460 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3461 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3462 {TILEP_MONS_ANCESTOR_BATTLEMAGE}, TILE_ERROR 3463 }, 3464 { 3465 MONS_ANCESTOR_HEXER, 'R', LIGHTCYAN, "hexer", 3466 M_ANCESTOR | M_NO_POLY_TO | M_NO_GEN_DERIVED | M_FLIES | M_FAST_REGEN | M_INSUBSTANTIAL | M_SEE_INVIS, 3467 MR_RES_FIRE | MR_RES_COLD, 3468 1, MONS_ANCESTOR, MONS_ANCESTOR_HEXER, MH_NONLIVING, -5, 3469 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3470 1, 1, 3471 5, 10, MST_NO_SPELLS, false, S_SHOUT, 3472 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3473 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3474 {TILEP_MONS_ANCESTOR_HEXER}, TILE_ERROR 3475 }, 3476 3477 // jellies ('J') 3478 { 3479 MONS_ENDOPLASM, 'J', LIGHTGREY, "endoplasm", 3480 M_SEE_INVIS | M_UNBLINDABLE, 3481 MR_RES_POISON | mrd(MR_RES_ACID, 3), 3482 10, MONS_JELLY, MONS_ENDOPLASM, MH_NATURAL, 0, 3483 { {AT_HIT, AF_PLAIN, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3484 1, 60, 3485 1, 3, MST_ENDOPLASM, false, S_SILENT, 3486 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 3487 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_BLOB, 3488 {TILEP_MONS_ENDOPLASM}, TILE_ERROR 3489 }, 3490 3491 { 3492 MONS_JELLY, 'J', LIGHTRED, "jelly", 3493 M_SEE_INVIS | M_UNBLINDABLE | M_SPLITS | M_ACID_SPLASH | M_EAT_DOORS, 3494 MR_RES_POISON | mrd(MR_RES_ACID, 3), 3495 15, MONS_JELLY, MONS_JELLY, MH_NATURAL, 10, 3496 { {AT_HIT, AF_ACID, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3497 3, 165, 3498 0, 2, MST_NO_SPELLS, false, S_SILENT, 3499 I_BRAINLESS, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 3500 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_BLOB, 3501 {TILEP_MONS_JELLY}, TILE_ERROR 3502 }, 3503 3504 { 3505 MONS_SLIME_CREATURE, 'J', GREEN, "slime creature", 3506 M_FAST_REGEN | M_HERD, 3507 MR_RES_POISON, 3508 3, MONS_JELLY, MONS_SLIME_CREATURE, MH_NATURAL, 40, 3509 { {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3510 11, 605, 3511 1, 4, MST_NO_SPELLS, false, S_SILENT, 3512 I_BRAINLESS, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 3513 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_BLOB, 3514 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 3515 }, 3516 3517 DUMMY(MONS_MERGED_SLIME_CREATURE, 'J', LIGHTGREEN, "merged slime creature", 3518 TILEP_MONS_PROGRAM_BUG) 3519 3520 { 3521 MONS_ROCKSLIME, 'J', BROWN, "rockslime", 3522 M_SEE_INVIS | M_UNBLINDABLE | M_EAT_DOORS, 3523 MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 2), 3524 10, MONS_JELLY, MONS_ROCKSLIME, MH_NATURAL, 60, 3525 { {AT_HIT, AF_TRAMPLE, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3526 20, 600, 3527 27, 2, MST_NO_SPELLS, false, S_SILENT, 3528 I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY, 3529 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_BLOB, 3530 {TILEP_MONS_ROCKSLIME}, TILE_ERROR 3531 }, 3532 3533 { 3534 MONS_QUICKSILVER_OOZE, 'J', CYAN, "quicksilver ooze", 3535 M_SEE_INVIS | M_UNBLINDABLE | M_EAT_DOORS, 3536 MR_RES_POISON | mrd(MR_RES_ACID, 3), 3537 15, MONS_JELLY, MONS_QUICKSILVER_OOZE, MH_NATURAL, WILL_INVULN, 3538 { {AT_HIT, AF_ENGULF, 27}, {AT_HIT, AF_ANTIMAGIC, 15}, AT_NO_ATK, AT_NO_ATK }, 3539 13, 500, 3540 3, 15, MST_NO_SPELLS, false, S_SILENT, 3541 I_BRAINLESS, HT_LAND, 16, DEFAULT_ENERGY, 3542 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_BLOB, 3543 {TILEP_MONS_QUICKSILVER_OOZE}, TILE_ERROR 3544 }, 3545 3546 { 3547 MONS_AZURE_JELLY, 'J', LIGHTBLUE, "azure jelly", 3548 M_SEE_INVIS | M_UNBLINDABLE | M_EAT_DOORS, 3549 MR_RES_POISON | MR_RES_COLD | MR_VUL_FIRE | mrd(MR_RES_ACID, 3), 3550 14, MONS_JELLY, MONS_AZURE_JELLY, MH_NATURAL, 80, 3551 { {AT_HIT, AF_COLD, 12}, {AT_HIT, AF_COLD, 12}, {AT_HIT, AF_PLAIN, 12}, 3552 {AT_HIT, AF_PLAIN, 12} }, 3553 15, 825, 3554 5, 10, MST_NO_SPELLS, false, S_SILENT, 3555 I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY, 3556 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_BLOB, 3557 {TILEP_MONS_AZURE_JELLY}, TILE_ERROR 3558 }, 3559 3560 { 3561 MONS_ACID_BLOB, 'J', LIGHTCYAN, "acid blob", 3562 M_SEE_INVIS | M_UNBLINDABLE | M_ACID_SPLASH | M_EAT_DOORS, 3563 MR_RES_POISON | mrd(MR_RES_ACID, 3), 3564 12, MONS_JELLY, MONS_ACID_BLOB, MH_NATURAL, 160, 3565 { {AT_HIT, AF_ACID, 42}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3566 18, 990, 3567 1, 3, MST_ACID_SPIT, false, S_SILENT, 3568 I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY, 3569 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_BLOB, 3570 {TILEP_MONS_ACID_BLOB}, TILE_ERROR 3571 }, 3572 3573 // kobolds ('K') 3574 { 3575 MONS_KOBOLD, 'K', BROWN, "kobold", 3576 M_WARM_BLOOD | M_SPEAKS, 3577 MR_NO_FLAGS, 3578 10, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, 0, 3579 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3580 1, 35, 3581 2, 12, MST_NO_SPELLS, true, S_SHOUT, 3582 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3583 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, 3584 {TILEP_MONS_KOBOLD}, TILE_CORPSE_KOBOLD 3585 }, 3586 3587 { 3588 MONS_KOBOLD_BRIGAND, 'K', YELLOW, "kobold brigand", 3589 M_WARM_BLOOD | M_SPEAKS, 3590 MR_NO_FLAGS, 3591 7, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, 20, 3592 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3593 5, 275, 3594 3, 12, MST_NO_SPELLS, true, S_SHOUT, 3595 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3596 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3597 {TILEP_MONS_KOBOLD_BRIGAND}, TILE_ERROR 3598 }, 3599 3600 { 3601 MONS_KOBOLD_DEMONOLOGIST, 'K', MAGENTA, "kobold demonologist", 3602 M_WARM_BLOOD | M_SPEAKS, 3603 MR_NO_FLAGS, 3604 18, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL | MH_EVIL, 40, 3605 { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3606 6, 390, 3607 2, 13, MST_KOBOLD_DEMONOLOGIST, true, S_SHOUT, 3608 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3609 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, 3610 {TILEP_MONS_KOBOLD_DEMONOLOGIST}, TILE_ERROR 3611 }, 3612 3613 // liches ('L') 3614 { 3615 MONS_LICH, 'L', LIGHTGREY, "lich", 3616 M_SEE_INVIS | M_SPEAKS, 3617 mrd(MR_RES_COLD, 2), 3618 18, MONS_LICH, MONS_LICH, MH_UNDEAD, WILL_INVULN, 3619 { {AT_TOUCH, AF_DRAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3620 20, 800, 3621 10, 10, MST_LICH, false, S_SHOUT, 3622 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3623 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3624 {TILEP_MONS_LICH}, TILE_ERROR 3625 }, 3626 3627 { 3628 MONS_ANCIENT_LICH, 'L', WHITE, "ancient lich", 3629 M_SEE_INVIS | M_SPEAKS, 3630 mrd(MR_RES_COLD, 2) | MR_RES_FIRE | MR_RES_ELEC, 3631 24, MONS_LICH, MONS_LICH, MH_UNDEAD, WILL_INVULN, 3632 { {AT_TOUCH, AF_DRAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3633 27, 1080, 3634 20, 10, MST_ANCIENT_LICH, false, S_SHOUT, 3635 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3636 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3637 {TILEP_MONS_ANCIENT_LICH}, TILE_ERROR 3638 }, 3639 3640 { 3641 MONS_DREAD_LICH, 'L', LIGHTMAGENTA, "dread lich", 3642 M_SEE_INVIS | M_SPEAKS, 3643 mrd(MR_RES_COLD, 2) | MR_RES_FIRE | MR_RES_ELEC, 3644 24, MONS_LICH, MONS_LICH, MH_UNDEAD, WILL_INVULN, 3645 { {AT_TOUCH, AF_DRAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3646 27, 1080, 3647 20, 10, MST_DREAD_LICH, false, S_SHOUT, 3648 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3649 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3650 {TILEP_MONS_DREAD_LICH}, TILE_ERROR 3651 }, 3652 3653 { 3654 MONS_REVENANT, 'L', CYAN, "revenant", 3655 M_SEE_INVIS | M_SPEAKS, 3656 mrd(MR_RES_COLD, 2), 3657 18, MONS_REVENANT, MONS_REVENANT, MH_UNDEAD, WILL_INVULN, 3658 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3659 18, 810, 3660 8, 12, MST_REVENANT, false, S_SHOUT, 3661 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3662 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3663 {TILEP_MONS_REVENANT}, TILE_ERROR 3664 }, 3665 3666 { 3667 MONS_HALAZID_WARLOCK, 'L', GREEN, "halazid warlock", 3668 M_SEE_INVIS | M_SPEAKS, 3669 mrd(MR_RES_COLD, 2), 3670 10, MONS_LICH, MONS_LICH, MH_UNDEAD, 100, 3671 { {AT_TOUCH, AF_PAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3672 18, 750, 3673 8, 12, MST_HALAZID_WARLOCK, false, S_SHOUT, 3674 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3675 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3676 {TILEP_MONS_HALAZID_WARLOCK}, TILE_ERROR 3677 }, 3678 3679 // mummies ('M') 3680 { 3681 MONS_MUMMY, 'M', LIGHTGREY, "mummy", 3682 M_NO_FLAGS, 3683 MR_VUL_FIRE | MR_RES_COLD, 3684 21, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 20, 3685 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3686 3, 195, 3687 3, 6, MST_NO_SPELLS, false, S_SILENT, 3688 I_HUMAN, HT_LAND, 6, DEFAULT_ENERGY, 3689 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3690 {TILEP_MONS_MUMMY}, TILE_ERROR 3691 }, 3692 3693 { 3694 MONS_GUARDIAN_MUMMY, 'M', YELLOW, "guardian mummy", 3695 M_FIGHTER | M_SEE_INVIS, 3696 MR_RES_COLD, 3697 13, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 40, 3698 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3699 7, 455, 3700 6, 9, MST_NO_SPELLS, false, S_SILENT, 3701 I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY, 3702 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 3703 {TILEP_MONS_GUARDIAN_MUMMY}, TILE_ERROR 3704 }, 3705 3706 { 3707 MONS_ROYAL_MUMMY, 'M', WHITE, "royal mummy", 3708 M_SEE_INVIS | M_SPEAKS, 3709 MR_RES_COLD | MR_RES_ELEC, 3710 24, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 160, 3711 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3712 15, 1950, 3713 10, 6, MST_ROYAL_MUMMY, false, S_SILENT, 3714 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3715 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3716 {TILEP_MONS_ROYAL_MUMMY}, TILE_ERROR 3717 }, 3718 3719 { 3720 MONS_MUMMY_PRIEST, 'M', RED, "mummy priest", 3721 M_SEE_INVIS | M_SPEAKS, 3722 MR_RES_COLD | MR_RES_ELEC, 3723 20, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 120, 3724 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3725 10, 650, 3726 8, 7, MST_MUMMY_PRIEST, false, S_SILENT, 3727 I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY, 3728 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 3729 {TILEP_MONS_MUMMY_PRIEST}, TILE_ERROR 3730 }, 3731 3732 // nagas ('N') 3733 { 3734 MONS_NAGA, 'N', GREEN, "naga", 3735 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS, 3736 MR_RES_POISON, 3737 13, MONS_NAGA, MONS_NAGA, MH_NATURAL, 40, 3738 { {AT_HIT, AF_PLAIN, 22}, {AT_CONSTRICT, AF_CRUSH, 5}, 3739 AT_NO_ATK, AT_NO_ATK }, 3740 5, 275, 3741 6, 10, MST_NAGA, true, S_SHOUT, 3742 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14), 3743 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA, 3744 {TILEP_MONS_NAGA}, TILE_CORPSE_NAGA 3745 }, 3746 3747 { 3748 MONS_NAGA_MAGE, 'N', MAGENTA, "naga mage", 3749 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS, 3750 MR_RES_POISON, 3751 14, MONS_NAGA, MONS_NAGA, MH_NATURAL, 60, 3752 { {AT_HIT, AF_PLAIN, 14}, {AT_CONSTRICT, AF_CRUSH, 4}, 3753 AT_NO_ATK, AT_NO_ATK }, 3754 7, 385, 3755 6, 10, MST_NAGA_MAGE, true, S_SHOUT, 3756 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14), 3757 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA, 3758 {TILEP_MONS_NAGA_MAGE}, TILE_ERROR 3759 }, 3760 3761 { 3762 MONS_NAGA_SHARPSHOOTER, 'N', LIGHTGRAY, "naga sharpshooter", 3763 M_SEE_INVIS | M_WARM_BLOOD 3764 | M_ARCHER | M_PREFER_RANGED | M_SPEAKS, 3765 MR_RES_POISON, 3766 14, MONS_NAGA, MONS_NAGA, MH_NATURAL, 80, 3767 { {AT_HIT, AF_PLAIN, 17}, {AT_CONSTRICT, AF_CRUSH, 5}, AT_NO_ATK, AT_NO_ATK }, 3768 9, 720, 3769 6, 10, MST_NAGA_SHARPSHOOTER, true, S_SHOUT, 3770 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14), 3771 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA, 3772 {TILEP_MONS_NAGA_SHARPSHOOTER}, TILE_ERROR 3773 }, 3774 3775 { 3776 MONS_NAGA_RITUALIST, 'N', BROWN, "naga ritualist", 3777 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS, 3778 MR_RES_POISON, 3779 14, MONS_NAGA, MONS_NAGA, MH_NATURAL, 60, 3780 { {AT_HIT, AF_PLAIN, 14}, {AT_CONSTRICT, AF_CRUSH, 4}, 3781 AT_NO_ATK, AT_NO_ATK }, 3782 8, 600, 3783 6, 10, MST_NAGA_RITUALIST, true, S_SHOUT, 3784 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14), 3785 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA, 3786 {TILEP_MONS_NAGA_RITUALIST}, TILE_ERROR 3787 }, 3788 3789 { 3790 MONS_NAGA_WARRIOR, 'N', BLUE, "naga warrior", 3791 M_FIGHTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS, 3792 MR_RES_POISON, 3793 11, MONS_NAGA, MONS_NAGA, MH_NATURAL, 80, 3794 { {AT_HIT, AF_PLAIN, 32}, {AT_CONSTRICT, AF_CRUSH, 6}, 3795 AT_NO_ATK, AT_NO_ATK }, 3796 10, 1000, 3797 6, 10, MST_NAGA_WARRIOR, true, S_SHOUT, 3798 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14), 3799 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA, 3800 {TILEP_MONS_NAGA_WARRIOR}, TILE_ERROR 3801 }, 3802 3803 { 3804 MONS_NAGARAJA, 'N', LIGHTMAGENTA, "nagaraja", 3805 M_FIGHTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS, 3806 MR_RES_POISON, 3807 15, MONS_NAGA, MONS_NAGA, MH_NATURAL, 140, 3808 { {AT_HIT, AF_PLAIN, 27}, {AT_CONSTRICT, AF_CRUSH, 7}, 3809 AT_NO_ATK, AT_NO_ATK }, 3810 15, 825, 3811 6, 10, MST_NAGARAJA, true, S_SHOUT, 3812 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14), 3813 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA, 3814 {TILEP_MONS_NAGARAJA}, TILE_ERROR 3815 }, 3816 3817 // ogres ('O') 3818 { 3819 MONS_OGRE, 'O', BROWN, "ogre", 3820 M_WARM_BLOOD | M_SPEAKS, 3821 MR_NO_FLAGS, 3822 9, MONS_OGRE, MONS_OGRE, MH_NATURAL, 20, 3823 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3824 5, 275, 3825 1, 6, MST_NO_SPELLS, true, S_SHOUT, 3826 I_HUMAN, HT_LAND, 10, ATTACK_ENERGY(13), 3827 MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID, 3828 {TILEP_MONS_OGRE}, TILE_CORPSE_OGRE 3829 }, 3830 3831 // These guys get understated because the experience code can't see 3832 // that they wield two weapons... I'm raising their xp modifier. - bwr 3833 { 3834 MONS_TWO_HEADED_OGRE, 'O', LIGHTRED, "two-headed ogre", 3835 M_WARM_BLOOD | M_TWO_WEAPONS | M_SPEAKS, 3836 MR_NO_FLAGS, 3837 15, MONS_OGRE, MONS_TWO_HEADED_OGRE, MH_NATURAL, 40, 3838 { {AT_HIT, AF_PLAIN, 20}, {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK }, 3839 10, 550, 3840 3, 6, MST_NO_SPELLS, true, S_SHOUT2, 3841 I_HUMAN, HT_LAND, 10, ATTACK_ENERGY(13), 3842 MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID, 3843 {TILEP_MONS_TWO_HEADED_OGRE}, TILE_CORPSE_TWO_HEADED_OGRE 3844 }, 3845 3846 { 3847 MONS_OGRE_MAGE, 'O', MAGENTA, "ogre mage", 3848 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS, 3849 MR_NO_FLAGS, 3850 16, MONS_OGRE, MONS_OGRE, MH_NATURAL | MH_EVIL, 80, 3851 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3852 10, 550, 3853 1, 7, MST_OGRE_MAGE, true, S_SHOUT, 3854 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3855 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 3856 {TILEP_MONS_OGRE_MAGE}, TILE_ERROR 3857 }, 3858 3859 { 3860 MONS_IRONBOUND_THUNDERHULK, 'O', LIGHTCYAN, "ironbound thunderhulk", 3861 M_WARM_BLOOD | M_SPEAKS, 3862 MR_NO_FLAGS, 3863 10, MONS_OGRE, MONS_OGRE, MH_NATURAL, 40, 3864 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3865 12, 880, 3866 1, 8, MST_IRONBOUND_THUNDERHULK, true, S_SHOUT, 3867 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 3868 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 3869 {TILEP_MONS_IRONBOUND_THUNDERHULK}, TILE_ERROR 3870 }, 3871 3872 // immobile plants and fungi ('P') 3873 { 3874 MONS_PLANT, 'P', GREEN, "plant", 3875 M_STATIONARY | M_NOT_DANGEROUS | M_FRAGILE, 3876 MR_RES_POISON, 3877 10, MONS_PLANT, MONS_PLANT, MH_PLANT, WILL_INVULN, 3878 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3879 10, 2000, 3880 0, 0, MST_NO_SPELLS, false, S_SILENT, 3881 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, 3882 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT, 3883 {TILEP_MONS_PLANT, TVARY_MOD}, TILE_ERROR 3884 }, 3885 3886 { 3887 MONS_DEMONIC_PLANT, 'P', ETC_RANDOM, "demonic plant", 3888 M_STATIONARY | M_NOT_DANGEROUS | M_FRAGILE, 3889 MR_RES_POISON, 3890 10, MONS_PLANT, MONS_DEMONIC_PLANT, MH_PLANT, WILL_INVULN, 3891 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3892 10, 2000, 3893 0, 0, MST_NO_SPELLS, false, S_SILENT, 3894 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, 3895 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT, 3896 {TILEP_MONS_DEMONIC_PLANT}, TILE_ERROR 3897 }, 3898 3899 { 3900 MONS_WITHERED_PLANT, 'P', DARKGREY, "withered plant", 3901 M_STATIONARY | M_NOT_DANGEROUS | M_FRAGILE, 3902 mrd(MR_RES_POISON, 3), 3903 10, MONS_PLANT, MONS_WITHERED_PLANT, MH_PLANT, WILL_INVULN, 3904 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3905 10, 2000, 3906 0, 0, MST_NO_SPELLS, false, S_SILENT, 3907 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, 3908 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT, 3909 {TILEP_MONS_WITHERED_PLANT}, TILE_ERROR 3910 }, 3911 3912 { 3913 MONS_OKLOB_SAPLING, 'P', LIGHTCYAN, "oklob sapling", 3914 M_STATIONARY, 3915 MR_RES_POISON | mrd(MR_RES_ACID, 3), 3916 10, MONS_PLANT, MONS_OKLOB_PLANT, MH_PLANT, 20, 3917 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3918 4, 220, 3919 10, 0, MST_OKLOB_SAPLING, false, S_SILENT, 3920 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 3921 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT, 3922 {TILEP_MONS_OKLOB_SAPLING}, TILE_ERROR 3923 }, 3924 3925 { 3926 MONS_OKLOB_PLANT, 'P', LIGHTGREEN, "oklob plant", 3927 M_STATIONARY, 3928 MR_RES_POISON | mrd(MR_RES_ACID, 3), 3929 10, MONS_PLANT, MONS_OKLOB_PLANT, MH_PLANT, 40, 3930 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3931 10, 550, 3932 10, 0, MST_ACID_SPIT, false, S_SILENT, 3933 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 3934 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT, 3935 {TILEP_MONS_OKLOB_PLANT}, TILE_ERROR 3936 }, 3937 3938 { 3939 MONS_BUSH, 'P', BROWN, "bush", 3940 M_STATIONARY | M_NOT_DANGEROUS, 3941 MR_RES_POISON | MR_VUL_FIRE, 3942 10, MONS_PLANT, MONS_BUSH, MH_PLANT, WILL_INVULN, 3943 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3944 20, 1100, 3945 15, 0, MST_NO_SPELLS, false, S_SILENT, 3946 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, 3947 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_PLANT, 3948 {TILEP_MONS_BUSH, TVARY_MOD}, TILE_ERROR 3949 }, 3950 3951 { 3952 MONS_BURNING_BUSH, 'P', RED, "burning bush", 3953 M_STATIONARY | M_SEE_INVIS, 3954 MR_RES_POISON | MR_RES_FIRE, 3955 10, MONS_PLANT, MONS_BUSH, MH_PLANT, 40, 3956 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3957 8, 440, 3958 10, 0, MST_BURNING_BUSH, false, S_SILENT, 3959 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 3960 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_PLANT, 3961 {TILEP_MONS_BUSH_BURNING}, TILE_ERROR 3962 }, 3963 3964 { 3965 MONS_TOADSTOOL, 'P', COLOUR_UNDEF, "toadstool", 3966 M_NOT_DANGEROUS | M_STATIONARY, 3967 MR_RES_POISON, 3968 10, MONS_FUNGUS, MONS_TOADSTOOL, MH_PLANT, WILL_INVULN, 3969 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3970 1, 30, 3971 1, 0, MST_NO_SPELLS, false, S_SILENT, 3972 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, 3973 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS, 3974 {TILEP_MONS_TOADSTOOL, TVARY_MOD}, TILE_ERROR 3975 }, 3976 3977 { 3978 MONS_FUNGUS, 'P', LIGHTGREY, "fungus", 3979 M_NOT_DANGEROUS | M_STATIONARY | M_FRAGILE, 3980 MR_RES_POISON, 3981 10, MONS_FUNGUS, MONS_FUNGUS, MH_PLANT, WILL_INVULN, 3982 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3983 8, 2000, 3984 0, 0, MST_NO_SPELLS, false, S_SILENT, 3985 I_BRAINLESS, HT_LAND, 0, DEFAULT_ENERGY, 3986 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS, 3987 {TILEP_MONS_FUNGUS, TVARY_MOD}, TILE_ERROR 3988 }, 3989 3990 { 3991 MONS_BALLISTOMYCETE, 'P', MAGENTA, "ballistomycete", 3992 M_STATIONARY, 3993 MR_RES_POISON, 3994 10, MONS_FUNGUS, MONS_BALLISTOMYCETE, MH_PLANT, WILL_INVULN, 3995 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 3996 4, 260, 3997 1, 0, MST_BALLISTOMYCETE, false, S_SILENT, 3998 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 3999 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_FUNGUS, 4000 {TILEP_MONS_BALLISTOMYCETE}, TILE_ERROR 4001 }, 4002 4003 { 4004 MONS_BRIAR_PATCH, 'P', YELLOW, "briar patch", 4005 M_STATIONARY | M_NOT_DANGEROUS | M_SPINY, 4006 MR_RES_POISON | MR_VUL_FIRE, 4007 10, MONS_PLANT, MONS_BRIAR_PATCH, MH_PLANT, WILL_INVULN, 4008 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4009 10, 150, 4010 10, 0, MST_NO_SPELLS, false, S_SILENT, 4011 I_BRAINLESS, HT_AMPHIBIOUS, 0, DEFAULT_ENERGY, 4012 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_PLANT, 4013 {TILEP_MONS_BRIAR_PATCH}, TILE_ERROR 4014 }, 4015 4016 // tengu ('Q') 4017 { 4018 MONS_TENGU, 'Q', LIGHTBLUE, "tengu", 4019 M_WARM_BLOOD | M_SPEAKS | M_FLIES, 4020 MR_NO_FLAGS, 4021 10, MONS_TENGU, MONS_TENGU, MH_NATURAL, 20, 4022 { {AT_HIT, AF_PLAIN, 10}, {AT_PECK, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5}, 4023 AT_NO_ATK }, 4024 5, 225, 4025 2, 12, MST_NO_SPELLS, true /*chicken*/, S_SHOUT, 4026 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9), 4027 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4028 {TILEP_MONS_TENGU}, TILE_CORPSE_TENGU 4029 }, 4030 4031 { 4032 MONS_TENGU_CONJURER, 'Q', BLUE, "tengu conjurer", 4033 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FLIES, 4034 MR_NO_FLAGS, 4035 13, MONS_TENGU, MONS_TENGU, MH_NATURAL, 20, 4036 { {AT_HIT, AF_PLAIN, 10}, {AT_PECK, AF_PLAIN, 5}, {AT_CLAW, AF_PLAIN, 5}, 4037 AT_NO_ATK }, 4038 7, 315, 4039 2, 17, MST_TENGU_CONJURER, true, S_SHOUT, 4040 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9), 4041 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4042 {TILEP_MONS_TENGU_CONJURER}, TILE_ERROR 4043 }, 4044 4045 { 4046 MONS_TENGU_WARRIOR, 'Q', CYAN, "tengu warrior", 4047 M_FIGHTER | M_ARCHER | M_WARM_BLOOD | M_SPEAKS | M_FLIES, 4048 MR_NO_FLAGS, 4049 13, MONS_TENGU, MONS_TENGU, MH_NATURAL, 40, 4050 { {AT_HIT, AF_PLAIN, 16}, {AT_PECK, AF_PLAIN, 8}, {AT_CLAW, AF_PLAIN, 8}, 4051 AT_NO_ATK }, 4052 10, 600, 4053 2, 17, MST_NO_SPELLS, true, S_SHOUT, 4054 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9), 4055 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4056 {TILEP_MONS_TENGU_WARRIOR}, TILE_ERROR 4057 }, 4058 4059 { 4060 MONS_TENGU_REAVER, 'Q', LIGHTMAGENTA, "tengu reaver", 4061 M_FIGHTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FLIES, 4062 MR_NO_FLAGS, 4063 13, MONS_TENGU, MONS_TENGU, MH_NATURAL, 60, 4064 { {AT_HIT, AF_PLAIN, 27}, {AT_PECK, AF_PLAIN, 11}, {AT_CLAW, AF_PLAIN, 11}, 4065 AT_NO_ATK }, 4066 17, 850, 4067 2, 17, MST_TENGU_REAVER, true, S_SHOUT, 4068 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9), 4069 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4070 {TILEP_MONS_TENGU_REAVER}, TILE_ERROR 4071 }, 4072 4073 // spiritual beings ('R') 4074 4075 // Dummy species monster 4076 { 4077 MONS_DJINNI, 'R', MAGENTA, "djinni", 4078 M_SPEAKS | M_FLIES, 4079 mrd(MR_RES_FIRE, 2) | MR_VUL_COLD, 4080 10, MONS_DJINNI, MONS_DJINNI, MH_NONLIVING, 30, 4081 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4082 8, 400, 4083 5, 5, MST_NO_SPELLS, false, S_SHOUT, 4084 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4085 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4086 {TILEP_MONS_EFREET}, TILE_ERROR 4087 }, 4088 4089 { 4090 MONS_EFREET, 'R', RED, "efreet", 4091 M_SPEAKS | M_FLIES, 4092 MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_VUL_WATER, 4093 12, MONS_EFREET, MONS_EFREET, MH_DEMONIC, 20, 4094 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4095 7, 385, 4096 10, 5, MST_EFREET, false, S_SILENT, 4097 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4098 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 4099 {TILEP_MONS_EFREET}, TILE_ERROR 4100 }, 4101 4102 { 4103 MONS_RAKSHASA, 'R', YELLOW, "rakshasa", 4104 M_SEE_INVIS, 4105 MR_RES_POISON, 4106 15, MONS_RAKSHASA, MONS_RAKSHASA, MH_DEMONIC, 140, 4107 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4108 11, 660, 4109 6, 14, MST_RAKSHASA, false, S_SILENT, 4110 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4111 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4112 {TILEP_MONS_RAKSHASA}, TILE_ERROR 4113 }, 4114 4115 { 4116 MONS_DRYAD, 'R', LIGHTGREEN, "dryad", 4117 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO | M_NO_GEN_DERIVED, 4118 MR_VUL_FIRE, 4119 10, MONS_DRYAD, MONS_DRYAD, MH_NATURAL, 80, 4120 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4121 8, 520, 4122 6, 12, MST_DRYAD, true, S_SHOUT, 4123 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4124 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4125 {TILEP_MONS_DRYAD}, TILE_CORPSE_DRYAD 4126 }, 4127 4128 { 4129 MONS_ELEIONOMA, 'R', GREEN, "eleionoma", 4130 M_WARM_BLOOD | M_SPEAKS, 4131 MR_NO_FLAGS, 4132 10, MONS_ELEIONOMA, MONS_ELEIONOMA, MH_NATURAL, 100, 4133 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4134 16, 800, 4135 2, 10, MST_ELEIONOMA, true, S_SHOUT, 4136 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4137 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4138 {TILEP_MONS_ELEIONOMA}, TILE_CORPSE_ELEIONOMA 4139 }, 4140 4141 { 4142 MONS_SNAPLASHER_VINE, 'w', LIGHTGREEN, "snaplasher vine", 4143 M_NO_EXP_GAIN | M_STATIONARY | M_NO_POLY_TO, 4144 MR_RES_POISON, 4145 10, MONS_PLANT, MONS_SNAPLASHER_VINE, MH_PLANT, 40, 4146 { {AT_CONSTRICT, AF_CRUSH, 0}, {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK }, 4147 12, 240, 4148 4, 7, MST_NO_SPELLS, false, S_SILENT, 4149 I_BRAINLESS, HT_LAND, 13, DEFAULT_ENERGY, 4150 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE, 4151 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 4152 }, 4153 4154 { 4155 MONS_SNAPLASHER_VINE_SEGMENT, '*', LIGHTGREEN, "snaplasher vine segment", 4156 M_NOT_DANGEROUS | M_STATIONARY | M_NO_POLY_TO, 4157 MR_RES_POISON, 4158 10, MONS_PLANT, MONS_SNAPLASHER_VINE, MH_PLANT, 40, 4159 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4160 12, 360, 4161 6, 0, MST_NO_SPELLS, false, S_SILENT, 4162 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 4163 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 4164 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 4165 }, 4166 4167 // snakes ('S') 4168 DUMMY(MONS_SNAKE, 'S', LIGHTGREEN, "snake", TILEP_MONS_ADDER) 4169 4170 { 4171 MONS_BALL_PYTHON, 'S', GREEN, "ball python", 4172 M_COLD_BLOOD, 4173 MR_NO_FLAGS, 4174 13, MONS_SNAKE, MONS_BALL_PYTHON, MH_NATURAL, 0, 4175 { {AT_BITE, AF_PLAIN, 3}, {AT_CONSTRICT, AF_CRUSH, 1}, 4176 AT_NO_ATK, AT_NO_ATK }, 4177 1, 35, 4178 0, 11, MST_NO_SPELLS, true, S_HISS, 4179 I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(6), 4180 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE, 4181 {TILEP_MONS_BALL_PYTHON}, TILE_CORPSE_BALL_PYTHON 4182 }, 4183 4184 { 4185 MONS_ADDER, 'S', LIGHTGREEN, "adder", 4186 M_COLD_BLOOD, 4187 MR_NO_FLAGS, 4188 10, MONS_SNAKE, MONS_ADDER, MH_NATURAL, 10, 4189 { {AT_BITE, AF_POISON, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4190 2, 110, 4191 1, 15, MST_NO_SPELLS, true, S_HISS, 4192 I_ANIMAL, HT_AMPHIBIOUS, 13, SWIM_ENERGY(6), 4193 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_SNAKE, 4194 {TILEP_MONS_ADDER}, TILE_CORPSE_ADDER 4195 }, 4196 4197 { 4198 MONS_WATER_MOCCASIN, 'S', BROWN, "water moccasin", 4199 M_COLD_BLOOD, 4200 MR_RES_POISON, 4201 11, MONS_SNAKE, MONS_WATER_MOCCASIN, MH_NATURAL, 20, 4202 { {AT_BITE, AF_POISON, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4203 5, 275, 4204 2, 15, MST_NO_SPELLS, true, S_HISS, 4205 I_ANIMAL, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6), 4206 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_SNAKE, 4207 {TILEP_MONS_WATER_MOCCASIN}, TILE_CORPSE_WATER_MOCCASIN 4208 }, 4209 4210 { 4211 MONS_BLACK_MAMBA, 'S', BLUE, "black mamba", 4212 M_COLD_BLOOD, 4213 MR_RES_POISON, 4214 12, MONS_SNAKE, MONS_BLACK_MAMBA, MH_NATURAL, 20, 4215 { {AT_BITE, AF_POISON, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4216 7, 385, 4217 4, 15, MST_NO_SPELLS, true, S_HISS, 4218 I_ANIMAL, HT_LAND, 18, DEFAULT_ENERGY, 4219 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE, 4220 {TILEP_MONS_BLACK_MAMBA}, TILE_CORPSE_BLACK_MAMBA 4221 }, 4222 4223 { 4224 MONS_SEA_SNAKE, 'S', LIGHTCYAN, "sea snake", 4225 M_COLD_BLOOD, 4226 MR_NO_FLAGS, 4227 10, MONS_SNAKE, MONS_SEA_SNAKE, MH_NATURAL, 40, 4228 { {AT_BITE, AF_POISON_STRONG, 24}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4229 10, 650, 4230 2, 15, MST_NO_SPELLS, true, S_HISS, 4231 I_ANIMAL, HT_AMPHIBIOUS, 12, SWIM_ENERGY(4), 4232 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE, 4233 {TILEP_MONS_SEA_SNAKE}, TILE_CORPSE_SEA_SNAKE 4234 }, 4235 4236 { 4237 MONS_ANACONDA, 'S', LIGHTGREY, "anaconda", 4238 M_COLD_BLOOD, 4239 MR_NO_FLAGS, 4240 10, MONS_SNAKE, MONS_ANACONDA, MH_NATURAL, 40, 4241 { {AT_CONSTRICT, AF_CRUSH, 6}, {AT_BITE, AF_PLAIN, 20}, 4242 AT_NO_ATK, AT_NO_ATK }, 4243 11, 605, 4244 4, 16, MST_NO_SPELLS, true, S_HISS, 4245 I_ANIMAL, HT_AMPHIBIOUS, 18, DEFAULT_ENERGY, 4246 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE, 4247 {TILEP_MONS_ANACONDA}, TILE_CORPSE_ANACONDA 4248 }, 4249 4250 { 4251 MONS_GUARDIAN_SERPENT, 'S', WHITE, "guardian serpent", 4252 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS, 4253 MR_RES_POISON, 4254 10, MONS_GUARDIAN_SERPENT, MONS_GUARDIAN_SERPENT, MH_NATURAL, 60, 4255 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4256 8, 440, 4257 6, 14, MST_GUARDIAN_SERPENT, true, S_SHOUT, 4258 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 4259 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE, 4260 {TILEP_MONS_GUARDIAN_SERPENT}, TILE_CORPSE_GUARDIAN_SERPENT 4261 }, 4262 4263 { 4264 MONS_SHOCK_SERPENT, 'S', LIGHTBLUE, "shock serpent", 4265 M_COLD_BLOOD, 4266 mrd(MR_RES_ELEC, 3), 4267 12, MONS_SNAKE, MONS_SHOCK_SERPENT, MH_NATURAL, 40, 4268 { {AT_BITE, AF_ELEC, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4269 10, 550, 4270 2, 15, MST_SHOCK_SERPENT, true, S_HISS, 4271 I_ANIMAL, HT_LAND, 15, DEFAULT_ENERGY, 4272 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE, 4273 {TILEP_MONS_SHOCK_SERPENT}, TILE_CORPSE_SHOCK_SERPENT 4274 }, 4275 4276 { 4277 MONS_MANA_VIPER, 'S', MAGENTA, "mana viper", 4278 M_COLD_BLOOD | M_SEE_INVIS, 4279 MR_RES_POISON, 4280 10, MONS_SNAKE, MONS_MANA_VIPER, MH_NATURAL, 100, 4281 { {AT_BITE, AF_ANTIMAGIC, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4282 9, 495, 4283 3, 14, MST_NO_SPELLS, false, S_HISS, 4284 I_ANIMAL, HT_LAND, 14, DEFAULT_ENERGY, 4285 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_SNAKE, 4286 {TILEP_MONS_MANA_VIPER}, TILE_ERROR 4287 }, 4288 4289 // trolls ('T') 4290 { 4291 MONS_TROLL, 'T', BROWN, "troll", 4292 M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN, 4293 MR_NO_FLAGS, 4294 10, MONS_TROLL, MONS_TROLL, MH_NATURAL, 20, 4295 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 15}, 4296 {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK }, 4297 7, 385, 4298 3, 10, MST_NO_SPELLS, true, S_SHOUT, 4299 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4300 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 4301 {TILEP_MONS_TROLL}, TILE_CORPSE_TROLL 4302 }, 4303 4304 { 4305 MONS_IRON_TROLL, 'T', CYAN, "iron troll", 4306 M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN, 4307 MR_RES_FIRE | MR_RES_COLD, 4308 10, MONS_TROLL, MONS_IRON_TROLL, MH_NATURAL, 100, 4309 { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 25}, 4310 {AT_CLAW, AF_PLAIN, 25}, AT_NO_ATK }, 4311 16, 880, 4312 20, 4, MST_NO_SPELLS, true, S_SHOUT, 4313 I_HUMAN, HT_LAND, 7, DEFAULT_ENERGY, 4314 MONUSE_OPEN_DOORS, SIZE_BIG, MON_SHAPE_HUMANOID, 4315 {TILEP_MONS_IRON_TROLL}, TILE_CORPSE_IRON_TROLL 4316 }, 4317 4318 { 4319 MONS_DEEP_TROLL, 'T', YELLOW, "deep troll", 4320 M_WARM_BLOOD | M_SEE_INVIS | M_UNBLINDABLE | M_SPEAKS | M_FAST_REGEN, 4321 MR_NO_FLAGS, 4322 9, MONS_TROLL, MONS_DEEP_TROLL, MH_NATURAL, 40, 4323 { {AT_BITE, AF_PLAIN, 27}, {AT_CLAW, AF_PLAIN, 20}, 4324 {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK }, 4325 10, 550, 4326 6, 10, MST_NO_SPELLS, true, S_SHOUT, 4327 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4328 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 4329 {TILEP_MONS_DEEP_TROLL}, TILE_CORPSE_DEEP_TROLL 4330 }, 4331 4332 { 4333 MONS_DEEP_TROLL_EARTH_MAGE, 'T', MAGENTA, "deep troll earth mage", 4334 M_WARM_BLOOD | M_SEE_INVIS | M_UNBLINDABLE | M_SPEAKS, 4335 MR_NO_FLAGS, 4336 10, MONS_TROLL, MONS_DEEP_TROLL, MH_NATURAL, 40, 4337 { {AT_BITE, AF_PLAIN, 27}, {AT_CLAW, AF_PLAIN, 20}, 4338 {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK }, 4339 12, 480, 4340 // the extra AC is essentially a perma-stoneskin 4341 12, 10, MST_DEEP_TROLL_EARTH_MAGE, true, S_SHOUT, 4342 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4343 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 4344 {TILEP_MONS_DEEP_TROLL_EARTH_MAGE}, TILE_ERROR 4345 }, 4346 4347 { 4348 MONS_DEEP_TROLL_SHAMAN, 'T', WHITE, "deep troll shaman", 4349 M_WARM_BLOOD | M_SEE_INVIS | M_UNBLINDABLE | M_SPEAKS, 4350 MR_NO_FLAGS, 4351 12, MONS_TROLL, MONS_DEEP_TROLL, MH_NATURAL, 40, 4352 { {AT_BITE, AF_PLAIN, 27}, {AT_CLAW, AF_PLAIN, 20}, 4353 {AT_CLAW, AF_PLAIN, 20}, AT_NO_ATK }, 4354 12, 480, 4355 6, 10, MST_DEEP_TROLL_SHAMAN, true, S_SHOUT, 4356 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4357 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 4358 {TILEP_MONS_DEEP_TROLL_SHAMAN}, TILE_ERROR 4359 }, 4360 4361 // vampires ('V') 4362 { 4363 MONS_VAMPIRE, 'V', RED, "vampire", 4364 M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD, 4365 MR_RES_COLD, 4366 11, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, 40, 4367 { {AT_HIT, AF_PLAIN, 15}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK, 4368 AT_NO_ATK }, 4369 6, 330, 4370 10, 10, MST_VAMPIRE, false, S_SILENT, 4371 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4372 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4373 {TILEP_MONS_VAMPIRE}, TILE_ERROR 4374 }, 4375 4376 { 4377 MONS_VAMPIRE_KNIGHT, 'V', CYAN, "vampire knight", 4378 M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD, 4379 MR_RES_COLD, 4380 16, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, 80, 4381 { {AT_HIT, AF_PLAIN, 33}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK, 4382 AT_NO_ATK }, 4383 11, 715, 4384 10, 10, MST_VAMPIRE_KNIGHT, false, S_SHOUT, 4385 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4386 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4387 {TILEP_MONS_VAMPIRE_KNIGHT}, TILE_ERROR 4388 }, 4389 4390 { 4391 MONS_VAMPIRE_MAGE, 'V', MAGENTA, "vampire mage", 4392 M_SEE_INVIS | M_SPEAKS | M_WARM_BLOOD | M_FLIES, 4393 MR_RES_COLD, 4394 15, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, 80, 4395 { {AT_HIT, AF_PLAIN, 15}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK, 4396 AT_NO_ATK }, 4397 10, 550, 4398 10, 10, MST_VAMPIRE_MAGE, false, S_SILENT, 4399 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4400 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4401 {TILEP_MONS_VAMPIRE_MAGE}, TILE_ERROR 4402 }, 4403 4404 { 4405 MONS_JIANGSHI, 'V', YELLOW, "jiangshi", 4406 M_SEE_INVIS | M_FIGHTER, 4407 MR_RES_COLD, 4408 10, MONS_JIANGSHI, MONS_VAMPIRE, MH_UNDEAD, 80, 4409 { {AT_CLAW, AF_VAMPIRIC, 27}, {AT_CLAW, AF_VAMPIRIC, 27}, AT_NO_ATK, 4410 AT_NO_ATK }, 4411 10, 650, 4412 10, 10, MST_NO_SPELLS, false, S_SILENT, 4413 I_ANIMAL, HT_LAND, 18, MOVE_ENERGY(6), 4414 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4415 {TILEP_MONS_JIANGSHI}, TILE_ERROR 4416 }, 4417 4418 // incorporeal undead ('W') 4419 { // dummy genus monster, but also used for removed monsters 4420 MONS_GHOST, 'W', WHITE, "ghost", 4421 M_INSUBSTANTIAL | M_NO_POLY_TO | M_FLIES, 4422 MR_NO_FLAGS, 4423 0, MONS_GHOST, MONS_GHOST, MH_UNDEAD, 0, 4424 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4425 1, 10, 4426 0, 0, MST_NO_SPELLS, false, S_SILENT, 4427 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4428 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4429 {TILEP_MONS_GHOST}, TILE_ERROR 4430 }, 4431 4432 // XP modifier is 5 for these, because they really aren't all that 4433 // dangerous, but still come out at 200+ XP 4434 { 4435 MONS_PHANTOM, 'W', BLUE, "phantom", 4436 M_INSUBSTANTIAL | M_FLIES, 4437 mrd(MR_RES_COLD, 2), 4438 5, MONS_PHANTOM, MONS_PHANTOM, MH_UNDEAD, 40, 4439 { {AT_HIT, AF_BLINK_WITH, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4440 7, 285, 4441 3, 13, MST_NO_SPELLS, false, S_SILENT, 4442 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4443 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4444 {TILEP_MONS_PHANTOM}, TILE_ERROR 4445 }, 4446 4447 { 4448 MONS_FLAYED_GHOST, 'W', RED, "flayed ghost", 4449 M_INSUBSTANTIAL | M_SPEAKS | M_FLIES, 4450 MR_NO_FLAGS, 4451 10, MONS_PHANTOM, MONS_FLAYED_GHOST, MH_UNDEAD, 60, 4452 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4453 11, 605, 4454 0, 14, MST_FLAYED_GHOST, false, S_SILENT, 4455 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4456 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4457 {TILEP_MONS_FLAYED_GHOST}, TILE_ERROR 4458 }, 4459 4460 // player ghost - stats are stored in ghost struct 4461 { 4462 MONS_PLAYER_GHOST, 'W', WHITE, "player ghost", 4463 M_FIGHTER | M_SPEAKS | M_INSUBSTANTIAL | M_NO_POLY_TO | M_FLIES | M_GHOST_DEMON, 4464 MR_NO_FLAGS, 4465 15, MONS_PHANTOM, MONS_PLAYER_GHOST, MH_UNDEAD, -5, 4466 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4467 4, 140, 4468 1, 2, MST_GHOST, false, S_SHOUT, 4469 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4470 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4471 {TILEP_MONS_PLAYER_GHOST}, TILE_ERROR 4472 }, 4473 4474 4475 { 4476 MONS_SHADOW, 'W', MAGENTA, "shadow", 4477 M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 4478 mrd(MR_RES_COLD, 3), 4479 18, MONS_WRAITH, MONS_SHADOW, MH_UNDEAD, 40, 4480 { {AT_HIT, AF_SHADOWSTAB, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4481 6, 240, 4482 7, 10, MST_SHADOW, false, S_SILENT, 4483 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4484 MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID, 4485 {TILEP_MONS_SHADOW}, TILE_ERROR 4486 }, 4487 4488 { 4489 MONS_SILENT_SPECTRE, 'W', CYAN, "silent spectre", 4490 M_SPEAKS /* uh... */ | M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 4491 mrd(MR_RES_COLD, 3), 4492 10, MONS_WRAITH, MONS_SILENT_SPECTRE, MH_UNDEAD, 40, 4493 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4494 8, 440, 4495 5, 15, MST_NO_SPELLS, false, S_SILENT, 4496 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4497 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4498 {TILEP_MONS_SILENT_SPECTRE}, TILE_ERROR 4499 }, 4500 4501 { 4502 MONS_DROWNED_SOUL, 'W', LIGHTCYAN, "drowned soul", 4503 M_SEE_INVIS | M_INSUBSTANTIAL | M_SPEAKS | M_FLIES, 4504 mrd(MR_RES_COLD, 3), 4505 8, MONS_PHANTOM, MONS_DROWNED_SOUL, MH_UNDEAD, 60, 4506 { {AT_TOUCH, AF_DROWN, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4507 13, 195, 4508 0, 13, MST_NO_SPELLS, false, S_SILENT, 4509 I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY, 4510 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4511 {TILEP_MONS_DROWNED_SOUL}, TILE_ERROR 4512 }, 4513 4514 { 4515 MONS_WRAITH, 'W', LIGHTGREY, "wraith", 4516 M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 4517 MR_RES_COLD, 4518 14, MONS_WRAITH, MONS_WRAITH, MH_UNDEAD, 60, 4519 { {AT_HIT, AF_DRAIN_SPEED, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4520 6, 330, 4521 10, 10, MST_NO_SPELLS, false, S_SILENT, 4522 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4523 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4524 {TILEP_MONS_WRAITH}, TILE_ERROR 4525 }, 4526 4527 { 4528 MONS_SHADOW_WRAITH, 'W', LIGHTMAGENTA, "shadow wraith", 4529 M_SEE_INVIS | M_INVIS | M_INSUBSTANTIAL | M_FLIES, 4530 MR_NO_FLAGS, 4531 15, MONS_WRAITH, MONS_SHADOW_WRAITH, MH_UNDEAD, 100, 4532 { {AT_HIT, AF_DRAIN_SPEED, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4533 10, 550, 4534 7, 7, MST_NO_SPELLS, false, S_MOAN, 4535 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4536 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4537 {TILEP_MONS_SHADOW_WRAITH}, TILE_ERROR 4538 }, 4539 4540 { 4541 MONS_FREEZING_WRAITH, 'W', LIGHTBLUE, "freezing wraith", 4542 M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 4543 MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 4544 10, MONS_WRAITH, MONS_FREEZING_WRAITH, MH_UNDEAD, 40, 4545 { {AT_HIT, AF_COLD, 16}, {AT_HIT, AF_DRAIN_SPEED, 15}, AT_NO_ATK, AT_NO_ATK }, 4546 8, 440, 4547 12, 10, MST_NO_SPELLS, false, S_SILENT, 4548 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4549 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4550 {TILEP_MONS_FREEZING_WRAITH}, TILE_ERROR 4551 }, 4552 4553 { 4554 MONS_EIDOLON, 'W', BROWN, "eidolon", 4555 M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 4556 MR_RES_COLD, 4557 14, MONS_WRAITH, MONS_EIDOLON, MH_UNDEAD, 140, 4558 { {AT_HIT, AF_DRAIN_SPEED, 27}, {AT_HIT, AF_DRAIN_STAT, 17}, AT_NO_ATK, 4559 AT_NO_ATK }, 4560 13, 715, 4561 12, 10, MST_EIDOLON, false, S_MOAN, 4562 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4563 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4564 {TILEP_MONS_EIDOLON}, TILE_ERROR 4565 }, 4566 4567 { 4568 MONS_PHANTASMAL_WARRIOR, 'W', LIGHTGREEN, "phantasmal warrior", 4569 M_FIGHTER | M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 4570 MR_RES_COLD, 4571 13, MONS_WRAITH, MONS_PHANTASMAL_WARRIOR, MH_UNDEAD, 80, 4572 { {AT_HIT, AF_VULN, 39}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4573 9, 495, 4574 12, 10, MST_PHANTASMAL_WARRIOR, false, S_SILENT, 4575 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4576 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 4577 {TILEP_MONS_PHANTASMAL_WARRIOR}, TILE_ERROR 4578 }, 4579 4580 // large abominations ('X') 4581 { 4582 MONS_ABOMINATION_LARGE, 'X', LIGHTRED, "large abomination", 4583 M_NO_REGEN, 4584 MR_NO_FLAGS, 4585 10, MONS_ABOMINATION_SMALL, MONS_ABOMINATION_LARGE, MH_UNDEAD, 100, 4586 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4587 11, 495, 4588 0, 0, MST_NO_SPELLS, false, S_SILENT, 4589 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 4590 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 4591 {TILEP_MONS_ABOMINATION_LARGE, TVARY_MOD}, TILE_ERROR 4592 }, 4593 4594 { 4595 MONS_THRASHING_HORROR, 'X', YELLOW, "thrashing horror", 4596 M_BATTY | M_NO_POLY_TO, 4597 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 4598 10, MONS_THRASHING_HORROR, MONS_THRASHING_HORROR, MH_NONLIVING, 60, 4599 { {AT_TRAMPLE, AF_TRAMPLE, 17}, {AT_TRAMPLE, AF_TRAMPLE, 9}, 4600 AT_NO_ATK, AT_NO_ATK }, 4601 9, 495, 4602 5, 10, MST_THRASHING_HORROR, false, S_ROAR, 4603 I_ANIMAL, HT_LAND, 25, DEFAULT_ENERGY, 4604 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_MISC, 4605 {TILEP_MONS_THRASHING_HORROR}, TILE_ERROR 4606 }, 4607 4608 { 4609 MONS_TENTACLED_MONSTROSITY, 'X', GREEN, "tentacled monstrosity", 4610 M_SEE_INVIS, 4611 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 4612 10, MONS_TENTACLED_MONSTROSITY, MONS_TENTACLED_MONSTROSITY, 4613 MH_DEMONIC, 160, 4614 { {AT_TENTACLE_SLAP, AF_PLAIN, 22}, {AT_TENTACLE_SLAP, AF_PLAIN, 17}, 4615 {AT_TENTACLE_SLAP, AF_PLAIN, 13}, {AT_CONSTRICT, AF_CRUSH, 9} }, 4616 23, 1265, 4617 5, 5, MST_NO_SPELLS, false, S_SILENT, 4618 I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 4619 MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_MISC, 4620 {TILEP_MONS_TENTACLED_MONSTROSITY}, TILE_ERROR 4621 }, 4622 4623 { 4624 MONS_ORB_GUARDIAN, 'X', MAGENTA, "Orb Guardian", 4625 M_FIGHTER | M_SEE_INVIS | M_NO_POLY_TO, 4626 MR_NO_FLAGS, 4627 20, MONS_ORB_GUARDIAN, MONS_ORB_GUARDIAN, MH_NATURAL, 120, 4628 { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4629 15, 825, 4630 13, 13, MST_NO_SPELLS, false, S_SILENT, 4631 I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY, 4632 MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_MISC, 4633 {TILEP_MONS_ORB_GUARDIAN}, TILE_ERROR 4634 }, 4635 4636 { 4637 MONS_TENTACLED_STARSPAWN, 'X', LIGHTCYAN, "tentacled starspawn", 4638 M_SEE_INVIS, 4639 MR_NO_FLAGS, 4640 20, MONS_TENTACLED_STARSPAWN, MONS_TENTACLED_STARSPAWN, MH_NONLIVING, 120, 4641 { {AT_BITE, AF_PLAIN, 40}, {AT_TENTACLE_SLAP, AF_PLAIN, 25}, AT_NO_ATK, 4642 AT_NO_ATK }, 4643 16, 880, 4644 5, 5, MST_TENTACLED_STARSPAWN, false, S_SILENT, 4645 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4646 MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_MISC, 4647 {TILEP_MONS_TENTACLED_STARSPAWN}, TILE_ERROR 4648 }, 4649 4650 { 4651 MONS_STARSPAWN_TENTACLE, 'w', LIGHTCYAN, "starspawn tentacle", 4652 M_NO_EXP_GAIN | M_STATIONARY | M_NO_POLY_TO | M_FLIES | M_SEE_INVIS, 4653 MR_NO_FLAGS, 4654 10, MONS_TENTACLED_STARSPAWN, MONS_STARSPAWN_TENTACLE, 4655 MH_NONLIVING, WILL_INVULN, 4656 { {AT_CONSTRICT, AF_CRUSH, 3}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4657 11, 220, 4658 8, 2, MST_NO_SPELLS, false, S_SILENT, 4659 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4660 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE, 4661 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 4662 }, 4663 4664 { 4665 MONS_STARSPAWN_TENTACLE_SEGMENT, '*', LIGHTCYAN, "starspawn tentacle segment", 4666 M_NOT_DANGEROUS | M_STATIONARY | M_NO_POLY_TO | M_FLIES | M_SEE_INVIS, 4667 MR_NO_FLAGS, 4668 10, MONS_TENTACLED_STARSPAWN, MONS_STARSPAWN_TENTACLE_SEGMENT, 4669 MH_NONLIVING, WILL_INVULN, 4670 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4671 11, 220, 4672 8, 2, MST_NO_SPELLS, false, S_SILENT, 4673 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 4674 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 4675 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 4676 }, 4677 4678 { 4679 MONS_STARCURSED_MASS, 'X', BLUE, "starcursed mass", 4680 M_SEE_INVIS | M_FAST_REGEN, 4681 MR_NO_FLAGS, 4682 12, MONS_STARCURSED_MASS, MONS_STARCURSED_MASS, MH_NONLIVING, 100, 4683 { {AT_TOUCH, AF_PLAIN, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4684 12, 1500, 4685 10, 0, MST_NO_SPELLS, false, S_SILENT, 4686 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4687 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC, 4688 {TILEP_MONS_STARCURSED_MASS}, TILE_ERROR 4689 }, 4690 4691 // Summoning miscast, monster is scaled based on miscast strength 4692 { 4693 MONS_NAMELESS, 'X', CYAN, "nameless horror", 4694 M_SEE_INVIS | M_NO_POLY_TO | M_NO_GEN_DERIVED, 4695 MR_NO_FLAGS, 4696 11, MONS_NAMELESS, MONS_NAMELESS, MH_NONLIVING, WILL_INVULN, 4697 { {AT_HIT, AF_ANTIMAGIC, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4698 15, 600, 4699 8, 2, MST_NAMELESS, false, S_SILENT, 4700 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 4701 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC, 4702 {TILEP_MONS_NAMELESS_HORROR}, TILE_ERROR 4703 }, 4704 4705 // yaks, sheep, elephants, and other beasts ('Y') 4706 { 4707 MONS_DREAM_SHEEP, 'Y', CYAN, "dream sheep", 4708 M_WARM_BLOOD | M_HERD, 4709 MR_NO_FLAGS, 4710 10, MONS_DREAM_SHEEP, MONS_DREAM_SHEEP, MH_NATURAL, 30, 4711 { {AT_BITE, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4712 9, 220, 4713 2, 10, MST_DREAM_SHEEP, true, S_BLEAT, 4714 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4715 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS, 4716 {TILEP_MONS_DREAM_SHEEP}, TILE_CORPSE_DREAM_SHEEP, 4717 }, 4718 4719 { 4720 MONS_YAK, 'Y', BROWN, "yak", 4721 M_WARM_BLOOD | M_HERD, 4722 MR_NO_FLAGS, 4723 9, MONS_YAK, MONS_YAK, MH_NATURAL, 20, 4724 { {AT_GORE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4725 7, 385, 4726 4, 7, MST_NO_SPELLS, true, S_BELLOW, 4727 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4728 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED, 4729 {TILEP_MONS_YAK}, TILE_CORPSE_YAK 4730 }, 4731 4732 { 4733 MONS_DEATH_YAK, 'Y', YELLOW, "death yak", 4734 M_WARM_BLOOD | M_HERD, 4735 MR_NO_FLAGS, 4736 8, MONS_YAK, MONS_DEATH_YAK, MH_NATURAL, 100, 4737 { {AT_GORE, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4738 14, 770, 4739 9, 5, MST_NO_SPELLS, true, S_BELLOW, 4740 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4741 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED, 4742 {TILEP_MONS_DEATH_YAK}, TILE_CORPSE_DEATH_YAK 4743 }, 4744 4745 { 4746 MONS_CATOBLEPAS, 'Y', MAGENTA, "catoblepas", 4747 M_WARM_BLOOD, 4748 MR_RES_PETRIFY, 4749 8, MONS_YAK, MONS_CATOBLEPAS, MH_NATURAL, 100, 4750 { {AT_GORE, AF_PLAIN, 36}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4751 14, 770, 4752 10, 2, MST_CATOBLEPAS, true, S_BELLOW, 4753 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4754 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED, 4755 {TILEP_MONS_CATOBLEPAS}, TILE_CORPSE_CATOBLEPAS 4756 }, 4757 4758 { 4759 MONS_ELEPHANT, 'Y', GREEN, "elephant", 4760 M_WARM_BLOOD, 4761 MR_NO_FLAGS, 4762 9, MONS_ELEPHANT, MONS_ELEPHANT, MH_NATURAL, 60, 4763 { {AT_TRAMPLE, AF_TRAMPLE, 20}, {AT_TRUNK_SLAP, AF_PLAIN, 5}, AT_NO_ATK, 4764 AT_NO_ATK }, 4765 9, 675, 4766 8, 2, MST_NO_SPELLS, true, S_TRUMPET, 4767 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4768 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED, 4769 {TILEP_MONS_ELEPHANT}, TILE_CORPSE_ELEPHANT 4770 }, 4771 4772 { 4773 MONS_DIRE_ELEPHANT, 'Y', BLUE, "dire elephant", 4774 M_WARM_BLOOD, 4775 MR_NO_FLAGS, 4776 8, MONS_ELEPHANT, MONS_DIRE_ELEPHANT, MH_NATURAL, 100, 4777 { {AT_TRAMPLE, AF_TRAMPLE, 40}, {AT_TRUNK_SLAP, AF_PLAIN, 15}, AT_NO_ATK, 4778 AT_NO_ATK }, 4779 15, 1125, 4780 13, 2, MST_NO_SPELLS, true, S_TRUMPET, 4781 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4782 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED, 4783 {TILEP_MONS_DIRE_ELEPHANT}, TILE_CORPSE_DIRE_ELEPHANT 4784 }, 4785 4786 { 4787 MONS_HELLEPHANT, 'Y', LIGHTRED, "hellephant", 4788 M_WARM_BLOOD, 4789 MR_NO_FLAGS, 4790 10, MONS_ELEPHANT, MONS_HELLEPHANT, MH_DEMONIC, 140, 4791 { {AT_TRAMPLE, AF_TRAMPLE, 45}, {AT_BITE, AF_PLAIN, 20}, 4792 {AT_GORE, AF_PLAIN, 15 }, AT_NO_ATK }, 4793 20, 1700, 4794 13, 10, MST_HELLEPHANT, true, S_TRUMPET, 4795 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4796 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED, 4797 {TILEP_MONS_HELLEPHANT}, TILE_CORPSE_HELLEPHANT 4798 }, 4799 4800 { 4801 MONS_APIS, 'Y', WHITE, "apis", 4802 M_WARM_BLOOD, 4803 MR_NO_FLAGS, 4804 8, MONS_APIS, MONS_APIS, MH_HOLY, 100, 4805 { {AT_GORE, AF_HOLY, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4806 16, 1200, 4807 9, 5, MST_NO_SPELLS, true, S_SILENT, 4808 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4809 MONUSE_NOTHING, SIZE_BIG, MON_SHAPE_QUADRUPED, 4810 {TILEP_MONS_APIS}, TILE_CORPSE_APIS 4811 }, 4812 4813 { 4814 MONS_ICE_BEAST, 'Y', LIGHTBLUE, "ice beast", 4815 M_NO_FLAGS, 4816 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 4817 13, MONS_ICE_BEAST, MONS_ICE_BEAST, MH_NATURAL, 20, 4818 { {AT_HIT, AF_COLD, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4819 5, 275, 4820 5, 10, MST_NO_SPELLS, false, S_SILENT, 4821 I_ANIMAL, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 4822 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED, 4823 {TILEP_MONS_ICE_BEAST}, TILE_ERROR 4824 }, 4825 4826 { 4827 MONS_SKY_BEAST, 'Y', LIGHTCYAN, "sky beast", 4828 M_NO_SKELETON | M_FLIES, 4829 mrd(MR_RES_ELEC, 3), 4830 13, MONS_SKY_BEAST, MONS_SKY_BEAST, MH_NATURAL, 20, 4831 { {AT_HIT, AF_ELEC, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4832 5, 275, 4833 3, 13, MST_NO_SPELLS, true, S_SILENT, 4834 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 4835 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_QUADRUPED_WINGED, 4836 {TILEP_MONS_SKY_BEAST}, TILE_CORPSE_SKY_BEAST 4837 }, 4838 4839 // zombies and derived undead ('Z') 4840 // zombie, skeleton and simulacra species depend on corpse species, 4841 // or else are chosen randomly 4842 { 4843 MONS_ZOMBIE, 'Z', BROWN, "zombie", 4844 M_NO_REGEN, 4845 mrd(MR_RES_COLD, 2), 4846 9, MONS_ZOMBIE, MONS_ZOMBIE, MH_UNDEAD, -1, 4847 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4848 1, 75, 4849 0, 4, MST_NO_SPELLS, false, S_SILENT, 4850 I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY, 4851 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC, 4852 {TILEP_MONS_ZOMBIE_SMALL}, TILE_ERROR 4853 }, 4854 4855 { 4856 MONS_SKELETON, 'Z', LIGHTGREY, "skeleton", 4857 M_NO_REGEN, 4858 mrd(MR_RES_COLD, 2), 4859 9, MONS_SKELETON, MONS_SKELETON, MH_UNDEAD, -1, 4860 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4861 0, 0, 4862 0, 0, MST_NO_SPELLS, false, S_SILENT, 4863 I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY, 4864 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC, 4865 {TILEP_MONS_SKELETON_SMALL}, TILE_ERROR 4866 }, 4867 4868 { 4869 MONS_SIMULACRUM, 'Z', LIGHTBLUE, "simulacrum", 4870 M_NO_REGEN, 4871 MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 4872 9, MONS_SIMULACRUM, MONS_SIMULACRUM, MH_UNDEAD, -1, 4873 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4874 2, 110, 4875 10, 4, MST_NO_SPELLS, false, S_SILENT, 4876 I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY, 4877 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC, 4878 {TILEP_MONS_SIMULACRUM_SMALL}, TILE_ERROR 4879 }, 4880 4881 { 4882 MONS_ZOMBIE_SMALL, 'Z', BROWN, "small zombie", 4883 M_NO_REGEN, 4884 mrd(MR_RES_COLD, 2), 4885 9, MONS_ZOMBIE, MONS_ZOMBIE, MH_UNDEAD, -1, 4886 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4887 1, 75, 4888 0, 4, MST_NO_SPELLS, false, S_SILENT, 4889 I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY, 4890 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC, 4891 {TILEP_MONS_ZOMBIE_SMALL}, TILE_ERROR 4892 }, 4893 4894 { 4895 MONS_SKELETON_SMALL, 'Z', LIGHTGREY, "small skeleton", 4896 M_NO_REGEN, 4897 mrd(MR_RES_COLD, 2), 4898 9, MONS_SKELETON, MONS_SKELETON, MH_UNDEAD, -1, 4899 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4900 0, 0, 4901 0, 0, MST_NO_SPELLS, false, S_SILENT, 4902 I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY, 4903 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC, 4904 {TILEP_MONS_SKELETON_SMALL}, TILE_ERROR 4905 }, 4906 4907 { 4908 MONS_SIMULACRUM_SMALL, 'Z', LIGHTBLUE, "small simulacrum", 4909 M_NO_REGEN, 4910 MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 4911 9, MONS_SIMULACRUM, MONS_SIMULACRUM, MH_UNDEAD, -1, 4912 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4913 2, 110, 4914 10, 4, MST_NO_SPELLS, false, S_SILENT, 4915 I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY, 4916 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC, 4917 {TILEP_MONS_SIMULACRUM_SMALL}, TILE_ERROR 4918 }, 4919 4920 { 4921 MONS_ZOMBIE_LARGE, 'Z', YELLOW, "large zombie", 4922 M_NO_REGEN, 4923 mrd(MR_RES_COLD, 2), 4924 9, MONS_ZOMBIE, MONS_ZOMBIE, MH_UNDEAD, -1, 4925 { {AT_HIT, AF_PLAIN, 23}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4926 6, 330, 4927 8, 5, MST_NO_SPELLS, false, S_SILENT, 4928 I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY, 4929 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 4930 {TILEP_MONS_ZOMBIE_LARGE}, TILE_ERROR 4931 }, 4932 4933 { 4934 MONS_SKELETON_LARGE, 'Z', WHITE, "large skeleton", 4935 M_NO_REGEN, 4936 mrd(MR_RES_COLD, 2), 4937 9, MONS_SKELETON, MONS_SKELETON, MH_UNDEAD, -1, 4938 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4939 0, 0, 4940 0, 0, MST_NO_SPELLS, false, S_SILENT, 4941 I_BRAINLESS, HT_LAND, 5, DEFAULT_ENERGY, 4942 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 4943 {TILEP_MONS_SKELETON_LARGE}, TILE_ERROR 4944 }, 4945 4946 { 4947 MONS_SIMULACRUM_LARGE, 'Z', LIGHTCYAN, "large simulacrum", 4948 M_NO_REGEN, 4949 MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 4950 9, MONS_SIMULACRUM, MONS_SIMULACRUM, MH_UNDEAD, -1, 4951 { {AT_HIT, AF_PLAIN, 14}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4952 5, 275, 4953 10, 5, MST_NO_SPELLS, false, S_SILENT, 4954 I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY, 4955 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 4956 {TILEP_MONS_SIMULACRUM_LARGE}, TILE_ERROR 4957 }, 4958 4959 // spectral thing - similar to zombies/skeletons 4960 { 4961 MONS_SPECTRAL_THING, 'Z', GREEN, "spectral thing", 4962 M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 4963 MR_RES_COLD, 4964 11, MONS_WRAITH, MONS_SPECTRAL_THING, MH_UNDEAD, WILL_INVULN, 4965 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4966 8, 440, 4967 8, 5, MST_NO_SPELLS, false, S_SILENT, 4968 I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY, 4969 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 4970 {TILEP_MONS_SPECTRAL_LARGE}, TILE_ERROR 4971 }, 4972 4973 // water monsters 4974 { 4975 MONS_ELECTRIC_EEL, ';', LIGHTBLUE, "electric eel", 4976 M_NO_GEN_DERIVED | M_COLD_BLOOD, 4977 mrd(MR_RES_ELEC, 3), 4978 19, MONS_ELECTRIC_EEL, MONS_ELECTRIC_EEL, MH_NATURAL, 10, 4979 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4980 3, 165, 4981 1, 15, MST_ZAPPER, true, S_SILENT, 4982 I_ANIMAL, HT_WATER, 10, DEFAULT_ENERGY, 4983 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_SNAKE, 4984 {TILEP_MONS_ELECTRIC_EEL}, TILE_CORPSE_ELECTRIC_EEL 4985 }, 4986 4987 // A kraken and its tentacles get a random colour from ETC_KRAKEN. 4988 { 4989 MONS_KRAKEN, 'X', LIGHTMAGENTA, "kraken", 4990 M_NO_SKELETON | M_COLD_BLOOD, 4991 MR_NO_FLAGS, 4992 6, MONS_KRAKEN, MONS_KRAKEN, MH_NATURAL, 60, 4993 { {AT_BITE, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 4994 16, 2080, 4995 20, 0, MST_KRAKEN, true, S_SILENT, 4996 I_ANIMAL, HT_WATER, 14, DEFAULT_ENERGY, 4997 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC, 4998 {TILEP_MONS_KRAKEN_HEAD}, TILE_CORPSE_KRAKEN 4999 }, 5000 5001 { 5002 MONS_KRAKEN_TENTACLE, 'w', LIGHTMAGENTA, "tentacle", 5003 M_COLD_BLOOD | M_NO_EXP_GAIN | M_STATIONARY | M_NO_POLY_TO | M_FLIES, 5004 MR_NO_FLAGS, 5005 10, MONS_KRAKEN, MONS_KRAKEN_TENTACLE, MH_NATURAL, WILL_INVULN, 5006 { {AT_TENTACLE_SLAP, AF_PLAIN, 29}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5007 12, 480, 5008 5, 7, MST_NO_SPELLS, false, S_SILENT, 5009 I_ANIMAL, HT_AMPHIBIOUS, 17, DEFAULT_ENERGY, 5010 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE, 5011 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 5012 }, 5013 5014 { 5015 MONS_KRAKEN_TENTACLE_SEGMENT, '*', LIGHTMAGENTA, "tentacle segment", 5016 M_COLD_BLOOD | M_NOT_DANGEROUS | M_STATIONARY | M_SUBMERGES | M_NO_POLY_TO | M_FLIES, 5017 MR_NO_FLAGS, 5018 10, MONS_KRAKEN, MONS_KRAKEN_TENTACLE_SEGMENT, MH_NATURAL, WILL_INVULN, 5019 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5020 12, 480, 5021 5, 7, MST_NO_SPELLS, false, S_SILENT, 5022 I_ANIMAL, HT_AMPHIBIOUS, 18, DEFAULT_ENERGY, 5023 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 5024 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 5025 }, 5026 5027 // Octopode race, not a 'normal' octopus. 5028 // Dummy monster for recolouring. 5029 { 5030 MONS_OCTOPODE, 'x', LIGHTCYAN, "octopode", 5031 M_NO_SKELETON | M_SPEAKS | M_NO_POLY_TO, 5032 MR_NO_FLAGS, 5033 10, MONS_OCTOPODE, MONS_OCTOPODE, MH_NATURAL, 10, 5034 { {AT_TENTACLE_SLAP, AF_PLAIN, 24}, {AT_CONSTRICT, AF_CRUSH, 5}, 5035 AT_NO_ATK, AT_NO_ATK }, 5036 8, 560, 5037 1, 5, MST_NO_SPELLS, true, S_SHOUT, 5038 I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 5039 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_MISC, 5040 {TILEP_MONS_OCTOPODE}, TILE_CORPSE_OCTOPODE 5041 }, 5042 5043 // lava monsters 5044 { 5045 MONS_LAVA_SNAKE, 'S', LIGHTRED, "lava snake", 5046 M_WARM_BLOOD, 5047 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD, 5048 17, MONS_SNAKE, MONS_LAVA_SNAKE, MH_NATURAL, 10, 5049 { {AT_BITE, AF_FIRE, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5050 3, 165, 5051 2, 17, MST_LAVA_SNAKE, true, S_HISS, 5052 I_ANIMAL, HT_LAVA, 10, DEFAULT_ENERGY, 5053 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_SNAKE, 5054 {TILEP_MONS_LAVA_SNAKE}, TILE_CORPSE_LAVA_SNAKE 5055 }, 5056 5057 { 5058 MONS_SALAMANDER, 'N', LIGHTRED, "salamander", 5059 M_FIGHTER | M_WARM_BLOOD, 5060 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD, 5061 10, MONS_NAGA, MONS_SALAMANDER, MH_NATURAL, 40, 5062 { {AT_HIT, AF_FIRE, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5063 8, 640, 5064 5, 7, MST_NO_SPELLS, true, S_SILENT, 5065 I_HUMAN, HT_AMPHIBIOUS_LAVA, 10, SWIM_ENERGY(7), 5066 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_NAGA, 5067 {TILEP_MONS_SALAMANDER}, TILE_CORPSE_SALAMANDER 5068 }, 5069 5070 { 5071 MONS_SALAMANDER_MYSTIC, 'N', YELLOW, "salamander mystic", 5072 M_WARM_BLOOD, 5073 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD, 5074 10, MONS_NAGA, MONS_SALAMANDER, MH_NATURAL, 60, 5075 { {AT_HIT, AF_FIRE, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5076 10, 650, 5077 5, 7, MST_SALAMANDER_MYSTIC, true, S_SILENT, 5078 I_HUMAN, HT_AMPHIBIOUS_LAVA, 10, SWIM_ENERGY(7), 5079 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_NAGA, 5080 {TILEP_MONS_SALAMANDER_MYSTIC}, TILE_ERROR 5081 }, 5082 5083 { 5084 MONS_SALAMANDER_TYRANT, 'N', RED, "salamander tyrant", 5085 M_WARM_BLOOD, 5086 mrd(MR_RES_FIRE, 3) | MR_VUL_COLD, 5087 10, MONS_NAGA, MONS_SALAMANDER, MH_NATURAL, 60, 5088 { {AT_HIT, AF_FIRE, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5089 15, 675, 5090 5, 7, MST_SALAMANDER_TYRANT, true, S_SILENT, 5091 I_HUMAN, HT_AMPHIBIOUS_LAVA, 10, SWIM_ENERGY(7), 5092 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_NAGA, 5093 {TILEP_MONS_SALAMANDER_TYRANT}, TILE_ERROR 5094 }, 5095 5096 // Semi-unique humans ('@') 5097 { 5098 MONS_HELLBINDER, '@', ETC_FIRE, "Hellbinder", 5099 M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS, 5100 MR_NO_FLAGS, 5101 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100, 5102 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5103 20, 1500, 5104 0, 13, MST_HELLBINDER, true, S_SHOUT, 5105 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5106 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5107 {TILEP_MONS_HELLBINDER}, TILE_ERROR 5108 }, 5109 5110 { 5111 MONS_CLOUD_MAGE, '@', ETC_SILVER, "Cloud Mage", 5112 M_SPEAKS | M_WARM_BLOOD | M_SEE_INVIS | M_FLIES, 5113 MR_NO_FLAGS, 5114 10, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100, 5115 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5116 20, 1500, 5117 0, 13, MST_CLOUD_MAGE, true, S_SHOUT, 5118 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5119 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5120 {TILEP_MONS_CLOUD_MAGE}, TILE_ERROR 5121 }, 5122 5123 // 'dummy' a fairly accurate description 5124 DUMMY(MONS_PLAYER, '@', LIGHTGREY, "player", TILEP_MONS_PLAYER_GHOST) 5125 5126 // player illusion (Mara) - stats are stored in ghost struct. Undead/demonic 5127 // flags are set based on the current player's species! 5128 { 5129 MONS_PLAYER_ILLUSION, '@', WHITE, "player illusion", 5130 M_FIGHTER | M_SPEAKS | M_INSUBSTANTIAL | M_NO_POLY_TO | M_FLIES | M_GHOST_DEMON, 5131 MR_RES_POISON, 5132 15, MONS_PLAYER_ILLUSION, MONS_PLAYER_ILLUSION, MH_NATURAL, -5, 5133 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5134 4, 140, 5135 1, 2, MST_GHOST, false, S_SHOUT, 5136 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5137 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5138 {TILEP_MONS_PLAYER_GHOST}, TILE_ERROR 5139 }, 5140 5141 { 5142 MONS_PLAYER_SHADOW, 'W', MAGENTA, "shadow", 5143 M_CANT_SPAWN | M_NO_EXP_GAIN | M_INSUBSTANTIAL | M_FLIES, 5144 MR_NO_FLAGS, 5145 10, MONS_HUMAN, MONS_HUMAN, MH_NONLIVING, -3, 5146 { {AT_HIT, AF_PLAIN, 0}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5147 1, 10, 5148 3, 13, MST_NO_SPELLS, false, S_SILENT, 5149 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5150 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5151 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 5152 }, 5153 // dancing weapon 5154 // These are named more explicitly when they attack, also when you use 'x' 5155 // to examine them. 5156 { 5157 MONS_DANCING_WEAPON, '(', COLOUR_UNDEF, "dancing weapon", 5158 M_FIGHTER | M_FLIES | M_PREFER_RANGED | M_GHOST_DEMON, 5159 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | mrd(MR_RES_ELEC, 3), 5160 10, MONS_DANCING_WEAPON, MONS_DANCING_WEAPON, MH_NONLIVING, WILL_INVULN, 5161 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5162 15, 150, 5163 10, 20, MST_NO_SPELLS, false, S_SILENT, 5164 I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY, 5165 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC, 5166 {TILE_UNSEEN_WEAPON} 5167 }, 5168 5169 // spectral weapon, for skalds! 5170 { 5171 MONS_SPECTRAL_WEAPON, '(', GREEN, "spectral weapon", 5172 M_INSUBSTANTIAL | M_NO_REGEN | M_AVATAR | M_NO_EXP_GAIN | M_FLIES 5173 | M_GHOST_DEMON, 5174 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 5175 11, MONS_WRAITH, MONS_SPECTRAL_WEAPON, MH_NONLIVING, WILL_INVULN, 5176 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5177 5, 250, 5178 5, 10, MST_NO_SPELLS, false, S_SILENT, 5179 I_BRAINLESS, HT_LAND, 30, DEFAULT_ENERGY, 5180 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 5181 {TILEP_MONS_SPECTRAL_SBL}, TILE_ERROR 5182 }, 5183 5184 // animated armour - variable traits 5185 { 5186 MONS_ANIMATED_ARMOUR, '[', GREEN, "animated armour", 5187 M_NO_FLAGS, 5188 MR_NO_FLAGS, 5189 10, MONS_ANIMATED_ARMOUR, MONS_ANIMATED_ARMOUR, MH_NONLIVING, WILL_INVULN, 5190 { {AT_HIT, AF_PLAIN, 1}, {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK }, 5191 15, 400, 5192 8, 5, MST_NO_SPELLS, false, S_SILENT, 5193 I_BRAINLESS, HT_LAND, 10, MOVE_ENERGY(30), 5194 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5195 {TILEP_MONS_ANIMATED_ARMOUR}, TILE_ERROR 5196 }, 5197 5198 // Demonic tentacle things. 5199 { 5200 MONS_ELDRITCH_TENTACLE, 'w', COLOUR_UNDEF, "eldritch tentacle", 5201 M_NO_POLY_TO | M_STATIONARY | M_SEE_INVIS | M_FLIES, 5202 mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC 5203 | MR_RES_ACID, 3) | MR_RES_STICKY_FLAME, 5204 10, MONS_ELDRITCH_TENTACLE, MONS_ELDRITCH_TENTACLE, 5205 MH_NONLIVING, WILL_INVULN, 5206 { {AT_TENTACLE_SLAP, AF_CHAOTIC, 30}, {AT_CLAW, AF_CHAOTIC, 40}, AT_NO_ATK, 5207 AT_NO_ATK }, 5208 16, 1200, 5209 13, 0, MST_NO_SPELLS, false, S_SILENT, 5210 I_ANIMAL, HT_AMPHIBIOUS, 12, DEFAULT_ENERGY, 5211 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_SNAKE, 5212 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 5213 }, 5214 5215 { 5216 MONS_ELDRITCH_TENTACLE_SEGMENT, '*', COLOUR_UNDEF, "eldritch tentacle segment", 5217 M_NOT_DANGEROUS | M_STATIONARY | M_NO_POLY_TO | M_SEE_INVIS | M_FLIES, 5218 mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC 5219 | MR_RES_ACID, 3) | MR_RES_STICKY_FLAME, 5220 10, MONS_ELDRITCH_TENTACLE, MONS_ELDRITCH_TENTACLE_SEGMENT, 5221 MH_NONLIVING, WILL_INVULN, 5222 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5223 16, 1200, 5224 13, 0, MST_NO_SPELLS, false, S_SILENT, 5225 I_ANIMAL, HT_AMPHIBIOUS, 12, DEFAULT_ENERGY, 5226 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_MISC, 5227 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 5228 }, 5229 5230 // demonspawn ('6') 5231 { 5232 MONS_DEMONSPAWN, '6', BROWN, "demonspawn", 5233 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 5234 MR_NO_FLAGS, 5235 10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 20, 5236 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5237 6, 330, 5238 3, 13, MST_NO_SPELLS, true, S_SHOUT, 5239 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5240 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5241 {TILEP_MONS_DEMONSPAWN}, TILE_CORPSE_DEMONSPAWN 5242 }, 5243 5244 { 5245 MONS_MONSTROUS_DEMONSPAWN, '6', LIGHTGRAY, "monstrous demonspawn", 5246 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_NO_POLY_TO, 5247 MR_NO_FLAGS, 5248 10, MONS_DEMONSPAWN, MONS_MONSTROUS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 40, 5249 { {AT_HIT, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 21}, 5250 {AT_GORE, AF_PLAIN, 21}, AT_NO_ATK }, 5251 10, 1000, 5252 3, 10, MST_NO_SPELLS, true, S_SHOUT, 5253 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5254 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5255 {TILEP_MONS_MONSTROUS_DEMONSPAWN}, TILE_CORPSE_MONSTROUS_DEMONSPAWN 5256 }, 5257 5258 { 5259 MONS_GELID_DEMONSPAWN, '6', BLUE, "gelid demonspawn", 5260 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 5261 mrd(MR_RES_COLD, 3), 5262 10, MONS_DEMONSPAWN, MONS_GELID_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 40, 5263 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5264 10, 550, 5265 8, 12, MST_NO_SPELLS, true, S_SHOUT, 5266 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5267 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5268 {TILEP_MONS_GELID_DEMONSPAWN}, TILE_CORPSE_GELID_DEMONSPAWN 5269 }, 5270 5271 { 5272 MONS_INFERNAL_DEMONSPAWN, '6', RED, "infernal demonspawn", 5273 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 5274 mrd(MR_RES_FIRE, 3), 5275 10, MONS_DEMONSPAWN, MONS_INFERNAL_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 40, 5276 { {AT_HIT, AF_FIRE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5277 10, 550, 5278 6, 12, MST_NO_SPELLS, true, S_SHOUT, 5279 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5280 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5281 {TILEP_MONS_INFERNAL_DEMONSPAWN}, TILE_CORPSE_INFERNAL_DEMONSPAWN 5282 }, 5283 5284 { 5285 MONS_TORTUROUS_DEMONSPAWN, '6', MAGENTA, "torturous demonspawn", 5286 M_WARM_BLOOD | M_SPEAKS | M_NO_POLY_TO, 5287 mrd(MR_RES_NEG, 3), 5288 10, MONS_DEMONSPAWN, MONS_TORTUROUS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 40, 5289 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5290 10, 550, 5291 3, 13, MST_NO_SPELLS, true, S_SHOUT, 5292 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5293 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5294 {TILEP_MONS_TORTUROUS_DEMONSPAWN}, TILE_CORPSE_TORTUROUS_DEMONSPAWN 5295 }, 5296 5297 // The nonbase demonspawn's hit dice HP values, AC, and EV are added to 5298 // those of the relevant base demonspawn type. 5299 { 5300 MONS_BLOOD_SAINT, '6', LIGHTBLUE, "blood saint", 5301 M_WARM_BLOOD | M_SPEAKS, 5302 MR_NO_FLAGS, 5303 10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 60, 5304 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5305 15, 325, 5306 0, 0, MST_DEMONSPAWN_BLOOD_SAINT, true, S_SHOUT, 5307 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5308 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5309 {TILEP_MONS_BLOOD_SAINT}, TILE_ERROR 5310 }, 5311 5312 { 5313 MONS_WARMONGER, '6', LIGHTCYAN, "warmonger", 5314 M_WARM_BLOOD | M_SPEAKS | M_FIGHTER, 5315 MR_NO_FLAGS, 5316 10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 60, 5317 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5318 15, 600, 5319 0, 2, MST_DEMONSPAWN_WARMONGER, true, S_SHOUT, 5320 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5321 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5322 {TILEP_MONS_WARMONGER}, TILE_ERROR 5323 }, 5324 5325 { 5326 MONS_CORRUPTER, '6', LIGHTGREEN, "corrupter", 5327 M_WARM_BLOOD | M_SPEAKS, 5328 MR_NO_FLAGS, 5329 10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 60, 5330 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5331 15, 375, 5332 0, 0, MST_DEMONSPAWN_CORRUPTER, true, S_SHOUT, 5333 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5334 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5335 {TILEP_MONS_CORRUPTER}, TILE_ERROR 5336 }, 5337 5338 { 5339 MONS_BLACK_SUN, '6', LIGHTMAGENTA, "black sun", 5340 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS, 5341 MR_NO_FLAGS, 5342 10, MONS_DEMONSPAWN, MONS_DEMONSPAWN, MH_NATURAL | MH_DEMONIC, 60, 5343 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5344 15, 375, 5345 0, 0, MST_DEMONSPAWN_BLACK_SUN, true, S_SHOUT, 5346 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5347 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5348 {TILEP_MONS_BLACK_SUN}, TILE_ERROR 5349 }, 5350 5351 // minor demons: imps, etc. ('5') 5352 { 5353 MONS_CRIMSON_IMP, '5', RED, "crimson imp", 5354 M_SPEAKS | M_FAST_REGEN | M_FLIES, 5355 MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD, 5356 13, MONS_CRIMSON_IMP, MONS_CRIMSON_IMP, MH_DEMONIC, 40, 5357 { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5358 3, 135, 5359 3, 14, MST_BLINKER, false, S_SHOUT, 5360 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5361 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, 5362 MON_SHAPE_HUMANOID_WINGED, 5363 {TILEP_MONS_CRIMSON_IMP}, TILE_ERROR 5364 }, 5365 5366 { 5367 MONS_QUASIT, '5', LIGHTGREY, "quasit", 5368 M_NO_FLAGS, 5369 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 5370 13, MONS_QUASIT, MONS_QUASIT, MH_DEMONIC, 10, 5371 { {AT_BITE, AF_DRAIN_DEX, 3}, {AT_CLAW, AF_DRAIN_DEX, 2}, 5372 {AT_CLAW, AF_DRAIN_DEX, 2}, AT_NO_ATK }, 5373 3, 150, 5374 5, 17, MST_NO_SPELLS, false, S_MOAN, 5375 I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY, 5376 MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID, 5377 {TILEP_MONS_QUASIT}, TILE_ERROR 5378 }, 5379 5380 { 5381 MONS_WHITE_IMP, '5', WHITE, "white imp", 5382 M_SPEAKS | M_FLIES, 5383 MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_VUL_FIRE, 5384 10, MONS_WHITE_IMP, MONS_WHITE_IMP, MH_DEMONIC, 10, 5385 { {AT_HIT, AF_COLD, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5386 2, 110, 5387 4, 10, MST_WHITE_IMP, false, S_SHOUT, 5388 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5389 MONUSE_OPEN_DOORS, SIZE_LITTLE, 5390 MON_SHAPE_HUMANOID_WINGED, 5391 {TILEP_MONS_WHITE_IMP}, TILE_ERROR 5392 }, 5393 5394 { 5395 MONS_UFETUBUS, '5', LIGHTCYAN, "ufetubus", 5396 M_NO_FLAGS, 5397 MR_VUL_FIRE | MR_RES_COLD, 5398 28, MONS_UFETUBUS, MONS_UFETUBUS, MH_DEMONIC, 10, 5399 { {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK }, 5400 1, 70, 5401 2, 15, MST_NO_SPELLS, false, S_SHOUT, 5402 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 5403 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5404 {TILEP_MONS_UFETUBUS}, TILE_ERROR 5405 }, 5406 5407 { 5408 MONS_IRON_IMP, '5', CYAN, "iron imp", 5409 M_SPEAKS, 5410 MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3) | MR_RES_COLD, 5411 14, MONS_IRON_IMP, MONS_IRON_IMP, MH_DEMONIC, 10, 5412 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5413 3, 165, 5414 6, 8, MST_NO_SPELLS, false, S_SHOUT, 5415 I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY, 5416 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, 5417 {TILEP_MONS_IRON_IMP}, TILE_ERROR 5418 }, 5419 5420 { 5421 MONS_SHADOW_IMP, '5', MAGENTA, "shadow imp", 5422 M_SEE_INVIS | M_SPEAKS, 5423 MR_RES_POISON | mrd(MR_RES_COLD, 2), 5424 11, MONS_SHADOW_IMP, MONS_SHADOW_IMP, MH_DEMONIC, 10, 5425 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5426 2, 110, 5427 3, 11, MST_SHADOW_IMP, false, S_SHOUT, 5428 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5429 MONUSE_OPEN_DOORS, SIZE_LITTLE, MON_SHAPE_HUMANOID, 5430 {TILEP_MONS_SHADOW_IMP}, TILE_ERROR 5431 }, 5432 5433 { 5434 MONS_LEMURE, '5', YELLOW, "lemure", 5435 M_SPEAKS, 5436 MR_NO_FLAGS, 5437 10, MONS_LEMURE, MONS_LEMURE, MH_DEMONIC, 20, 5438 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5439 5, 275, 5440 4, 12, MST_NO_SPELLS, false, S_SHOUT, 5441 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5442 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5443 {TILEP_MONS_LEMURE}, TILE_ERROR 5444 }, 5445 5446 // devils etc. ('4') 5447 { 5448 MONS_RUST_DEVIL, '4', BROWN, "rust devil", 5449 M_NO_FLAGS, 5450 MR_RES_POISON | MR_RES_ELEC | mrd(MR_RES_FIRE, 3) | MR_RES_COLD, 5451 15, MONS_RUST_DEVIL, MONS_RUST_DEVIL, MH_DEMONIC, 60, 5452 { {AT_HIT, AF_CORRODE, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5453 8, 440, 5454 10, 8, MST_NO_SPELLS, false, S_SCREECH, 5455 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5456 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5457 {TILEP_MONS_RUST_DEVIL}, TILE_ERROR 5458 }, 5459 5460 { 5461 MONS_ORANGE_DEMON, '4', LIGHTRED, "orange demon", 5462 M_NO_FLAGS, 5463 MR_NO_FLAGS, 5464 12, MONS_ORANGE_DEMON, MONS_ORANGE_DEMON, MH_DEMONIC, 60, 5465 { {AT_STING, AF_REACH_STING, 15}, {AT_HIT, AF_WEAKNESS, 8}, AT_NO_ATK, 5466 AT_NO_ATK }, 5467 8, 520, 5468 3, 7, MST_NO_SPELLS, false, S_SCREECH, 5469 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5470 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID_TAILED, 5471 {TILEP_MONS_ORANGE_DEMON}, TILE_ERROR 5472 }, 5473 5474 { 5475 MONS_RED_DEVIL, '4', RED, "red devil", 5476 M_FIGHTER | M_FLIES, 5477 MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD, 5478 13, MONS_RED_DEVIL, MONS_RED_DEVIL, MH_DEMONIC, 60, 5479 { {AT_HIT, AF_KITE, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5480 7, 315, 5481 7, 13, MST_NO_SPELLS, false, S_SILENT, 5482 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5483 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 5484 MON_SHAPE_HUMANOID_WINGED, 5485 {TILEP_MONS_RED_DEVIL}, TILE_ERROR 5486 }, 5487 5488 { 5489 MONS_HELLWING, '4', LIGHTGREY, "hellwing", 5490 M_FAST_REGEN | M_FLIES, 5491 MR_RES_POISON, 5492 12, MONS_HELLWING, MONS_HELLWING, MH_DEMONIC, 60, 5493 { {AT_HIT, AF_SWOOP, 17}, {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK }, 5494 7, 455, 5495 16, 10, MST_NO_SPELLS, false, S_MOAN, 5496 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5497 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID_WINGED, 5498 {TILEP_MONS_HELLWING}, TILE_ERROR 5499 }, 5500 5501 { 5502 MONS_ICE_DEVIL, '4', WHITE, "ice devil", 5503 M_NO_FLAGS, 5504 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 5505 11, MONS_ICE_DEVIL, MONS_ICE_DEVIL, MH_DEMONIC, 80, 5506 { {AT_HIT, AF_COLD, 16}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5507 8, 440, 5508 12, 10, MST_NO_SPELLS, false, S_SILENT, 5509 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5510 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5511 {TILEP_MONS_ICE_DEVIL}, TILE_ERROR 5512 }, 5513 5514 { 5515 MONS_CHAOS_SPAWN, '4', ETC_RANDOM, "chaos spawn", 5516 M_SEE_INVIS, 5517 MR_NO_FLAGS, 5518 12, MONS_CHAOS_SPAWN, MONS_CHAOS_SPAWN, MH_DEMONIC, 60, 5519 { {AT_RANDOM, AF_CHAOTIC, 19}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5520 6, 330, 5521 7, 12, MST_NO_SPELLS, false, S_RANDOM, 5522 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 5523 MONUSE_OPEN_DOORS, SIZE_BIG, MON_SHAPE_MISC, 5524 {TILEP_MONS_CHAOS_SPAWN, TVARY_RANDOM}, TILE_ERROR 5525 }, 5526 5527 // middle demons ('3') 5528 { 5529 MONS_SUN_DEMON, '3', YELLOW, "sun demon", 5530 M_SEE_INVIS | M_FLIES, 5531 MR_RES_ELEC | MR_RES_POISON | MR_VUL_COLD | mrd(MR_RES_FIRE, 3) 5532 | MR_VUL_WATER, 5533 14, MONS_SUN_DEMON, MONS_SUN_DEMON, MH_DEMONIC, 80, 5534 { {AT_HIT, AF_FIRE, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5535 10, 550, 5536 10, 12, MST_NO_SPELLS, false, S_SHOUT, 5537 I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY, 5538 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5539 {TILEP_MONS_SUN_DEMON}, TILE_ERROR 5540 }, 5541 5542 { 5543 MONS_SOUL_EATER, '3', MAGENTA, "soul eater", 5544 M_SEE_INVIS | M_FLIES, 5545 MR_RES_POISON | MR_RES_COLD, 5546 13, MONS_SOUL_EATER, MONS_SOUL_EATER, MH_DEMONIC, 140, 5547 { {AT_HIT, AF_DRAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5548 11, 605, 5549 18, 10, MST_SOUL_EATER, false, S_SILENT, 5550 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5551 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5552 {TILEP_MONS_SOUL_EATER}, TILE_ERROR 5553 }, 5554 5555 { 5556 MONS_SMOKE_DEMON, '3', LIGHTGREY, "smoke demon", 5557 M_INSUBSTANTIAL | M_FLIES, 5558 MR_RES_POISON | mrd(MR_RES_FIRE, 2), 5559 15, MONS_SMOKE_DEMON, MONS_SMOKE_DEMON, MH_DEMONIC, 60, 5560 { {AT_HIT, AF_PLAIN, 8}, {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5}, 5561 AT_NO_ATK }, 5562 7, 385, 5563 5, 9, MST_SMOKE_DEMON, false, S_ROAR, 5564 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5565 MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID, 5566 {TILEP_MONS_SMOKE_DEMON}, TILE_ERROR 5567 }, 5568 5569 { 5570 MONS_NEQOXEC, '3', LIGHTMAGENTA, "neqoxec", 5571 M_FLIES, 5572 MR_RES_POISON, 5573 12, MONS_NEQOXEC, MONS_NEQOXEC, MH_DEMONIC, 40, 5574 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5575 6, 330, 5576 4, 12, MST_NEQOXEC, false, S_SHOUT, 5577 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5578 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5579 {TILEP_MONS_NEQOXEC}, TILE_ERROR 5580 }, 5581 5582 { 5583 MONS_YNOXINUL, '3', LIGHTCYAN, "ynoxinul", 5584 M_SEE_INVIS | M_FLIES, 5585 MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD, 5586 13, MONS_YNOXINUL, MONS_YNOXINUL, MH_DEMONIC, 40, 5587 { {AT_HIT, AF_PLAIN, 12}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5588 6, 330, 5589 3, 10, MST_YNOXINUL, false, S_BELLOW, 5590 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5591 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID_WINGED, 5592 {TILEP_MONS_YNOXINUL}, TILE_ERROR 5593 }, 5594 5595 { 5596 MONS_SIXFIRHY, '3', LIGHTBLUE, "sixfirhy", 5597 M_NO_FLAGS, 5598 mrd(MR_RES_ELEC, 3), 5599 6, MONS_SIXFIRHY, MONS_SIXFIRHY, MH_DEMONIC, 60, 5600 { {AT_HIT, AF_ELEC, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5601 9, 385, 5602 2, 20, MST_NO_SPELLS, false, S_SILENT, 5603 I_HUMAN, HT_LAND, 40, MOVE_ENERGY(6), // speed is cut to 1/3 later 5604 MONUSE_OPEN_DOORS, SIZE_LITTLE, MON_SHAPE_HUMANOID, 5605 {TILEP_MONS_SIXFIRHY}, TILE_ERROR 5606 }, 5607 5608 // greater demons ('2') 5609 5610 { 5611 MONS_SHADOW_DEMON, '2', MAGENTA, "shadow demon", 5612 M_SEE_INVIS, 5613 MR_RES_POISON | mrd(MR_RES_COLD, 2), 5614 13, MONS_SHADOW_DEMON, MONS_SHADOW_DEMON, MH_DEMONIC, 100, 5615 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5616 10, 550, 5617 7, 12, MST_SHADOW_DEMON, false, S_CROAK, 5618 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5619 MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID, 5620 {TILEP_MONS_SHADOW_DEMON}, TILE_ERROR 5621 }, 5622 5623 { 5624 MONS_GREEN_DEATH, '2', GREEN, "green death", 5625 M_SEE_INVIS, 5626 MR_RES_POISON, 5627 14, MONS_GREEN_DEATH, MONS_GREEN_DEATH, MH_DEMONIC, 160, 5628 { {AT_HIT, AF_PLAIN, 32}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5629 13, 715, 5630 5, 7, MST_GREEN_DEATH, false, S_ROAR, 5631 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5632 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5633 {TILEP_MONS_GREEN_DEATH}, TILE_ERROR 5634 }, 5635 5636 { 5637 MONS_BLIZZARD_DEMON, '2', LIGHTBLUE, "blizzard demon", 5638 M_SEE_INVIS | M_FLIES, 5639 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 2) | mrd(MR_RES_ELEC, 3), 5640 16, MONS_BLIZZARD_DEMON, MONS_BLIZZARD_DEMON, MH_DEMONIC, 140, 5641 { {AT_HIT, AF_PLAIN, 20}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK }, 5642 12, 660, 5643 10, 10, MST_BLIZZARD_DEMON, false, S_SHOUT, 5644 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5645 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5646 {TILEP_MONS_BLIZZARD_DEMON}, TILE_ERROR 5647 }, 5648 5649 { 5650 MONS_BALRUG, '2', RED, "balrug", 5651 M_FIGHTER | M_SEE_INVIS | M_FLIES, 5652 MR_RES_POISON | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD | MR_VUL_WATER, 5653 12, MONS_BALRUG, MONS_BALRUG, MH_DEMONIC, 160, 5654 { {AT_HIT, AF_FIRE, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5655 14, 770, 5656 5, 12, MST_BALRUG, false, S_SHOUT, 5657 I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY, 5658 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID_WINGED, 5659 {TILEP_MONS_BALRUG}, TILE_ERROR 5660 }, 5661 5662 { 5663 MONS_CACODEMON, '2', YELLOW, "cacodemon", 5664 M_SEE_INVIS | M_FAST_REGEN | M_FLIES, 5665 MR_RES_POISON | MR_RES_ELEC, 5666 16, MONS_CACODEMON, MONS_CACODEMON, MH_DEMONIC, 160, 5667 { {AT_HIT, AF_PLAIN, 22}, {AT_HIT, AF_PLAIN, 22}, AT_NO_ATK, AT_NO_ATK }, 5668 13, 975, 5669 11, 10, MST_CACODEMON, false, S_SHOUT, 5670 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5671 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5672 {TILEP_MONS_CACODEMON}, TILE_ERROR 5673 }, 5674 5675 { 5676 MONS_HELL_BEAST, '2', BROWN, "hell beast", 5677 M_FIGHTER, 5678 MR_NO_FLAGS, 5679 17, MONS_HELL_BEAST, MONS_HELL_BEAST, MH_DEMONIC, 20, 5680 { {AT_BITE, AF_PLAIN, 28}, {AT_TRAMPLE, AF_TRAMPLE, 20}, AT_NO_ATK, 5681 AT_NO_ATK }, 5682 7, 840, 5683 5, 14, MST_NO_SPELLS, false, S_RANDOM, 5684 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 5685 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_QUADRUPED, 5686 {TILEP_MONS_HELL_BEAST}, TILE_ERROR 5687 }, 5688 5689 { 5690 MONS_HELLION, '2', LIGHTRED, "hellion", 5691 M_NO_FLAGS, 5692 MR_RES_POISON | MR_RES_DAMNATION, 5693 12, MONS_HELLION, MONS_HELLION, MH_DEMONIC, 60, 5694 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5695 7, 385, 5696 5, 10, MST_HELLION, false, S_SCREAM, 5697 I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY, 5698 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5699 {TILEP_MONS_HELLION}, TILE_ERROR 5700 }, 5701 5702 { 5703 MONS_REAPER, '2', LIGHTGREY, "reaper", 5704 M_FIGHTER | M_SEE_INVIS | M_SPEAKS, 5705 MR_RES_POISON | MR_RES_COLD, 5706 14, MONS_REAPER, MONS_REAPER, MH_DEMONIC, 100, 5707 { {AT_HIT, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5708 14, 770, 5709 15, 10, MST_NO_SPELLS, false, S_SILENT, 5710 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5711 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5712 {TILEP_MONS_REAPER}, TILE_ERROR 5713 }, 5714 5715 { 5716 MONS_LOROCYPROCA, '2', BLUE, "lorocyproca", 5717 M_SEE_INVIS | M_INVIS, 5718 MR_RES_POISON | MR_RES_COLD | MR_RES_FIRE | MR_RES_ELEC, 5719 14, MONS_LOROCYPROCA, MONS_LOROCYPROCA, MH_DEMONIC, 140, 5720 { {AT_HIT, AF_ANTIMAGIC, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5721 14, 770, 5722 10, 12, MST_NO_SPELLS, false, S_MOAN, 5723 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5724 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5725 {TILEP_MONS_LOROCYPROCA}, TILE_ERROR 5726 }, 5727 5728 { 5729 MONS_TORMENTOR, '2', LIGHTMAGENTA, "tormentor", 5730 M_SPEAKS, 5731 MR_RES_POISON | MR_RES_FIRE, 5732 10, MONS_TORMENTOR, MONS_TORMENTOR, MH_DEMONIC, 60, 5733 { {AT_HIT, AF_PAIN, 8}, {AT_HIT, AF_PAIN, 8}, AT_NO_ATK, AT_NO_ATK }, 5734 7, 385, 5735 12, 12, MST_TORMENTOR, false, S_ROAR, 5736 I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY, 5737 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5738 {TILEP_MONS_TORMENTOR}, TILE_ERROR 5739 }, 5740 5741 // fiends, etc. ('1') 5742 { 5743 MONS_BRIMSTONE_FIEND, '1', LIGHTRED, "Brimstone Fiend", 5744 M_SEE_INVIS | M_FLIES, 5745 MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD 5746 | MR_VUL_WATER, 5747 17, MONS_BRIMSTONE_FIEND, MONS_BRIMSTONE_FIEND, MH_DEMONIC, WILL_INVULN, 5748 { {AT_HIT, AF_PLAIN, 25}, {AT_HIT, AF_PLAIN, 15}, {AT_HIT, AF_PLAIN, 15}, 5749 AT_NO_ATK }, 5750 18, 990, 5751 15, 6, MST_BRIMSTONE_FIEND, false, S_ROAR, 5752 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5753 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID_WINGED, 5754 {TILEP_MONS_BRIMSTONE_FIEND}, TILE_ERROR 5755 }, 5756 5757 { 5758 MONS_ICE_FIEND, '1', WHITE, "Ice Fiend", 5759 M_SEE_INVIS | M_FLIES, 5760 MR_RES_POISON | MR_VUL_FIRE | mrd(MR_RES_COLD, 3), 5761 17, MONS_ICE_FIEND, MONS_ICE_FIEND, MH_DEMONIC, WILL_INVULN, 5762 { {AT_CLAW, AF_COLD, 25}, {AT_CLAW, AF_COLD, 25}, AT_NO_ATK, AT_NO_ATK }, 5763 18, 990, 5764 15, 6, MST_ICE_FIEND, false, S_ROAR, 5765 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5766 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID_WINGED, 5767 {TILEP_MONS_ICE_FIEND}, TILE_ERROR 5768 }, 5769 5770 { 5771 MONS_TZITZIMITL, '1', MAGENTA, "Tzitzimitl", 5772 M_SEE_INVIS | M_FLIES, 5773 MR_RES_POISON | mrd(MR_RES_COLD, 2) | MR_RES_ELEC, 5774 13, MONS_TZITZIMITL, MONS_TZITZIMITL, MH_DEMONIC, WILL_INVULN, 5775 { {AT_ENGULF, AF_DRAIN_SPEED, 25}, {AT_BITE, AF_DRAIN, 25}, 5776 AT_NO_ATK, AT_NO_ATK }, 5777 22, 1050, 5778 12, 16, MST_TZITZIMITL, false, S_ROAR, 5779 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5780 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5781 {TILEP_MONS_TZITZIMITL}, TILE_ERROR 5782 }, 5783 5784 { 5785 MONS_HELL_SENTINEL, '1', BROWN, "Hell Sentinel", 5786 M_SEE_INVIS, 5787 MR_RES_DAMNATION 5788 | mrd(MR_RES_FIRE | MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC, 3), 5789 10, MONS_HELL_SENTINEL, MONS_HELL_SENTINEL, MH_DEMONIC, WILL_INVULN, 5790 { {AT_HIT, AF_PLAIN, 40}, {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK }, 5791 19, 1425, 5792 25, 3, MST_HELL_SENTINEL, false, S_ROAR, 5793 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5794 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5795 {TILEP_MONS_HELL_SENTINEL}, TILE_ERROR 5796 }, 5797 5798 { 5799 MONS_EXECUTIONER, '1', LIGHTGREY, "Executioner", 5800 M_FIGHTER | M_SEE_INVIS, 5801 MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON, 5802 18, MONS_EXECUTIONER, MONS_EXECUTIONER, MH_DEMONIC, 140, 5803 { {AT_HIT, AF_PLAIN, 30}, {AT_HIT, AF_PLAIN, 10}, {AT_HIT, AF_PLAIN, 10}, 5804 AT_NO_ATK }, 5805 12, 660, 5806 10, 15, MST_EXECUTIONER, false, S_SCREAM, 5807 I_HUMAN, HT_LAND, 20, DEFAULT_ENERGY, 5808 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5809 {TILEP_MONS_EXECUTIONER}, TILE_ERROR 5810 }, 5811 5812 // trees and related creatures ('7') 5813 DUMMY(MONS_ANIMATED_TREE, '7', ETC_TREE, "animated tree", TILEP_MONS_TREANT) 5814 5815 // non-living creatures 5816 // golems ('8') 5817 DUMMY(MONS_GOLEM, '8', LIGHTGREY, "golem", TILEP_MONS_IRON_GOLEM) 5818 5819 { 5820 MONS_SALTLING, '8', WHITE, "saltling", 5821 M_NO_FLAGS, 5822 MR_NO_FLAGS, 5823 10, MONS_GOLEM, MONS_SALTLING, MH_NONLIVING, WILL_INVULN, 5824 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5825 8, 270, 5826 15, 5, MST_NO_SPELLS, false, S_SILENT, 5827 I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY, 5828 MONUSE_OPEN_DOORS, SIZE_SMALL, MON_SHAPE_HUMANOID, 5829 {TILEP_MONS_SALTLING}, TILE_ERROR 5830 }, 5831 5832 { 5833 MONS_PEACEKEEPER, '8', YELLOW, "peacekeeper", 5834 M_SEE_INVIS, 5835 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 5836 10, MONS_GOLEM, MONS_PEACEKEEPER, MH_NONLIVING, WILL_INVULN, 5837 { {AT_BITE, AF_PLAIN, 25}, {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK }, 5838 12, 450, 5839 20, 3, MST_PEACEKEEPER, false, S_ROAR, 5840 I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY, 5841 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS, 5842 {TILEP_MONS_PEACEKEEPER}, TILE_ERROR 5843 }, 5844 5845 { 5846 MONS_IRON_GOLEM, '8', CYAN, "iron golem", 5847 M_NO_FLAGS, 5848 mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3), 5849 10, MONS_GOLEM, MONS_IRON_GOLEM, MH_NONLIVING, WILL_INVULN, 5850 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5851 15, 1350, 5852 15, 3, MST_NO_SPELLS, false, S_SILENT, 5853 I_BRAINLESS, HT_LAND, 7, DEFAULT_ENERGY, 5854 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5855 {TILEP_MONS_IRON_GOLEM}, TILE_ERROR 5856 }, 5857 5858 { 5859 MONS_CRYSTAL_GUARDIAN, '8', GREEN, "crystal guardian", 5860 M_SEE_INVIS | M_SPEAKS, 5861 mrd(MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 3), 5862 10, MONS_GOLEM, MONS_CRYSTAL_GUARDIAN, MH_NONLIVING, WILL_INVULN, 5863 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5864 16, 640, 5865 22, 0, MST_CRYSTAL_GUARDIAN, false, S_SILENT, 5866 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 5867 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5868 {TILEP_MONS_CRYSTAL_GUARDIAN}, TILE_ERROR 5869 }, 5870 5871 { 5872 MONS_TOENAIL_GOLEM, '8', RED, "toenail golem", 5873 M_NO_FLAGS, 5874 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 5875 10, MONS_GOLEM, MONS_TOENAIL_GOLEM, MH_NONLIVING, WILL_INVULN, 5876 { {AT_HIT, AF_PLAIN, 13}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5877 9, 585, 5878 8, 5, MST_NO_SPELLS, false, S_SILENT, 5879 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 5880 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5881 {TILEP_MONS_TOENAIL_GOLEM}, TILE_ERROR 5882 }, 5883 5884 { 5885 MONS_ELECTRIC_GOLEM, '8', LIGHTCYAN, "electric golem", 5886 M_SEE_INVIS | M_INSUBSTANTIAL | M_SPEAKS, 5887 mrd(MR_RES_ELEC, 3) | MR_RES_FIRE | MR_RES_COLD, 5888 12, MONS_GOLEM, MONS_ELECTRIC_GOLEM, MH_NONLIVING, WILL_INVULN, 5889 { {AT_HIT, AF_ELEC, 15}, {AT_HIT, AF_ELEC, 15}, {AT_HIT, AF_PLAIN, 15}, 5890 {AT_HIT, AF_PLAIN, 15} }, 5891 15, 1350, 5892 5, 20, MST_ELECTRIC_GOLEM, false, S_SILENT, 5893 I_BRAINLESS, HT_LAND, 16, DEFAULT_ENERGY, 5894 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5895 {TILEP_MONS_ELECTRIC_GOLEM}, TILE_ERROR 5896 }, 5897 5898 { 5899 MONS_USHABTI, '8', BROWN, "ushabti", 5900 M_FIGHTER | M_SEE_INVIS, 5901 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 5902 10, MONS_GOLEM, MONS_USHABTI, MH_NONLIVING, WILL_INVULN, 5903 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5904 7, 455, 5905 9, 6, MST_USHABTI, false, S_SILENT, 5906 I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY, 5907 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_MISC, 5908 {TILEP_MONS_USHABTI}, TILE_ERROR 5909 }, 5910 5911 { 5912 MONS_GUARDIAN_GOLEM, '8', LIGHTGREEN, "guardian golem", 5913 M_NO_EXP_GAIN, 5914 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 5915 10, MONS_GOLEM, MONS_GUARDIAN_GOLEM, MH_NONLIVING, WILL_INVULN, 5916 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5917 5, 400, 5918 10, 2, MST_NO_SPELLS, false, S_SILENT, 5919 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 5920 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 5921 {TILEP_MONS_GUARDIAN_GOLEM}, TILE_ERROR 5922 }, 5923 5924 { 5925 MONS_SPELLFORGED_SERVITOR, '8', LIGHTMAGENTA, "spellforged servitor", 5926 M_NO_POLY_TO | M_FLIES | M_NO_EXP_GAIN, 5927 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC, 5928 10, MONS_GOLEM, MONS_SPELLFORGED_SERVITOR, MH_NONLIVING, WILL_INVULN, 5929 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5930 8, 800, 5931 10, 10, MST_NO_SPELLS, false, S_SILENT, 5932 I_BRAINLESS, HT_LAND, 10, SPELL_ENERGY(18), 5933 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 5934 {TILEP_MONS_SPELLFORGED_SERVITOR}, TILE_ERROR 5935 }, 5936 5937 // statues and statue-like things (also '8') 5938 { 5939 MONS_ICE_STATUE, '8', LIGHTBLUE, "ice statue", 5940 M_STATIONARY | M_SPEAKS, 5941 MR_VUL_FIRE | mrd(MR_RES_COLD, 3) | MR_RES_ELEC | MR_RES_PETRIFY, 5942 10, MONS_STATUE, MONS_ICE_STATUE, MH_NONLIVING, WILL_INVULN, 5943 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5944 8, 720, 5945 12, 1, MST_ICE_STATUE, false, S_SILENT, 5946 I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 5947 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_HUMANOID, 5948 {TILEP_MONS_ICE_STATUE}, TILE_ERROR 5949 }, 5950 5951 { 5952 MONS_OBSIDIAN_STATUE, '8', MAGENTA, "obsidian statue", 5953 M_STATIONARY | M_SPEAKS | M_SEE_INVIS, 5954 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC 5955 | MR_RES_PETRIFY, 5956 10, MONS_STATUE, MONS_OBSIDIAN_STATUE, MH_NONLIVING | MH_EVIL, WILL_INVULN, 5957 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5958 10, 700, 5959 12, 1, MST_OBSIDIAN_STATUE, false, S_SILENT, 5960 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5961 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_HUMANOID, 5962 {TILEP_MONS_OBSIDIAN_STATUE}, TILE_ERROR 5963 }, 5964 5965 { 5966 MONS_ORANGE_STATUE, '8', LIGHTRED, "orange crystal statue", 5967 M_STATIONARY | M_SPEAKS | M_SEE_INVIS, 5968 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC | MR_RES_PETRIFY, 5969 10, MONS_STATUE, MONS_ORANGE_STATUE, MH_NONLIVING, WILL_INVULN, 5970 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5971 10, 700, 5972 12, 1, MST_ORANGE_CRYSTAL_STATUE, false, S_SILENT, 5973 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5974 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_HUMANOID, 5975 {TILEP_MONS_ORANGE_STATUE}, TILE_ERROR 5976 }, 5977 5978 { // always redefined 5979 MONS_STATUE, '8', LIGHTGREY, "statue", 5980 M_STATIONARY | M_SPEAKS | M_ARCHER | M_PREFER_RANGED | M_NO_POLY_TO, 5981 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC | MR_RES_PETRIFY, 5982 10, MONS_STATUE, MONS_STATUE, MH_NONLIVING, WILL_INVULN, 5983 { {AT_WEAP_ONLY, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5984 8, 720, 5985 12, 1, MST_NO_SPELLS, false, S_SILENT, 5986 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 5987 MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID, 5988 {TILEP_MONS_OBSIDIAN_STATUE}, TILE_ERROR 5989 }, 5990 5991 { 5992 MONS_TRAINING_DUMMY, '8', LIGHTGREY, "training dummy", 5993 M_STATIONARY, 5994 MR_RES_PETRIFY, 5995 10, MONS_TRAINING_DUMMY, MONS_TRAINING_DUMMY, MH_NONLIVING, WILL_INVULN, 5996 { {AT_WEAP_ONLY, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 5997 1, 60, 5998 0, 0, MST_NO_SPELLS, false, S_SILENT, 5999 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6000 MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID, 6001 {TILEP_MONS_TRAINING_DUMMY}, TILE_ERROR 6002 }, 6003 6004 { 6005 MONS_PILLAR_OF_SALT, '8', WHITE, "pillar of salt", 6006 M_NOT_DANGEROUS | M_STATIONARY, 6007 MR_NO_FLAGS, 6008 10, MONS_PILLAR_OF_SALT, MONS_PILLAR_OF_SALT, MH_NONLIVING, WILL_INVULN, 6009 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6010 1, 10, 6011 1, 0, MST_NO_SPELLS, false, S_SILENT, 6012 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 6013 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_MISC, 6014 {TILEP_MONS_PILLAR_OF_SALT}, TILE_ERROR 6015 }, 6016 6017 { 6018 MONS_BLOCK_OF_ICE, '8', ETC_ICE, "block of ice", 6019 M_NOT_DANGEROUS | M_STATIONARY, 6020 mrd(MR_RES_COLD, 3) | MR_VUL_FIRE, 6021 10, MONS_BLOCK_OF_ICE, MONS_BLOCK_OF_ICE, MH_NONLIVING, WILL_INVULN, 6022 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6023 3, 285, 6024 15, 0, MST_NO_SPELLS, false, S_SILENT, 6025 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 6026 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_MISC, 6027 {TILEP_MONS_BLOCK_OF_ICE, TVARY_MOD}, TILE_ERROR 6028 }, 6029 6030 { 6031 MONS_DIAMOND_OBELISK, '8', WHITE, "diamond obelisk", 6032 M_STATIONARY | M_NOT_DANGEROUS | M_NO_POLY_TO, 6033 MR_RES_PETRIFY, 6034 10, MONS_DIAMOND_OBELISK, MONS_DIAMOND_OBELISK, MH_NONLIVING, WILL_INVULN, 6035 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6036 8, 96000, 6037 12, 1, MST_NO_SPELLS, false, S_SILENT, 6038 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6039 MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_MISC, 6040 {TILEP_MONS_DIAMOND_OBELISK}, TILE_ERROR 6041 }, 6042 6043 { 6044 MONS_LIGHTNING_SPIRE, '8', ETC_ELECTRICITY, "lightning spire", 6045 M_STATIONARY | M_NO_POLY_TO, 6046 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | mrd(MR_RES_ELEC, 3) | MR_RES_PETRIFY, 6047 10, MONS_LIGHTNING_SPIRE, MONS_LIGHTNING_SPIRE, MH_NONLIVING, WILL_INVULN, 6048 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6049 3, 210, 6050 13, 3, MST_ZAPPER, false, S_SILENT, 6051 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 6052 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_MISC, 6053 {TILEP_MONS_LIGHTNING_SPIRE}, TILE_ERROR 6054 }, 6055 6056 // gargoyles ('9') 6057 { 6058 MONS_GARGOYLE, '9', LIGHTGREY, "gargoyle", 6059 M_FLIES, 6060 MR_RES_ELEC | MR_RES_PETRIFY, 6061 26, MONS_GOLEM, MONS_GARGOYLE, MH_NONLIVING, 40, 6062 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6063 6, 270, 6064 18, 6, MST_GARGOYLE, false, S_SILENT, 6065 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6066 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, 6067 MON_SHAPE_HUMANOID_WINGED_TAILED, 6068 {TILEP_MONS_GARGOYLE}, TILE_ERROR 6069 }, 6070 6071 { 6072 MONS_WAR_GARGOYLE, '9', CYAN, "war gargoyle", 6073 M_SEE_INVIS | M_FIGHTER | M_FLIES, 6074 MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_PETRIFY, 6075 18, MONS_GOLEM, MONS_WAR_GARGOYLE, MH_NONLIVING, 100, 6076 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6077 13, 520, 6078 22, 4, MST_SPLINTER_BREATH, false, S_SILENT, 6079 I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY, 6080 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, 6081 MON_SHAPE_HUMANOID_WINGED_TAILED, 6082 {TILEP_MONS_WAR_GARGOYLE}, TILE_ERROR 6083 }, 6084 6085 { 6086 MONS_MOLTEN_GARGOYLE, '9', RED, "molten gargoyle", 6087 M_FLIES, 6088 MR_RES_ELEC | mrd(MR_RES_FIRE, 3) | MR_RES_PETRIFY, 6089 18, MONS_GOLEM, MONS_MOLTEN_GARGOYLE, MH_NONLIVING, 60, 6090 { {AT_HIT, AF_FIRE, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6091 7, 315, 6092 14, 7, MST_MOLTEN_GARGOYLE, false, S_SILENT, 6093 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6094 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, 6095 MON_SHAPE_HUMANOID_WINGED_TAILED, 6096 {TILEP_MONS_MOLTEN_GARGOYLE}, TILE_ERROR 6097 }, 6098 6099 // major demons ('&') 6100 // Random demon in pan - only one per level. Stats are stored in ghost struct. 6101 { 6102 MONS_PANDEMONIUM_LORD, '&', COLOUR_UNDEF, "pandemonium lord", 6103 // See invis is also set in ghost.cc 6104 M_FIGHTER | M_SPEAKS | M_SEE_INVIS | M_GHOST_DEMON | M_TALL_TILE, 6105 MR_RES_POISON, 6106 14, MONS_PANDEMONIUM_LORD, MONS_PANDEMONIUM_LORD, MH_DEMONIC, -5, 6107 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6108 19, 1710, 6109 1, 2, MST_GHOST, false, S_DEMON_TAUNT, 6110 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6111 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 6112 {TILEP_MONS_PANDEMONIUM_LORD}, TILE_ERROR 6113 }, 6114 6115 DUMMY(MONS_HELL_LORD, '&', COLOUR_UNDEF, "hell lord", TILEP_MONS_PROGRAM_BUG) 6116 6117 // explodey things / orb of fire ('*') 6118 { 6119 MONS_BALL_LIGHTNING, '*', LIGHTCYAN, "ball lightning", 6120 M_INSUBSTANTIAL | M_CONJURED | M_FLIES | M_NO_EXP_GAIN, 6121 mrd(MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD, 3), 6122 20, MONS_BALL_LIGHTNING, MONS_BALL_LIGHTNING, MH_NONLIVING, WILL_INVULN, 6123 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6124 1, 10, 6125 0, 10, MST_NO_SPELLS, false, S_SILENT, 6126 I_BRAINLESS, HT_LAND, 20, DEFAULT_ENERGY, 6127 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB, 6128 {TILEP_MONS_BALL_LIGHTNING}, TILE_ERROR 6129 }, 6130 6131 { 6132 MONS_BALLISTOMYCETE_SPORE, '*', GREEN, "ballistomycete spore", 6133 M_FLIES | M_NO_EXP_GAIN, 6134 MR_RES_POISON, 6135 10, MONS_FUNGUS, MONS_BALLISTOMYCETE_SPORE, MH_PLANT, WILL_INVULN, 6136 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6137 1, 10, 6138 0, 10, MST_NO_SPELLS, false, S_SILENT, 6139 I_BRAINLESS, HT_LAND, 15, DEFAULT_ENERGY, 6140 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ORB, 6141 {TILEP_MONS_BALLISTOMYCETE_SPORE}, TILE_ERROR 6142 }, 6143 6144 { 6145 MONS_LOST_SOUL, '*', LIGHTGREEN, "lost soul", 6146 M_INSUBSTANTIAL | M_MAINTAIN_RANGE | M_FLIES | M_NO_EXP_GAIN | M_SEE_INVIS, 6147 MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD, 6148 2, MONS_LOST_SOUL, MONS_LOST_SOUL, MH_UNDEAD, WILL_INVULN, 6149 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6150 10, 250, 6151 0, 10, MST_NO_SPELLS, false, S_SILENT, 6152 I_BRAINLESS, HT_LAND, 13, DEFAULT_ENERGY, 6153 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ORB, 6154 {TILEP_MONS_LOST_SOUL}, TILE_ERROR 6155 }, 6156 6157 { 6158 MONS_LURKING_HORROR, '*', BLUE, "lurking horror", 6159 M_INSUBSTANTIAL | M_FLIES | M_NO_EXP_GAIN, 6160 MR_NO_FLAGS, 6161 10, MONS_LURKING_HORROR, MONS_LURKING_HORROR, MH_NONLIVING, 10, 6162 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6163 1, 10, 6164 0, 10, MST_NO_SPELLS, false, S_SILENT, 6165 I_BRAINLESS, HT_LAND, 12, DEFAULT_ENERGY, 6166 MONUSE_NOTHING, SIZE_SMALL, MON_SHAPE_ORB, 6167 {TILEP_MONS_LURKING_HORROR}, TILE_ERROR 6168 }, 6169 6170 { 6171 MONS_ORB_OF_FIRE, '*', RED, "orb of fire", 6172 M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 6173 mrd(MR_RES_FIRE | MR_RES_ELEC, 3) | MR_RES_COLD | MR_VUL_WATER, 6174 13, MONS_ORB_OF_FIRE, MONS_ORB_OF_FIRE, MH_NONLIVING, WILL_INVULN, 6175 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6176 30, 1500, 6177 20, 20, MST_ORB_OF_FIRE, false, S_SILENT, 6178 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 6179 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB, 6180 {TILEP_MONS_ORB_OF_FIRE}, TILE_ERROR 6181 }, 6182 6183 { // not an actual monster, used by a spell 6184 MONS_ORB_OF_DESTRUCTION, '*', WHITE, "orb of destruction", 6185 M_INSUBSTANTIAL | M_NOT_DANGEROUS | M_NO_POLY_TO | M_PROJECTILE | M_FLIES, 6186 mrd(MR_RES_COLD | MR_RES_ELEC | MR_RES_ACID | MR_RES_FIRE, 3) 6187 | MR_RES_DAMNATION | MR_RES_STICKY_FLAME, 6188 0, MONS_ORB_OF_DESTRUCTION, MONS_ORB_OF_DESTRUCTION, 6189 MH_NONLIVING, WILL_INVULN, 6190 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6191 5, 50000, /* unkillable */ 6192 0, 10, MST_NO_SPELLS, false, S_SILENT, 6193 I_BRAINLESS, HT_LAND, 30, DEFAULT_ENERGY, 6194 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB, 6195 {TILEP_MONS_ORB_OF_DESTRUCTION, TVARY_RANDOM}, TILE_ERROR 6196 }, 6197 6198 { // not an actual monster, used by a spell 6199 MONS_FOXFIRE, 'v', LIGHTRED, "foxfire", 6200 M_SEE_INVIS | M_INSUBSTANTIAL | M_NOT_DANGEROUS | M_NO_POLY_TO 6201 | M_CONJURED | M_FLIES, 6202 mrd(MR_RES_FIRE, 3) | MR_RES_STICKY_FLAME, 6203 0, MONS_FOXFIRE, MONS_FOXFIRE, MH_NONLIVING, WILL_INVULN, 6204 { {AT_HIT, AF_PLAIN, 1}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6205 1, 10, /* unkillable */ 6206 0, 10, MST_NO_SPELLS, false, S_SILENT, 6207 I_BRAINLESS, HT_LAND, 50, DEFAULT_ENERGY, 6208 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB, 6209 {TILEP_MONS_FOXFIRE}, TILE_ERROR 6210 }, 6211 6212 { // not an actual monster, used by a spell 6213 MONS_FULMINANT_PRISM, '*', ETC_MAGIC, "fulminant prism", 6214 M_NO_POLY_TO | M_STATIONARY | M_CONJURED | M_NO_EXP_GAIN 6215 | M_FLIES, 6216 MR_RES_FIRE | MR_RES_COLD | MR_RES_ELEC, 6217 0, MONS_FULMINANT_PRISM, MONS_FULMINANT_PRISM, MH_NONLIVING, WILL_INVULN, 6218 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6219 5, 150, 6220 3, 0, MST_NO_SPELLS, false, S_SILENT, 6221 I_BRAINLESS, HT_LAND, 10, DEFAULT_ENERGY, 6222 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB, 6223 {TILEP_MONS_FULMINANT_PRISM, TVARY_RANDOM}, TILE_ERROR 6224 }, 6225 6226 { 6227 MONS_WRETCHED_STAR, '*', MAGENTA, "wretched star", 6228 M_SEE_INVIS | M_INSUBSTANTIAL | M_FLIES, 6229 MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD, 6230 13, MONS_WRETCHED_STAR, MONS_WRETCHED_STAR, MH_NONLIVING, WILL_INVULN, 6231 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6232 10, 700, 6233 10, 10, MST_WRETCHED_STAR, false, S_SILENT, 6234 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(8), 6235 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB, 6236 {TILEP_MONS_WRETCHED_STAR}, TILE_ERROR 6237 }, 6238 6239 { 6240 MONS_BATTLESPHERE, '*', ETC_MAGIC, "battlesphere", 6241 M_SEE_INVIS | M_INSUBSTANTIAL | M_NO_EXP_GAIN | M_NO_POLY_TO 6242 | M_MAINTAIN_RANGE | M_AVATAR | M_FLIES | M_UNBLINDABLE, 6243 mrd(MR_RES_COLD | MR_RES_FIRE, 2) | mrd(MR_RES_ELEC, 3) 6244 | MR_RES_ACID | MR_RES_STICKY_FLAME, 6245 0, MONS_BATTLESPHERE, MONS_BATTLESPHERE, MH_NONLIVING, WILL_INVULN, 6246 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6247 5, 150, 6248 0, 5, MST_NO_SPELLS, false, S_SILENT, 6249 I_BRAINLESS, HT_LAND, 30, DEFAULT_ENERGY, 6250 MONUSE_NOTHING, SIZE_LITTLE, MON_SHAPE_ORB, 6251 {TILEP_MONS_BATTLESPHERE}, TILE_ERROR 6252 }, 6253 6254 // other symbols 6255 { 6256 MONS_DEATH_COB, 'z', YELLOW, "death cob", 6257 M_SPEAKS, 6258 MR_RES_COLD, 6259 10, MONS_DEATH_COB, MONS_DEATH_COB, MH_UNDEAD, 40, 6260 { {AT_HIT, AF_DRAIN_SPEED, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6261 14, 910, 6262 10, 15, MST_NO_SPELLS, false, S_MOAN, 6263 I_HUMAN, HT_LAND, 25, DEFAULT_ENERGY, 6264 MONUSE_OPEN_DOORS, SIZE_TINY, MON_SHAPE_HUMANOID, 6265 {TILEP_MONS_DEATH_COB}, TILE_ERROR 6266 }, 6267 6268 // non-human uniques 6269 // "A"ngels. 6270 { 6271 MONS_MENNAS, 'A', LIGHTCYAN, "Mennas", 6272 M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_UNIQUE | M_MALE | M_FLIES, 6273 MR_RES_POISON | MR_RES_ELEC, 6274 18, MONS_ANGEL, MONS_ANGEL, MH_HOLY, 160, 6275 { {AT_HIT, AF_PLAIN, 30}, {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, 6276 AT_NO_ATK }, 6277 19, 1520, 6278 15, 28, MST_MENNAS, false, S_SILENT, 6279 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 6280 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 6281 MON_SHAPE_HUMANOID_WINGED, 6282 {TILEP_MONS_MENNAS}, TILE_ERROR 6283 }, 6284 6285 // "c"entaurs. 6286 { 6287 MONS_NESSOS, 'c', MAGENTA, "Nessos", 6288 M_UNIQUE | M_WARM_BLOOD | M_ARCHER | M_SPEAKS | M_GENDER_NEUTRAL, 6289 MR_NO_FLAGS, 6290 18, MONS_CENTAUR, MONS_CENTAUR, MH_NATURAL, 20, 6291 { {AT_HIT, AF_PLAIN, 13}, {AT_KICK, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK }, 6292 9, 720, 6293 4, 8, MST_NESSOS, true, S_SHOUT, 6294 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 6295 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_CENTAUR, 6296 {TILEP_MONS_NESSOS}, TILE_ERROR 6297 }, 6298 6299 // "C"yclopes and giants. 6300 { 6301 MONS_CHUCK, 'C', WHITE, "Chuck", 6302 M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_MALE, 6303 MR_NO_FLAGS, 6304 10, MONS_GIANT, MONS_STONE_GIANT, MH_NATURAL, 100, 6305 { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6306 18, 1170, 6307 14, 2, MST_NO_SPELLS, true, S_SHOUT, 6308 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6309 MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID, 6310 {TILEP_MONS_CHUCK}, TILE_ERROR 6311 }, 6312 6313 { 6314 MONS_POLYPHEMUS, 'C', GREEN, "Polyphemus", 6315 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE, 6316 MR_NO_FLAGS, 6317 10, MONS_GIANT, MONS_CYCLOPS, MH_NATURAL, 60, 6318 { {AT_HIT, AF_PLAIN, 45}, {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK }, 6319 16, 1520, 6320 10, 3, MST_POLYPHEMUS, true, S_SHOUT, 6321 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6322 MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, MON_SHAPE_HUMANOID, 6323 {TILEP_MONS_POLYPHEMUS}, TILE_ERROR 6324 }, 6325 6326 { 6327 MONS_ANTAEUS, 'C', LIGHTCYAN, "Antaeus", 6328 M_UNIQUE | M_WARM_BLOOD | M_FIGHTER | M_SEE_INVIS | M_MALE 6329 | M_SPEAKS | M_TALL_TILE, 6330 mrd(MR_RES_ELEC, 3) | mrd(MR_RES_COLD, 2) | MR_VUL_FIRE, 6331 10, MONS_GIANT, MONS_TITAN, MH_DEMONIC, WILL_INVULN, 6332 { {AT_HIT, AF_COLD, 75}, {AT_HIT, AF_COLD, 30}, AT_NO_ATK, AT_NO_ATK }, 6333 22, 6820, 6334 28, 4, MST_ANTAEUS, false, S_DEMON_TAUNT, 6335 I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 6336 MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID, 6337 {TILEP_MONS_ANTAEUS}, TILE_ERROR 6338 }, 6339 6340 // "d"raconians. 6341 { 6342 MONS_TIAMAT, 'd', COLOUR_UNDEF, "Tiamat", 6343 M_UNIQUE | M_SEE_INVIS | M_COLD_BLOOD | M_SPEAKS | M_FEMALE | M_FLIES, 6344 MR_RES_POISON, 6345 10, MONS_DRACONIAN, MONS_DRACONIAN, MH_NATURAL, 140, 6346 { {AT_HIT, AF_PLAIN, 60}, {AT_TAIL_SLAP, AF_PLAIN, 45}, AT_NO_ATK, 6347 AT_NO_ATK }, 6348 22, 3850, 6349 // Gets her breath in 6350 30, 10, MST_NO_SPELLS, false, S_ROAR, 6351 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6352 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, 6353 MON_SHAPE_HUMANOID_WINGED_TAILED, 6354 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 6355 }, 6356 6357 { 6358 MONS_BAI_SUZHEN, 'd', LIGHTBLUE, "Bai Suzhen", 6359 M_UNIQUE | M_SEE_INVIS | M_COLD_BLOOD | M_SPEAKS | M_FEMALE, 6360 mrd(MR_RES_ELEC, 3) | MR_RES_COLD | MR_RES_POISON, 6361 16, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, 100, 6362 { {AT_HIT, AF_PLAIN, 24}, {AT_TAIL_SLAP, AF_PLAIN, 14}, AT_NO_ATK, 6363 AT_NO_ATK }, 6364 20, 1850, 6365 14, 8, MST_BAI_SUZHEN, false, S_ROAR, 6366 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6367 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID_TAILED, 6368 {TILEP_MONS_BAI_SUZHEN}, TILE_ERROR 6369 }, 6370 6371 // "D"ragons and hydras. 6372 { 6373 MONS_XTAHUA, 'D', RED, "Xtahua", 6374 M_UNIQUE | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_GENDER_NEUTRAL 6375 | M_CRASH_DOORS | M_FLIES, 6376 MR_RES_POISON | mrd(MR_RES_FIRE, 2) | MR_VUL_COLD, 6377 18, MONS_DRAGON, MONS_FIRE_DRAGON, MH_NATURAL, 180, 6378 { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 17}, 6379 {AT_TRAMPLE, AF_TRAMPLE, 20}, AT_NO_ATK }, 6380 20, 1330, 6381 15, 7, MST_XTAHUA, true, S_LOUD_ROAR, 6382 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6383 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 6384 {TILEP_MONS_XTAHUA}, TILE_ERROR 6385 }, 6386 6387 { 6388 MONS_LERNAEAN_HYDRA, 'D', YELLOW, "the Lernaean hydra", 6389 M_UNIQUE | M_COLD_BLOOD | M_FAST_REGEN | M_TALL_TILE, 6390 MR_RES_POISON, 6391 11, MONS_HYDRA, MONS_HYDRA, MH_NATURAL, 120, 6392 { {AT_BITE, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6393 30, 1500, 6394 0, 5, MST_NO_SPELLS, true, S_LOUD_ROAR, 6395 I_ANIMAL, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 6396 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED, 6397 {TILEP_MONS_PROGRAM_BUG}, TILE_ERROR 6398 }, 6399 6400 { 6401 MONS_SERPENT_OF_HELL, 'D', ETC_FIRE, "the Serpent of Hell", 6402 M_SEE_INVIS | M_UNIQUE | M_CRASH_DOORS | M_FLIES | M_TALL_TILE, 6403 MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3), 6404 21, MONS_DRAGON, MONS_SERPENT_OF_HELL, MH_DEMONIC, 180, 6405 { {AT_BITE, AF_FIRE, 35}, {AT_CLAW, AF_PLAIN, 15}, 6406 {AT_TRAMPLE, AF_TRAMPLE, 15}, AT_NO_ATK }, 6407 17, 2805, 6408 16, 12, MST_SERPENT_OF_HELL_GEH, false, S_LOUD_ROAR, 6409 I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY, 6410 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 6411 {TILEP_MONS_SERPENT_OF_HELL_GEHENNA}, TILE_ERROR 6412 }, 6413 6414 { 6415 MONS_SERPENT_OF_HELL_COCYTUS, 'D', ETC_ICE, "the Serpent of Hell", 6416 M_SEE_INVIS | M_UNIQUE | M_CRASH_DOORS | M_FLIES | M_TALL_TILE, 6417 MR_RES_POISON | mrd(MR_RES_COLD, 3), 6418 21, MONS_DRAGON, MONS_SERPENT_OF_HELL, MH_DEMONIC, 180, 6419 { {AT_BITE, AF_COLD, 35}, {AT_CLAW, AF_PLAIN, 15}, 6420 {AT_TRAMPLE, AF_TRAMPLE, 15}, AT_NO_ATK }, 6421 17, 2805, 6422 20, 12, MST_SERPENT_OF_HELL_COC, false, S_LOUD_ROAR, 6423 I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY, 6424 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 6425 {TILEP_MONS_SERPENT_OF_HELL_COCYTUS}, TILE_ERROR 6426 }, 6427 6428 { 6429 MONS_SERPENT_OF_HELL_DIS, 'D', ETC_IRON, "the Serpent of Hell", 6430 M_SEE_INVIS | M_UNIQUE | M_CRASH_DOORS | M_TALL_TILE, 6431 MR_RES_POISON | MR_RES_FIRE | MR_RES_COLD, 6432 16, MONS_DRAGON, MONS_SERPENT_OF_HELL, MH_DEMONIC, 180, 6433 { {AT_BITE, AF_REACH, 35}, {AT_CLAW, AF_PLAIN, 25}, 6434 {AT_TRAMPLE, AF_TRAMPLE, 25}, {AT_TAIL_SLAP, AF_PLAIN, 15} }, 6435 17, 3230, 6436 30, 8, MST_SERPENT_OF_HELL_DIS, false, S_LOUD_ROAR, 6437 I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY, 6438 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 6439 {TILEP_MONS_SERPENT_OF_HELL_DIS}, TILE_ERROR 6440 }, 6441 6442 { 6443 MONS_SERPENT_OF_HELL_TARTARUS, 'D', ETC_DEATH, "the Serpent of Hell", 6444 M_SEE_INVIS | M_UNIQUE | M_CRASH_DOORS | M_FLIES | M_TALL_TILE, 6445 MR_RES_POISON | mrd(MR_RES_COLD, 2), 6446 18, MONS_DRAGON, MONS_SERPENT_OF_HELL, MH_DEMONIC, 180, 6447 { {AT_BITE, AF_DRAIN, 35}, {AT_CLAW, AF_PLAIN, 15}, 6448 {AT_TRAMPLE, AF_TRAMPLE, 15}, AT_NO_ATK }, 6449 17, 3230, 6450 16, 12, MST_SERPENT_OF_HELL_TAR, false, S_LOUD_ROAR, 6451 I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY, 6452 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED_WINGED, 6453 {TILEP_MONS_SERPENT_OF_HELL_TARTARUS}, TILE_ERROR 6454 }, 6455 6456 { 6457 MONS_BAI_SUZHEN_DRAGON, 'D', ETC_ELECTRICITY, "Bai Suzhen", 6458 M_UNIQUE | M_SEE_INVIS | M_COLD_BLOOD | M_SPEAKS | M_FEMALE | M_FLIES 6459 | M_THUNDER_RING, 6460 mrd(MR_RES_ELEC, 3) | MR_RES_COLD | MR_RES_POISON, 6461 18, MONS_DRAGON, MONS_STORM_DRAGON, MH_NATURAL, 100, 6462 { {AT_BITE, AF_PLAIN, 30}, {AT_CLAW, AF_PLAIN, 16}, 6463 {AT_TRAMPLE, AF_TRAMPLE, 16}, AT_NO_ATK }, 6464 20, 1850, 6465 22, 4, MST_BAI_SUZHEN_DRAGON, false, S_LOUD_ROAR, 6466 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6467 MONUSE_OPEN_DOORS, SIZE_GIANT, MON_SHAPE_SNAKE, 6468 {TILEP_MONS_BAI_SUZHEN_DRAGON}, TILE_ERROR 6469 }, 6470 6471 // "e"lves 6472 { 6473 MONS_DUVESSA, 'e', BLUE, "Duvessa", 6474 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 6475 MR_NO_FLAGS, 6476 15, MONS_ELF, MONS_ELF, MH_NATURAL, 40, 6477 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6478 4, 360, 6479 2, 9, MST_NO_SPELLS, true, S_SHOUT, 6480 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6481 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6482 {TILEP_MONS_DUVESSA}, TILE_ERROR 6483 }, 6484 6485 { 6486 MONS_DOWAN, 'e', RED, "Dowan", 6487 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE, 6488 MR_NO_FLAGS, 6489 15, MONS_ELF, MONS_ELF, MH_NATURAL, 20, 6490 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6491 3, 240, 6492 0, 13, MST_DOWAN, true, S_SHOUT, 6493 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6494 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6495 {TILEP_MONS_DOWAN}, TILE_ERROR 6496 }, 6497 6498 { 6499 MONS_FANNAR, 'e', LIGHTBLUE, "Fannar", 6500 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_GENDER_NEUTRAL, 6501 MR_NO_FLAGS, 6502 16, MONS_ELF, MONS_ELF, MH_NATURAL, 80, 6503 { {AT_HIT, AF_PLAIN, 8}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6504 10, 800, 6505 4, 15, MST_FANNAR, true, S_SHOUT, 6506 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6507 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6508 {TILEP_MONS_FANNAR}, TILE_ERROR 6509 }, 6510 6511 // "F"rogs. 6512 { 6513 MONS_PRINCE_RIBBIT, 'F', LIGHTCYAN, "Prince Ribbit", 6514 M_UNIQUE | M_COLD_BLOOD | M_SPEAKS | M_MALE, 6515 MR_NO_FLAGS, 6516 12, MONS_FROG, MONS_HUMAN, MH_NATURAL, 40, 6517 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6518 6, 390, 6519 0, 16, MST_PRINCE_RIBBIT, true, S_CROAK, 6520 I_HUMAN, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6), 6521 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_QUADRUPED_TAILLESS, 6522 {TILEP_MONS_PRINCE_RIBBIT}, TILE_ERROR 6523 }, 6524 6525 // "g"oblins, gnolls, and dwarves. 6526 { 6527 MONS_IJYB, 'g', BLUE, "Ijyb", 6528 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE | M_ALWAYS_WAND, 6529 MR_NO_FLAGS, 6530 8, MONS_GOBLIN, MONS_GOBLIN, MH_NATURAL, 10, 6531 { {AT_HIT, AF_PLAIN, 4}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6532 3, 240, 6533 2, 12, MST_NO_SPELLS, true, S_SHOUT, 6534 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6535 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, 6536 {TILEP_MONS_IJYB}, TILE_ERROR 6537 }, 6538 6539 { 6540 MONS_ROBIN, 'g', LIGHTCYAN, "Robin", 6541 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_GENDER_NEUTRAL, 6542 MR_NO_FLAGS, 6543 10, MONS_GOBLIN, MONS_HOBGOBLIN, MH_NATURAL, 10, 6544 { {AT_HIT, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6545 2, 160, 6546 1, 8, MST_ROBIN, true, S_SHOUT, 6547 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6548 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6549 {TILEP_MONS_ROBIN}, TILE_ERROR 6550 }, 6551 6552 { 6553 MONS_GRUM, 'g', LIGHTRED, "Grum", 6554 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE, 6555 MR_NO_FLAGS, 6556 19, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 10, 6557 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6558 4, 400, 6559 2, 9, MST_NO_SPELLS, true, S_GROWL, 6560 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6561 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6562 {TILEP_MONS_GRUM}, TILE_ERROR 6563 }, 6564 6565 { 6566 MONS_CRAZY_YIUF, 'g', COLOUR_UNDEF, "Crazy Yiuf", 6567 M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_MALE, 6568 MR_NO_FLAGS, 6569 10, MONS_GNOLL, MONS_GNOLL, MH_NATURAL, 10, 6570 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6571 3, 195, 6572 2, 9, MST_NO_SPELLS, true, S_SHOUT, 6573 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6574 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6575 {TILEP_MONS_CRAZY_YIUF}, TILE_ERROR 6576 }, 6577 6578 { 6579 MONS_JORGRUN, 'g', LIGHTMAGENTA, "Jorgrun", 6580 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE, 6581 MR_NO_FLAGS, 6582 18, MONS_DWARF, MONS_DWARF, MH_NATURAL, 120, 6583 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6584 15, 1200, 6585 2, 15, MST_JORGRUN, true, S_SHOUT, 6586 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6587 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6588 {TILEP_MONS_JORGRUN}, TILE_ERROR 6589 }, 6590 6591 // "h" - carnivorous quadrupeds 6592 { 6593 MONS_NATASHA, 'h', MAGENTA, "Natasha", 6594 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_FEMALE, 6595 MR_NO_FLAGS, 6596 10, MONS_FELID, MONS_FELID, MH_NATURAL | MH_EVIL, 20, 6597 { {AT_CLAW, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6598 3, 150, 6599 2, 12, MST_NATASHA, true, S_HISS, 6600 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(8), 6601 MONUSE_STARTING_EQUIPMENT, SIZE_LITTLE, MON_SHAPE_QUADRUPED, 6602 {TILEP_MONS_NATASHA}, TILE_ERROR 6603 }, 6604 6605 // "H"ybrids. 6606 { 6607 MONS_ARACHNE, 'H', LIGHTCYAN, "Arachne", 6608 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FEMALE, 6609 MR_NO_FLAGS, // no rPois- (breathes through the human half) 6610 10, MONS_SPIDER, MONS_ARACHNE, MH_NATURAL, 60, 6611 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6612 17, 2040, 6613 3, 10, MST_ARACHNE, true, S_SHOUT, 6614 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 6615 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_ARACHNID, 6616 {TILEP_MONS_ARACHNE}, TILE_CORPSE_ARACHNE 6617 }, 6618 6619 { 6620 MONS_ASTERION, 'H', LIGHTBLUE, "Asterion", 6621 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_UNIQUE | M_MALE, 6622 MR_NO_FLAGS, 6623 15, MONS_MINOTAUR, MONS_MINOTAUR, MH_NATURAL | MH_EVIL, 100, 6624 { {AT_HIT, AF_PLAIN, 35}, {AT_GORE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK }, 6625 15, 1275, 6626 4, 4, MST_ASTERION, true, S_BELLOW, 6627 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6628 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6629 {TILEP_MONS_ASTERION}, TILE_ERROR 6630 }, 6631 6632 // Spr"i"ggans. 6633 { 6634 MONS_AGNES, 'i', LIGHTCYAN, "Agnes", 6635 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_FEMALE, 6636 MR_NO_FLAGS, 6637 20, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 100, 6638 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6639 11, 990, 6640 0, 20, MST_NO_SPELLS, true, S_SHOUT, 6641 I_HUMAN, HT_LAND, 18, DEFAULT_ENERGY, 6642 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID, 6643 {TILEP_MONS_AGNES}, TILE_ERROR 6644 }, 6645 6646 { 6647 MONS_THE_ENCHANTRESS, 'i', LIGHTMAGENTA, "the Enchantress", 6648 M_WARM_BLOOD | M_SPEAKS | M_SEE_INVIS | M_UNIQUE | M_FEMALE, 6649 MR_NO_FLAGS, 6650 35, MONS_SPRIGGAN, MONS_SPRIGGAN, MH_NATURAL, 160, 6651 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6652 15, 975, 6653 1, 30, MST_THE_ENCHANTRESS, true, S_SHOUT, 6654 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(6), 6655 MONUSE_WEAPONS_ARMOUR, SIZE_LITTLE, MON_SHAPE_HUMANOID, 6656 {TILEP_MONS_THE_ENCHANTRESS}, TILE_ERROR 6657 }, 6658 6659 // "J"ellies. 6660 { 6661 MONS_ROYAL_JELLY, 'J', YELLOW, "the Royal Jelly", 6662 M_SEE_INVIS | M_UNBLINDABLE | M_ACID_SPLASH | M_UNIQUE | M_EAT_DOORS 6663 | M_TALL_TILE, 6664 MR_RES_POISON | mrd(MR_RES_ACID, 3), 6665 20, MONS_JELLY, MONS_JELLY, MH_NATURAL, 180, 6666 { {AT_HIT, AF_ACID, 50}, {AT_HIT, AF_ACID, 30}, AT_NO_ATK, AT_NO_ATK }, 6667 21, 2310, 6668 8, 4, MST_NO_SPELLS, false, S_SILENT, 6669 I_BRAINLESS, HT_LAND, 14, DEFAULT_ENERGY, 6670 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_BLOB, 6671 {TILEP_MONS_ROYAL_JELLY}, TILE_ERROR 6672 }, 6673 6674 { 6675 MONS_DISSOLUTION, 'J', LIGHTMAGENTA, "Dissolution", 6676 M_UNIQUE | M_SEE_INVIS | M_UNBLINDABLE | M_ACID_SPLASH | M_BURROWS 6677 | M_SPEAKS | M_FAST_REGEN | M_GENDER_NEUTRAL | M_EAT_DOORS, 6678 MR_RES_POISON | mrd(MR_RES_ACID, 3), 6679 60, MONS_JELLY, MONS_JELLY, MH_NATURAL, 120, 6680 { {AT_HIT, AF_ACID, 50}, {AT_HIT, AF_ACID, 30}, AT_NO_ATK, AT_NO_ATK }, 6681 16, 1760, 6682 10, 1, MST_DISSOLUTION, false, S_SILENT, 6683 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6684 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_BLOB, 6685 {TILEP_MONS_DISSOLUTION}, TILE_ERROR 6686 }, 6687 6688 // "K"obolds. 6689 { 6690 MONS_SONJA, 'K', RED, "Sonja", 6691 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 6692 MR_NO_FLAGS, 6693 40, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, 10, 6694 { {AT_HIT, AF_PLAIN, 9}, {AT_HIT, AF_PLAIN, 5}, {AT_HIT, AF_PLAIN, 5}, 6695 AT_NO_ATK }, 6696 6, 300, 6697 2, 24, MST_SONJA, true, S_SHOUT, 6698 I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY, 6699 MONUSE_WEAPONS_ARMOUR, SIZE_SMALL, MON_SHAPE_HUMANOID, 6700 {TILEP_MONS_SONJA}, TILE_ERROR 6701 }, 6702 6703 { 6704 // XP modifier is very high to compensate for 4 created-friendly humans 6705 MONS_PIKEL, 'K', BLUE, "Pikel", 6706 M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_MALE, 6707 MR_NO_FLAGS, 6708 32, MONS_KOBOLD, MONS_KOBOLD, MH_NATURAL, 20, 6709 { {AT_HIT, AF_PLAIN, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6710 6, 390, 6711 4, 12, MST_NO_SPELLS, true, S_SHOUT, 6712 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6713 MONUSE_STARTING_EQUIPMENT, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6714 {TILEP_MONS_PIKEL}, TILE_ERROR 6715 }, 6716 6717 // "L"iches. 6718 { 6719 // May be re-spawned after his death. 6720 MONS_BORIS, 'L', RED, "Boris", 6721 M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_MALE, 6722 mrd(MR_RES_COLD, 2) | MR_RES_ELEC, 6723 15, MONS_LICH, MONS_LICH, MH_UNDEAD, WILL_INVULN, 6724 { {AT_HIT, AF_PLAIN, 25}, {AT_TOUCH, AF_DRAIN, 15}, AT_NO_ATK, 6725 AT_NO_ATK }, 6726 22, 1540, 6727 12, 10, MST_BORIS, false, S_SHOUT, 6728 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6729 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6730 {TILEP_MONS_BORIS}, TILE_ERROR 6731 }, 6732 6733 // "M"ummies. 6734 { 6735 MONS_MENKAURE, 'M', MAGENTA, "Menkaure", 6736 M_UNIQUE | M_SPEAKS | M_SEE_INVIS | M_MALE, 6737 MR_VUL_FIRE | MR_RES_COLD, 6738 48, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 20, 6739 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6740 3, 240, 6741 3, 6, MST_MENKAURE, false, S_SHOUT, 6742 I_HUMAN, HT_LAND, 8, DEFAULT_ENERGY, 6743 MONUSE_OPEN_DOORS, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6744 {TILEP_MONS_MENKAURE}, TILE_ERROR 6745 }, 6746 6747 { 6748 MONS_KHUFU, 'M', LIGHTRED, "Khufu", 6749 M_SEE_INVIS | M_SPEAKS | M_UNIQUE | M_MALE, 6750 MR_RES_COLD | MR_RES_ELEC, 6751 20, MONS_MUMMY, MONS_MUMMY, MH_UNDEAD, 160, 6752 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6753 18, 2430, 6754 10, 6, MST_KHUFU, false, S_SILENT, 6755 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6756 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6757 {TILEP_MONS_KHUFU}, TILE_ERROR 6758 }, 6759 6760 // "m"erfolk. 6761 { 6762 MONS_ILSUIW, 'm', LIGHTGREEN, "Ilsuiw", 6763 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 6764 MR_NO_FLAGS, 6765 10, MONS_MERFOLK, MONS_MERFOLK, MH_NATURAL, 140, 6766 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6767 16, 1520, 6768 5, 18, MST_ILSUIW, true, S_SHOUT, 6769 I_HUMAN, HT_AMPHIBIOUS, 10, SWIM_ENERGY(6), 6770 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6771 {TILEP_MONS_ILSUIW, TVARY_WATER}, TILE_ERROR 6772 }, 6773 6774 // "N"agas. 6775 { 6776 MONS_VASHNIA, 'N', LIGHTCYAN, "Vashnia", 6777 M_SEE_INVIS | M_WARM_BLOOD | M_FEMALE 6778 | M_ARCHER | M_PREFER_RANGED | M_SPEAKS | M_UNIQUE, 6779 MR_RES_POISON, 6780 27, MONS_NAGA, MONS_NAGA, MH_NATURAL, 120, 6781 { {AT_HIT, AF_PLAIN, 25}, {AT_CONSTRICT, AF_CRUSH, 7}, AT_NO_ATK, AT_NO_ATK }, 6782 16, 1600, 6783 6, 18, MST_VASHNIA, true, S_SHOUT, 6784 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(14), 6785 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_NAGA, 6786 {TILEP_MONS_VASHNIA}, TILE_ERROR 6787 }, 6788 6789 // "O"gres. 6790 { 6791 MONS_EROLCHA, 'O', LIGHTBLUE, "Erolcha", 6792 M_UNIQUE | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 6793 MR_NO_FLAGS, 6794 50, MONS_OGRE, MONS_OGRE, MH_NATURAL, 60, 6795 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6796 6, 540, 6797 3, 7, MST_WIZARD, true, S_SHOUT, 6798 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6799 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 6800 {TILEP_MONS_EROLCHA}, TILE_ERROR 6801 }, 6802 6803 // "o"rcs. 6804 { 6805 MONS_BLORK_THE_ORC, 'o', BROWN, "Blork the orc", 6806 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE, 6807 MR_NO_FLAGS, 6808 15, MONS_ORC, MONS_ORC, MH_NATURAL, 20, 6809 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6810 3, 315, 6811 0, 9, MST_BLORK, true, S_SHOUT, 6812 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6813 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6814 {TILEP_MONS_BLORK_THE_ORC}, TILE_ERROR 6815 }, 6816 6817 { 6818 MONS_URUG, 'o', RED, "Urug", 6819 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 6820 MR_NO_FLAGS, 6821 15, MONS_ORC, MONS_ORC, MH_NATURAL, 40, 6822 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6823 9, 675, 6824 2, 13, MST_NO_SPELLS, true, S_SHOUT, 6825 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6826 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6827 {TILEP_MONS_URUG}, TILE_ERROR 6828 }, 6829 6830 { 6831 MONS_NERGALLE, 'o', WHITE, "Nergalle", 6832 M_UNIQUE | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 6833 MR_NO_FLAGS, 6834 12, MONS_ORC, MONS_ORC, MH_NATURAL | MH_EVIL, 60, 6835 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6836 10, 600, 6837 9, 11, MST_NERGALLE, true, S_SHOUT, 6838 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6839 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6840 {TILEP_MONS_NERGALLE}, TILE_ERROR 6841 }, 6842 6843 { 6844 MONS_SAINT_ROKA, 'o', LIGHTBLUE, "Saint Roka", 6845 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_GENDER_NEUTRAL, 6846 MR_NO_FLAGS, 6847 15, MONS_ORC, MONS_ORC, MH_NATURAL | MH_EVIL, 80, 6848 { {AT_HIT, AF_PLAIN, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6849 18, 1980, 6850 3, 10, MST_SAINT_ROKA, true, S_SHOUT, 6851 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6852 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6853 {TILEP_MONS_SAINT_ROKA}, TILE_ERROR 6854 }, 6855 6856 // Tengu. 6857 { 6858 MONS_SOJOBO, 'Q', LIGHTGREEN, "Sojobo", 6859 M_FIGHTER | M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_FEMALE 6860 | M_FLIES, 6861 MR_NO_FLAGS, 6862 20, MONS_TENGU, MONS_TENGU, MH_NATURAL, 140, 6863 { {AT_HIT, AF_PLAIN, 28}, {AT_PECK, AF_PLAIN, 14}, {AT_CLAW, AF_PLAIN, 14}, 6864 AT_NO_ATK }, 6865 20, 1500, 6866 2, 24, MST_SOJOBO, true, S_SHOUT, 6867 I_HUMAN, HT_LAND, 10, MOVE_ENERGY(9), 6868 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6869 {TILEP_MONS_SOJOBO}, TILE_ERROR 6870 }, 6871 6872 // Rakshasas and demons. 6873 { 6874 MONS_AZRAEL, 'R', LIGHTRED, "Azrael", 6875 M_UNIQUE | M_SPEAKS | M_MALE | M_FLIES, 6876 MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3) | MR_VUL_COLD 6877 | MR_VUL_WATER, 6878 12, MONS_EFREET, MONS_EFREET, MH_DEMONIC, 40, 6879 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6880 11, 880, 6881 10, 5, MST_AZRAEL, false, S_SILENT, 6882 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6883 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 6884 {TILEP_MONS_AZRAEL}, TILE_ERROR 6885 }, 6886 6887 { 6888 MONS_MARA, 'R', LIGHTMAGENTA, "Mara", 6889 M_SEE_INVIS | M_SPEAKS | M_UNIQUE | M_MALE, 6890 MR_RES_POISON | mrd(MR_RES_FIRE, 2), 6891 35, MONS_RAKSHASA, MONS_RAKSHASA, MH_DEMONIC, 140, 6892 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6893 18, 1440, 6894 10, 14, MST_MARA, false, S_SILENT, 6895 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6896 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6897 {TILEP_MONS_MARA}, TILE_ERROR 6898 }, 6899 6900 // "S"nakes and guardian serpents. 6901 { 6902 MONS_AIZUL, 'S', LIGHTMAGENTA, "Aizul", 6903 M_SEE_INVIS | M_WARM_BLOOD | M_SPEAKS | M_UNIQUE | M_FEMALE, 6904 MR_RES_POISON, 6905 10, MONS_GUARDIAN_SERPENT, MONS_GUARDIAN_SERPENT, MH_NATURAL, 120, 6906 { {AT_HIT, AF_PLAIN, 25}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6907 14, 1400, 6908 8, 18, MST_AIZUL, true, S_SHOUT, 6909 I_HUMAN, HT_LAND, 15, DEFAULT_ENERGY, 6910 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_SNAKE, 6911 {TILEP_MONS_AIZUL}, TILE_ERROR 6912 }, 6913 6914 // "T"rolls. 6915 { 6916 // Snorg can go berserk. 6917 MONS_SNORG, 'T', LIGHTGREEN, "Snorg", 6918 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN | M_FEMALE, 6919 MR_NO_FLAGS, 6920 25, MONS_TROLL, MONS_TROLL, MH_NATURAL, 60, 6921 { {AT_BITE, AF_PLAIN, 20}, {AT_CLAW, AF_PLAIN, 15}, 6922 {AT_CLAW, AF_PLAIN, 15}, AT_NO_ATK }, 6923 8, 960, 6924 0, 10, MST_SNORG, true, S_SHOUT, 6925 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6926 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 6927 {TILEP_MONS_SNORG}, TILE_ERROR 6928 }, 6929 6930 { 6931 MONS_PURGY, 'T', GREEN, "Purgy", 6932 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN | M_MALE, 6933 MR_NO_FLAGS, 6934 10, MONS_TROLL, MONS_TROLL, MH_NATURAL, 10, 6935 { {AT_BITE, AF_PLAIN, 9}, {AT_CLAW, AF_PLAIN, 4}, 6936 {AT_CLAW, AF_PLAIN, 4}, AT_NO_ATK }, 6937 5, 350, 6938 1, 12, MST_NO_SPELLS, true, S_SHOUT, 6939 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6940 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 6941 {TILEP_MONS_PURGY}, TILE_ERROR 6942 }, 6943 6944 // Semi-unique in the moon base wizlab 6945 { 6946 MONS_MOON_TROLL, 'T', LIGHTCYAN, "moon troll", 6947 M_WARM_BLOOD | M_SPEAKS | M_FAST_REGEN | M_SEE_INVIS 6948 | M_NO_POLY_TO | M_NO_GEN_DERIVED, 6949 MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON, 6950 10, MONS_TROLL, MONS_MOON_TROLL, MH_NATURAL, 140, 6951 { {AT_BITE, AF_PLAIN, 35}, {AT_CLAW, AF_PLAIN, 25}, 6952 {AT_CLAW, AF_PLAIN, 25}, AT_NO_ATK }, 6953 18, 990, 6954 20, 4, MST_MOON_TROLL, false, S_SHOUT, 6955 I_HUMAN, HT_LAND, 12, DEFAULT_ENERGY, 6956 MONUSE_WEAPONS_ARMOUR, SIZE_BIG, MON_SHAPE_HUMANOID, 6957 {TILEP_MONS_MOON_TROLL}, TILE_ERROR 6958 }, 6959 6960 // "V"ampires. 6961 { 6962 MONS_JORY, 'V', LIGHTRED, "Jory", 6963 M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_MALE 6964 | M_WARM_BLOOD | M_UNIQUE, 6965 MR_RES_COLD, 6966 13, MONS_VAMPIRE, MONS_VAMPIRE, MH_UNDEAD, 160, 6967 { {AT_HIT, AF_PLAIN, 40}, {AT_BITE, AF_VAMPIRIC, 15}, AT_NO_ATK, 6968 AT_NO_ATK }, 6969 18, 1800, 6970 10, 15, MST_JORY, false, S_SHOUT, 6971 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 6972 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 6973 {TILEP_MONS_JORY}, TILE_ERROR 6974 }, 6975 6976 // Snails and other gastropods. 6977 { 6978 MONS_GASTRONOK, 'w', MAGENTA, "Gastronok", 6979 M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_NO_WAND | M_MALE, 6980 MR_NO_FLAGS, 6981 16, MONS_ELEPHANT_SLUG, MONS_ELEPHANT_SLUG, MH_NATURAL, 80, 6982 { {AT_BITE, AF_PLAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 6983 20, 1500, 6984 2, 1, MST_GASTRONOK, true, S_GURGLE, 6985 I_HUMAN, HT_AMPHIBIOUS, 5, DEFAULT_ENERGY, 6986 MONUSE_STARTING_EQUIPMENT, SIZE_BIG, MON_SHAPE_SNAIL, 6987 {TILEP_MONS_GASTRONOK}, TILE_ERROR 6988 }, 6989 6990 // Elephants. 6991 { 6992 MONS_NELLIE, 'Y', LIGHTMAGENTA, "Nellie", 6993 M_WARM_BLOOD | M_UNIQUE | M_SPEAKS | M_FEMALE, 6994 MR_NO_FLAGS, 6995 8, MONS_ELEPHANT, MONS_HELLEPHANT, MH_DEMONIC, 140, 6996 { {AT_TRAMPLE, AF_TRAMPLE, 45}, {AT_BITE, AF_PLAIN, 20}, 6997 {AT_GORE, AF_PLAIN, 15 }, AT_NO_ATK }, 6998 20, 2400, 6999 13, 10, MST_HELLEPHANT, true, S_TRUMPET, 7000 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7001 MONUSE_NOTHING, SIZE_GIANT, MON_SHAPE_QUADRUPED, 7002 {TILEP_MONS_NELLIE}, TILE_ERROR 7003 }, 7004 7005 // Skulls and "z" undead. 7006 { 7007 MONS_MURRAY, 'z', LIGHTRED, "Murray", 7008 M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_MALE, 7009 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC, 7010 15, MONS_CURSE_SKULL, MONS_CURSE_SKULL, MH_UNDEAD, WILL_INVULN, 7011 { {AT_BITE, AF_PLAIN, 20}, {AT_BITE, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK }, 7012 14, 1610, 7013 30, 10, MST_MURRAY, false, S_MOAN, 7014 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7015 MONUSE_NOTHING, SIZE_TINY, MON_SHAPE_MISC, 7016 {TILEP_MONS_MURRAY}, TILE_ERROR 7017 }, 7018 7019 // numbers! 7020 { 7021 MONS_IGNACIO, '1', LIGHTMAGENTA, "Ignacio", 7022 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_MALE, 7023 MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD | MR_RES_POISON, 7024 14, MONS_EXECUTIONER, MONS_EXECUTIONER, MH_DEMONIC, 160, 7025 { {AT_HIT, AF_PLAIN, 20}, {AT_HIT, AF_PLAIN, 10}, {AT_HIT, AF_PLAIN, 10}, 7026 {AT_HIT, AF_PLAIN, 5} }, 7027 18, 2520, 7028 10, 15, MST_IGNACIO, false, S_SHOUT, 7029 I_HUMAN, HT_LAND, 20, DEFAULT_ENERGY, 7030 MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID, 7031 {TILEP_MONS_IGNACIO}, TILE_ERROR 7032 }, 7033 7034 { 7035 MONS_GRINDER, '5', BLUE, "Grinder", 7036 M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_NO_HT_WAND | M_FEMALE, 7037 MR_RES_POISON | mrd(MR_RES_COLD, 2), 7038 11, MONS_SHADOW_IMP, MONS_SHADOW_IMP, MH_DEMONIC, 20, 7039 { {AT_HIT, AF_PAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7040 6, 390, 7041 3, 11, MST_GRINDER, false, S_SHOUT, 7042 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7043 MONUSE_STARTING_EQUIPMENT, SIZE_LITTLE, MON_SHAPE_HUMANOID, 7044 {TILEP_MONS_GRINDER}, TILE_ERROR 7045 }, 7046 7047 { 7048 // Roxanne obviously can't use items, but we want to equip her with 7049 // a spellbook, so MONUSE_STARTING_EQUIPMENT is necessary. 7050 MONS_ROXANNE, '8', BLUE, "Roxanne", 7051 M_UNIQUE | M_STATIONARY | M_SPEAKS | M_NO_WAND | M_FEMALE, 7052 mrd(MR_RES_FIRE | MR_RES_COLD, 2) | MR_RES_ELEC 7053 | MR_RES_PETRIFY, 7054 10, MONS_STATUE, MONS_STATUE, MH_NONLIVING, WILL_INVULN, 7055 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7056 14, 1820, 7057 20, 0, MST_ROXANNE, false, S_SILENT, 7058 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7059 MONUSE_STARTING_EQUIPMENT, SIZE_LARGE, MON_SHAPE_HUMANOID, 7060 {TILEP_MONS_ROXANNE}, TILE_ERROR 7061 }, 7062 7063 // human uniques 7064 { 7065 MONS_TERENCE, '@', LIGHTCYAN, "Terence", 7066 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE, 7067 MR_NO_FLAGS, 7068 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 10, 7069 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7070 2, 200, 7071 0, 10, MST_NO_SPELLS, true, S_SHOUT, 7072 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7073 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7074 {TILEP_MONS_TERENCE}, TILE_ERROR 7075 }, 7076 7077 { 7078 MONS_JESSICA, '@', LIGHTGREY, "Jessica", 7079 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 7080 MR_NO_FLAGS, 7081 125, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 10, 7082 { {AT_HIT, AF_PLAIN, 5}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7083 1, 95, 7084 0, 10, MST_JESSICA, true, S_SHOUT, 7085 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7086 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7087 {TILEP_MONS_JESSICA}, TILE_ERROR 7088 }, 7089 7090 { 7091 MONS_SIGMUND, '@', YELLOW, "Sigmund", 7092 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE, 7093 MR_NO_FLAGS, 7094 50, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 10, 7095 { {AT_HIT, AF_PLAIN, 2}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7096 3, 300, 7097 0, 11, MST_ORC_WIZARD, true, S_SHOUT, 7098 I_HUMAN, HT_LAND, 10, ATTACK_ENERGY(15), 7099 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7100 {TILEP_MONS_SIGMUND}, TILE_ERROR 7101 }, 7102 7103 { 7104 MONS_EDMUND, '@', RED, "Edmund", 7105 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_MALE, 7106 MR_NO_FLAGS, 7107 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 20, 7108 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7109 4, 440, 7110 0, 10, MST_NO_SPELLS, true, S_SHOUT, 7111 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7112 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7113 {TILEP_MONS_EDMUND}, TILE_ERROR 7114 }, 7115 7116 { 7117 MONS_PSYCHE, '@', LIGHTMAGENTA, "Psyche", 7118 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 7119 MR_NO_FLAGS, 7120 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60, 7121 { {AT_HIT, AF_PLAIN, 7}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7122 5, 400, 7123 0, 12, MST_PSYCHE, true, S_SHOUT, 7124 I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY, 7125 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7126 {TILEP_MONS_PSYCHE}, TILE_ERROR 7127 }, 7128 7129 { 7130 MONS_DONALD, '@', BLUE, "Donald", 7131 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_SPEAKS | M_MALE, 7132 MR_NO_FLAGS, 7133 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100, 7134 { {AT_HIT, AF_PLAIN, 26}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7135 14, 840, 7136 3, 10, MST_DONALD, true, S_SHOUT, 7137 I_HUMAN, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 7138 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7139 {TILEP_MONS_DONALD}, TILE_ERROR 7140 }, 7141 7142 { 7143 MONS_JOSEPH, '@', CYAN, "Joseph", 7144 M_UNIQUE | M_FIGHTER | M_ARCHER | M_WARM_BLOOD | M_SPEAKS | M_MALE, 7145 MR_NO_FLAGS, 7146 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 40, 7147 { {AT_HIT, AF_PLAIN, 15}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7148 6, 660, 7149 0, 10, MST_NO_SPELLS, true, S_SHOUT, 7150 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7151 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7152 {TILEP_MONS_JOSEPH}, TILE_ERROR 7153 }, 7154 7155 { 7156 MONS_ERICA, '@', MAGENTA, "Erica", 7157 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 7158 MR_NO_FLAGS, 7159 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60, 7160 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7161 9, 630, 7162 0, 11, MST_ERICA, true, S_SHOUT, 7163 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7164 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7165 {TILEP_MONS_ERICA}, TILE_ERROR 7166 }, 7167 7168 { 7169 MONS_JOSEPHINE, '@', WHITE, "Josephine", 7170 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 7171 mrd(MR_RES_NEG, 3), 7172 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 60, 7173 { {AT_HIT, AF_PLAIN, 11}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7174 10, 700, 7175 0, 10, MST_JOSEPHINE, true, S_SHOUT, 7176 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7177 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7178 {TILEP_MONS_JOSEPHINE}, TILE_ERROR 7179 }, 7180 7181 { 7182 MONS_HAROLD, '@', LIGHTGREEN, "Harold", 7183 M_UNIQUE | M_FIGHTER | M_WARM_BLOOD | M_MALE | M_SPEAKS, 7184 MR_NO_FLAGS, 7185 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 60, 7186 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7187 9, 765, 7188 0, 8, MST_HAROLD, true, S_SHOUT, 7189 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7190 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7191 {TILEP_MONS_HAROLD}, TILE_ERROR 7192 }, 7193 7194 { 7195 MONS_LOUISE, '@', LIGHTMAGENTA, "Louise", 7196 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 7197 MR_NO_FLAGS, 7198 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 80, 7199 { {AT_HIT, AF_PLAIN, 17}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7200 13, 1040, 7201 0, 10, MST_LOUISE, true, S_SHOUT, 7202 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7203 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7204 {TILEP_MONS_LOUISE}, TILE_ERROR 7205 }, 7206 7207 { 7208 MONS_FRANCES, '@', YELLOW, "Frances", 7209 M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_FEMALE | M_SPEAKS, 7210 MR_NO_FLAGS, 7211 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 100, 7212 { {AT_HIT, AF_PLAIN, 29}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7213 14, 1330, 7214 0, 10, MST_FRANCES, true, S_SHOUT, 7215 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7216 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7217 {TILEP_MONS_FRANCES}, TILE_ERROR 7218 }, 7219 7220 { 7221 MONS_RUPERT, '@', LIGHTRED, "Rupert", 7222 M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_MALE, 7223 MR_NO_FLAGS, 7224 18, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100, 7225 { {AT_HIT, AF_PLAIN, 21}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7226 16, 1200, 7227 0, 10, MST_RUPERT, true, S_SHOUT, 7228 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7229 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7230 {TILEP_MONS_RUPERT}, TILE_ERROR 7231 }, 7232 7233 { 7234 MONS_KIRKE, '@', LIGHTBLUE, "Kirke", 7235 M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_FEMALE, 7236 MR_NO_FLAGS, 7237 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 100, 7238 { {AT_HIT, AF_PLAIN, 18}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7239 16, 1120, 7240 0, 10, MST_KIRKE, true, S_SHOUT, 7241 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7242 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7243 {TILEP_MONS_KIRKE}, TILE_ERROR 7244 }, 7245 7246 { 7247 MONS_FREDERICK, '@', GREEN, "Frederick", 7248 M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_MALE, 7249 MR_NO_FLAGS, 7250 15, MONS_DEMIGOD, MONS_DEMIGOD, MH_NATURAL, 140, 7251 { {AT_HIT, AF_PLAIN, 27}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7252 21, 1575, 7253 0, 10, MST_FREDERICK, true, S_SHOUT, 7254 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7255 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7256 {TILEP_MONS_FREDERICK}, TILE_ERROR 7257 }, 7258 7259 { 7260 MONS_MAGGIE, '@', LIGHTRED, "Maggie", 7261 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_FEMALE, 7262 MR_NO_FLAGS, 7263 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 20, 7264 { {AT_HIT, AF_PLAIN, 10}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7265 5, 600, 7266 0, 10, MST_MAGGIE, true, S_SHOUT, 7267 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7268 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7269 {TILEP_MONS_MAGGIE}, TILE_ERROR 7270 }, 7271 7272 { 7273 MONS_MARGERY, '@', LIGHTRED, "Margery", 7274 M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_SPEAKS | M_FEMALE, 7275 MR_NO_FLAGS, 7276 15, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 140, 7277 { {AT_HIT, AF_PLAIN, 30}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7278 22, 1650, 7279 0, 10, MST_MARGERY, true, S_SHOUT, 7280 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7281 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7282 {TILEP_MONS_MARGERY}, TILE_ERROR 7283 }, 7284 7285 { 7286 MONS_EUSTACHIO, '@', BLUE, "Eustachio", 7287 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE, 7288 MR_NO_FLAGS, 7289 20, MONS_HUMAN, MONS_HUMAN, MH_NATURAL | MH_EVIL, 20, 7290 { {AT_HIT, AF_PLAIN, 6}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7291 4, 400, 7292 0, 13, MST_EUSTACHIO, true, S_SHOUT, 7293 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7294 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7295 {TILEP_MONS_EUSTACHIO}, TILE_ERROR 7296 }, 7297 7298 { 7299 MONS_MAURICE, '@', GREEN, "Maurice", 7300 M_UNIQUE | M_WARM_BLOOD | M_SPEAKS | M_MALE | M_ALWAYS_WAND, 7301 MR_NO_FLAGS, 7302 24, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 20, 7303 { {AT_HIT, AF_STEAL, 9}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7304 5, 600, 7305 1, 13, MST_MAURICE, true, S_SHOUT, 7306 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7307 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7308 {TILEP_MONS_MAURICE}, TILE_ERROR 7309 }, 7310 7311 { 7312 MONS_NIKOLA, '@', LIGHTCYAN, "Nikola", 7313 M_UNIQUE | M_WARM_BLOOD | M_SEE_INVIS | M_MALE | M_SPEAKS, 7314 MR_NO_FLAGS, // Xom would hate MR_RES_ELEC here. 7315 13, MONS_HUMAN, MONS_HUMAN, MH_NATURAL, 120, 7316 { {AT_HIT, AF_PLAIN, 20}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7317 18, 1890, 7318 1, 9, MST_NIKOLA, true, S_SHOUT, 7319 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7320 MONUSE_WEAPONS_ARMOUR, SIZE_MEDIUM, MON_SHAPE_HUMANOID, 7321 {TILEP_MONS_NIKOLA}, TILE_ERROR 7322 }, 7323 7324 // unique major demons ('&') 7325 { 7326 MONS_MNOLEG, '&', LIGHTGREEN, "Mnoleg", 7327 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_TALL_TILE 7328 | M_GENDER_NEUTRAL, 7329 MR_RES_ELEC | MR_RES_POISON | MR_RES_FIRE, 7330 15, MONS_PANDEMONIUM_LORD, MONS_MNOLEG, MH_DEMONIC, WILL_INVULN, 7331 { {AT_CLAW, AF_PLAIN, 40}, {AT_TENTACLE_SLAP, AF_MUTATE, 35}, 7332 {AT_GORE, AF_PLAIN, 30}, {AT_KICK, AF_BLINK, 23} }, 7333 17, 3485, 7334 10, 25, MST_MNOLEG, false, S_BUZZ, 7335 I_HUMAN, HT_LAND, 13, DEFAULT_ENERGY, 7336 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 7337 {TILEP_MONS_MNOLEG}, TILE_ERROR 7338 }, 7339 7340 { 7341 MONS_LOM_LOBON, '&', LIGHTBLUE, "Lom Lobon", 7342 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES | M_TALL_TILE 7343 | M_GENDER_NEUTRAL, 7344 MR_RES_POISON | MR_RES_FIRE | mrd(MR_RES_COLD | MR_RES_ELEC, 3), 7345 15, MONS_PANDEMONIUM_LORD, MONS_LOM_LOBON, MH_DEMONIC, WILL_INVULN, 7346 { {AT_HIT, AF_ANTIMAGIC, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7347 19, 3895, 7348 10, 20, MST_LOM_LOBON, false, S_SCREAM, 7349 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7350 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 7351 {TILEP_MONS_LOM_LOBON}, TILE_ERROR 7352 }, 7353 7354 { 7355 MONS_CEREBOV, '&', RED, "Cerebov", 7356 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_TALL_TILE 7357 | M_GENDER_NEUTRAL, 7358 MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3), 7359 15, MONS_PANDEMONIUM_LORD, MONS_CEREBOV, MH_DEMONIC, WILL_INVULN, 7360 { {AT_HIT, AF_PLAIN, 60}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7361 21, 6510, 7362 30, 8, MST_CEREBOV, false, S_SHOUT, 7363 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7364 MONUSE_WEAPONS_ARMOUR, SIZE_GIANT, MON_SHAPE_HUMANOID, 7365 {TILEP_MONS_CEREBOV}, TILE_ERROR 7366 }, 7367 7368 { 7369 MONS_GLOORX_VLOQ, '&', LIGHTGREY, "Gloorx Vloq", 7370 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_FLIES | M_TALL_TILE 7371 | M_GENDER_NEUTRAL, 7372 MR_RES_POISON | MR_RES_COLD | MR_RES_ELEC, 7373 15, MONS_PANDEMONIUM_LORD, MONS_GLOORX_VLOQ, MH_DEMONIC, WILL_INVULN, 7374 { {AT_HIT, AF_PLAIN, 45}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7375 16, 3520, 7376 10, 10, MST_GLOORX_VLOQ, false, S_MOAN, 7377 I_HUMAN, HT_LAND, 20, DEFAULT_ENERGY, 7378 MONUSE_OPEN_DOORS, SIZE_LARGE, MON_SHAPE_HUMANOID, 7379 {TILEP_MONS_GLOORX_VLOQ}, TILE_ERROR 7380 }, 7381 7382 { 7383 MONS_GERYON, '&', GREEN, "Geryon", 7384 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_MALE | M_FLIES 7385 | M_TALL_TILE, 7386 MR_NO_FLAGS, 7387 15, MONS_HELL_LORD, MONS_GERYON, MH_DEMONIC, 120, 7388 { {AT_TAIL_SLAP, AF_REACH, 35}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7389 15, 3000, 7390 15, 6, MST_GERYON, false, S_ROAR, 7391 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7392 MONUSE_STARTING_EQUIPMENT, SIZE_GIANT, 7393 MON_SHAPE_HUMANOID_WINGED, 7394 {TILEP_MONS_GERYON}, TILE_ERROR 7395 }, 7396 7397 { 7398 MONS_DISPATER, '&', MAGENTA, "Dispater", 7399 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_TALL_TILE 7400 | M_GENDER_NEUTRAL, 7401 mrd(MR_RES_ELEC | MR_RES_FIRE, 3) | MR_RES_POISON | MR_RES_DAMNATION 7402 | MR_RES_COLD, 7403 15, MONS_HELL_LORD, MONS_DISPATER, MH_DEMONIC, WILL_INVULN, 7404 { {AT_HIT, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7405 16, 4480, 7406 40, 3, MST_DISPATER, false, S_SHOUT, 7407 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7408 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 7409 {TILEP_MONS_DISPATER}, TILE_ERROR 7410 }, 7411 7412 { 7413 MONS_ASMODEUS, '&', LIGHTRED, "Asmodeus", 7414 M_UNIQUE | M_FIGHTER | M_SEE_INVIS | M_SPEAKS | M_MALE | M_FLIES 7415 | M_TALL_TILE | M_FIRE_RING, 7416 MR_RES_ELEC | MR_RES_POISON | MR_RES_DAMNATION | mrd(MR_RES_FIRE, 3), 7417 25, MONS_HELL_LORD, MONS_ASMODEUS, MH_DEMONIC, WILL_INVULN, 7418 { {AT_HIT, AF_PLAIN, 50}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7419 17, 4505, 7420 30, 7, MST_ASMODEUS, false, S_SHOUT, 7421 I_HUMAN, HT_LAND, 10, DEFAULT_ENERGY, 7422 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 7423 {TILEP_MONS_ASMODEUS}, TILE_ERROR 7424 }, 7425 7426 { 7427 MONS_ERESHKIGAL, '&', WHITE, "Ereshkigal", 7428 M_UNIQUE | M_SEE_INVIS | M_SPEAKS | M_FEMALE | M_TALL_TILE, 7429 MR_RES_ELEC | MR_RES_POISON | MR_RES_COLD, 7430 15, MONS_HELL_LORD, MONS_ERESHKIGAL, MH_DEMONIC, WILL_INVULN, 7431 { {AT_HIT, AF_DRAIN, 40}, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7432 18, 3510, 7433 10, 30, MST_ERESHKIGAL, false, S_SHOUT, 7434 I_HUMAN, HT_LAND, 14, DEFAULT_ENERGY, 7435 MONUSE_WEAPONS_ARMOUR, SIZE_LARGE, MON_SHAPE_HUMANOID, 7436 {TILEP_MONS_ERESHKIGAL}, TILE_ERROR 7437 }, 7438 7439 // Impossible to hit, impossible to damage, immune to everything, 7440 // unkillable, just sits there doing nothing but casting Shadow Creatures 7441 // over and over. 7442 { 7443 MONS_TEST_SPAWNER, 'X', WHITE, "test spawner", 7444 M_STATIONARY | M_INSUBSTANTIAL | M_NO_POLY_TO | M_FAST_REGEN, 7445 mrd(MR_RES_ELEC | MR_RES_FIRE | MR_RES_COLD 7446 | MR_RES_MIASMA | MR_RES_ACID, 4) | MR_RES_STICKY_FLAME, 7447 15, MONS_TEST_SPAWNER, MONS_TEST_SPAWNER, MH_NONLIVING, WILL_INVULN, 7448 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7449 1000, 10000000, 7450 127, 127, MST_TEST_SPAWNER, false, S_SILENT, 7451 I_BRAINLESS, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6), 7452 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 7453 {TILEP_MONS_TEST_SPAWNER}, TILE_ERROR 7454 }, 7455 7456 // tons of hp, just sits there doing nothing except being a target. 7457 { 7458 MONS_TEST_STATUE, 'X', WHITE, "test statue", 7459 M_STATIONARY | M_NO_POLY_TO | M_FAST_REGEN | M_NO_THREAT, 7460 MR_NO_FLAGS, 7461 15, MONS_TEST_STATUE, MONS_TEST_STATUE, MH_NONLIVING, 20, 7462 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7463 1000, 10000000, 7464 0, 0, MST_NO_SPELLS, false, S_SILENT, 7465 I_BRAINLESS, HT_AMPHIBIOUS, 14, SWIM_ENERGY(6), 7466 MONUSE_NOTHING, SIZE_LARGE, MON_SHAPE_MISC, 7467 {TILEP_MONS_TEST_SPAWNER}, TILE_ERROR 7468 }, 7469 7470 // tons of hp, does not attack, but not stationary 7471 { 7472 MONS_TEST_BLOB, 'J', WHITE, "test blob", 7473 M_NO_POLY_TO | M_FAST_REGEN | M_NO_THREAT, 7474 MR_NO_FLAGS, 7475 15, MONS_TEST_STATUE, MONS_TEST_STATUE, MH_NONLIVING, 20, 7476 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7477 1000, 10000000, 7478 0, 0, MST_NO_SPELLS, false, S_SILENT, 7479 I_BRAINLESS, HT_AMPHIBIOUS, 10, DEFAULT_ENERGY, 7480 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 7481 {TILEP_MONS_JELLY}, TILE_ERROR 7482 }, 7483 7484 7485 // an unspecified monster 7486 { 7487 MONS_SENSED, '{', RED, "sensed monster", 7488 M_CANT_SPAWN, 7489 MR_NO_FLAGS, 7490 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0, 7491 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7492 1, 10, 7493 0, 0, MST_NO_SPELLS, false, S_SILENT, 7494 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 7495 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 7496 {TILE_UNSEEN_MONSTER} 7497 }, 7498 7499 { 7500 MONS_SENSED_FRIENDLY, '{', GREEN, "friendly sensed monster", 7501 M_CANT_SPAWN, 7502 MR_NO_FLAGS, 7503 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0, 7504 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7505 1, 10, 7506 0, 0, MST_NO_SPELLS, false, S_SILENT, 7507 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 7508 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 7509 {TILE_MONS_SENSED_FRIENDLY}, TILE_ERROR 7510 }, 7511 7512 { 7513 MONS_SENSED_TRIVIAL, '{', BLUE, "trivial sensed monster", 7514 M_CANT_SPAWN, 7515 MR_NO_FLAGS, 7516 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0, 7517 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7518 1, 10, 7519 0, 0, MST_NO_SPELLS, false, S_SILENT, 7520 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 7521 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 7522 {TILE_MONS_SENSED_TRIVIAL}, TILE_ERROR 7523 }, 7524 7525 { 7526 MONS_SENSED_EASY, '{', LIGHTGRAY, "easy sensed monster", 7527 M_CANT_SPAWN, 7528 MR_NO_FLAGS, 7529 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0, 7530 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7531 1, 10, 7532 0, 0, MST_NO_SPELLS, false, S_SILENT, 7533 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 7534 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 7535 {TILE_MONS_SENSED_EASY}, TILE_ERROR 7536 }, 7537 7538 { 7539 MONS_SENSED_TOUGH, '{', YELLOW, "tough sensed monster", 7540 M_CANT_SPAWN, 7541 MR_NO_FLAGS, 7542 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0, 7543 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7544 1, 10, 7545 0, 0, MST_NO_SPELLS, false, S_SILENT, 7546 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 7547 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 7548 {TILE_MONS_SENSED_TOUGH}, TILE_ERROR 7549 }, 7550 7551 { 7552 MONS_SENSED_NASTY, '{', LIGHTRED, "nasty sensed monster", 7553 M_CANT_SPAWN, 7554 MR_NO_FLAGS, 7555 0, MONS_SENSED, MONS_SENSED, MH_NONLIVING, 0, 7556 { AT_NO_ATK, AT_NO_ATK, AT_NO_ATK, AT_NO_ATK }, 7557 1, 10, 7558 0, 0, MST_NO_SPELLS, false, S_SILENT, 7559 I_ANIMAL, HT_LAND, 10, DEFAULT_ENERGY, 7560 MONUSE_NOTHING, SIZE_MEDIUM, MON_SHAPE_MISC, 7561 {TILE_MONS_SENSED_NASTY}, TILE_ERROR 7562 }, 7563 7564 }; 7565