Mercurial > hg > early-roguelike
view urogue/monsdata.c @ 310:827441d05b3e
Advanced Rogue family: fix some potential buffer overflows.
Some code for determining the score file location assumed that PATH_MAX
would be less than 1024, which cannot be guaranteed.
Advanced Rogue 5 and 7, and XRogue, have had the buffers for the file
name enlarged. UltraRogue never called the functions, so the code has
been deleted instead.
author | John "Elwin" Edwards |
---|---|
date | Mon, 03 May 2021 19:05:37 -0400 |
parents | c495a4f288c6 |
children |
line wrap: on
line source
/* monsdata.c - monster data initializer UltraRogue: The Ultimate Adventure in the Dungeons of Doom Copyright (C) 1985, 1986, 1992, 1993, 1995 Herb Chong All rights reserved. Based on "Advanced Rogue" Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka All rights reserved. Based on "Rogue: Exploring the Dungeons of Doom" Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman All rights reserved. See the file LICENSE.TXT for full copyright and licensing information. */ #include "rogue.h" #define HPT(x) x /* {"Name", CARRY_PROB, NORMAL, WANDER, SYMBOL, INTELLIGENCE, {ATTRIBUTE_FLAGS}, CREATURE_SUMMONED, NUMBER_SUMMONED, ADDED_EXPERIENCE_PER_HIT_POINT, {str, exp_pts, exp_level, armor_class, hit_points, "damage"} }, */ struct monster monsters[] = { {"the player", 0, FALSE, FALSE, '\0', "", {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0, 0, {10, 0, 0, 0, HPT(""), ""} }, {"bat", 0, TRUE, FALSE, 'B', "2-4", {ISMEAN, CANFLY, ISHUH, CANDISEASE, ISFLOCK, ISSMALL}, 0, 0, 0, {10, 5, 2, 1, HPT("1d4"), "1d2"} }, {"xvart", 0, TRUE, TRUE, 'x', "8-12", {ISMEAN, ISSWARM, ISSMALL, CANWIELD}, 0, 0, 1, {8, 5, 1, 7, HPT("1d4"), "1d4+1"} }, {"giant rat", 0, TRUE, TRUE, 'R', "2-4", {ISMEAN, CANDISEASE, ISFLOCK, ISSMALL}, 0, 0, 1, {10, 7, 1, 7, HPT("1d4"), "1d3"} }, {"jackal", 0, TRUE, TRUE, 'J', "2-5", {ISMEAN, ISSMALL}, 0, 0, 1, {8, 5, 1, 7, HPT("1d4"), "1d2"} }, {"snake", 0, TRUE, FALSE, 'S', "2-5", {ISMEAN, ISSMALL}, 0, 0, 1, {8, 5, 1, 5, HPT("1d4"), "1d3"} }, {"kobold", 0, TRUE, TRUE, 'K', "8-8", {ISMEAN, CANSHOOT, CANWIELD, ISSWARM, ISSMALL}, 0, 0, 1, {9, 5, 1, 7, HPT("1d4"), "1d4"} }, {"vilstrak", 5, TRUE, FALSE, 'V', "5-8", {ISMEAN, CANINWALL}, 0, 0, 1, {10, 7, 1, 2, HPT("1d6"), "1d4+1/1d4+1"} }, {"gnome", 10, TRUE, TRUE, 'G', "11-12", {CANSHOOT, CANWIELD, ISSWARM, ISSMALL, MEDFRIENDLY}, 0, 0, 1, {10, 8, 1, 5, HPT("1d6"), "1d6"} }, {"halfling", 10, TRUE, TRUE, 'H', "11-12", {CANSHOOT, CANWIELD, ISSWARM, ISSMALL, HIGHFRIENDLY}, 0, 0, 1, {8, 9, 1, 4, HPT("1d6"), "1d6"} }, {"dwarf", 15, TRUE, TRUE, 'D', "11-12", {CANSHOOT, CANWIELD, ISSMALL, ISSWARM, MEDFRIENDLY}, 0, 0, 1, {14, 10, 1, 4, HPT("1d8"), "1d8"} }, {"orc", 15, TRUE, TRUE, 'O', "8-8", {ISMEAN, CANSHOOT, CANWIELD, ISSWARM}, 0, 0, 1, {12, 10, 1, 6, HPT("1d8"), "1d8"} }, {"larva", 0, TRUE, TRUE, 'l', "5-8", {ISMEAN, ISFLOCK}, 0, 0, 1, {6, 10, 1, 7, HPT("1d8"), "1d4+1"} }, {"skeleton", 0, TRUE, TRUE, 's', "0-0", {ISMEAN, ISSWARM, ISUNDEAD}, 0, 0, 1, {6, 14, 1, 7, HPT("1d8"), "1d6"} }, {"carrion crawler", 0, TRUE, TRUE, 'c', "2-4", {ISMEAN, CANPARALYZE, ISLARGE}, 0, 0, 1, {8, 20, 1, 7, HPT("1d8+1"), "1d2"} }, {"manes", 0, TRUE, TRUE, 'M', "2-4", {ISMEAN, MAGICHIT, ISUNDEAD, ISSMALL}, 0, 0, 1, {10, 18, 1, 7, HPT("1d8"), "1d2/1d2/1d4"} }, {"elf", 50, TRUE, TRUE, 'E', "13-20", {CANSHOOT, CANWIELD, CANBARGAIN, ISSWARM, HIGHFRIENDLY}, 0, 0, 2, {12, 20, 1, 5, HPT("1d8+1"), "1d10"} }, {"hobgoblin", 0, TRUE, TRUE, 'H', "8-10", {ISMEAN, CANSHOOT, CANWIELD, ISSWARM}, 0, 0, 2, {14, 20, 1, 5, HPT("1d8+1"), "1d8"} }, {"wild dog", 0, TRUE, TRUE, 'w', "2-5", {ISMEAN, ISFAST, ISSMALL, ISFLOCK}, 0, 0, 2, {10, 20, 1, 7, HPT("1d8+1"), "1d4"} }, {"baboon", 0, TRUE, TRUE, 'b', "4-7", {ISMEAN, ISSMALL, ISSWARM}, 0, 0, 2, {10, 20, 1, 7, HPT("1d8+1"), "1d4"} }, {"fire beetle", 0, TRUE, TRUE, 'B', "0-0", {ISMEAN, HASFIRE, ISFLOCK, ISSMALL}, 0, 0, 2, {10, 20, 1, 4, HPT("1d8+2"), "2d4"} }, {"badger", 0, TRUE, TRUE, 'k', "4-6", {CANSURPRISE, ISSMALL}, 0, 0, 3, {10, 30, 2, 4, HPT("1d8+2"), "2d2/1d3"} }, {"giant ant", 0, TRUE, TRUE, 'A', "1-1", {ISMEAN, CANPOISON, ISSMALL, ISSWARM}, 0, 0, 3, {10, 40, 2, 3, HPT("2d8"), "1d6"} }, {"war dog", 0, TRUE, TRUE, 'D', "3-5", {ISMEAN, ISFAST}, 0, 0, 3, {10, 35, 2, 6, HPT("2d8+2"), "2d4"} }, {"zombie", 0, TRUE, TRUE, 'Z', "0-0", {ISMEAN, ISUNDEAD, ISFLOCK}, 0, 0, 2, {10, 20, 2, 8, HPT("2d8"), "1d8"} }, {"wuccubi", 0, TRUE, TRUE, 'w', "0-0", {ISMEAN}, 0, 0, 2, {10, 20, 2, 8, HPT("2d8"), "1d4/1d10"} }, {"aarakocra", 5, TRUE, TRUE, 'a', "8-12", {CANFLY, CANWIELD, ISFLOCK, LOWFRIENDLY}, 0, 0, 2, {11, 28, 2, 7, "1d8+2", "1d3/1d3"} }, {"gnoll", 0, TRUE, TRUE, 'g', "7-11", {ISMEAN, CANWIELD, CANSHOOT, ISLARGE, ISSWARM}, 0, 0, 2, {10, 28, 2, 5, HPT("2d8"), "2d4"} }, {"warthog", 0, TRUE, TRUE, 'w', "3-5", {ISMEAN}, 0, 0, 3, {14, 35, 2, 7, HPT("3d8"), "2d8/2d8"} }, {"black bear", 0, TRUE, FALSE, 'U', "5-8", {CANHUG}, 0, 0, 3, {10, 30, 3, 7, HPT("2d8+3"), "2d3"} }, {"ear seeker", 0, TRUE, TRUE, 'e', "0-0", {ISMEAN, CANINFEST, ISSMALL}, 0, 0, 0, {10, 0, 1, 9, HPT("1d1"), "0d0"} }, {"floating eye", 0, TRUE, TRUE, 'E', "0-0", {CANHUH, ISSMALL}, 0, 0, 1, {7, 30, 1, 9, HPT("1d4"), "0d0"} }, {"brownie", 0, TRUE, TRUE, 'B', "12-15", {LOWCAST, CANSHOOT, CANWIELD, CANSURPRISE, STEALGOLD, CANBARGAIN, ISSMALL, ISFLOCK, HIGHFRIENDLY}, 0, 0, 0, {6, 31, 10, 3, HPT("1d4"), "1d3"} }, {"shrieker", 0, TRUE, FALSE, 'S', "0-0", {CANSHRIEK, NOMOVE, ISFLOCK}, 0, 0, 1, {10, 5, 3, 7, HPT("3d8"), "0d0"} }, {"gas spore", 0, TRUE, FALSE, 'g', "0-0", {CANSPORE, NOMOVE, ISLARGE}, 0, 0, 0, {8, 33, 2, 9, HPT("1d1"), "0d0"} }, {"hyena", 0, TRUE, TRUE, 'h', "3-5", {ISMEAN}, 0, 0, 3, {10, 35, 2, 7, HPT("3d8"), "2d4"} }, {"mind maggot", 0, TRUE, TRUE, 'm', "1-1", {ISMEAN, NOMOVE, DRAINBRAIN, ISFLOCK, CANSURPRISE, ISSMALL}, 0, 0, 3, {10, 40, 4, 8, HPT("1d8+1"), "1d3"} }, {"giant beetle", 0, TRUE, FALSE, 'b', "0-0", {ISFLOCK}, 0, 0, 4, {10, 40, 3, 4, HPT("2d8"), "4d4"} }, {"bombadier beetle", 0, TRUE, FALSE, 'B', "0-0", {CANBACID, ISFLOCK}, 0, 0, 4, {10, 40, 2, 4, HPT("2d8+2"), "2d6"} }, {"stirge", 0, TRUE, TRUE, 's', "1-1", {ISMEAN, CANFLY, CANDRAW, ISSMALL}, 0, 0, 2, {10, 36, 4, 8, HPT("1d8+1"), "1d3"} }, {"wild camel", 0, TRUE, TRUE, 'w', "3-7", {ISMEAN, CANTRAMPLE, ISLARGE, ISFLOCK}, 0, 0, 3, {12, 35, 2, 7, HPT("3d8"), "1d4"} }, {"wolf", 0, TRUE, TRUE, 'W', "3-7", {ISMEAN, ISLARGE, ISSWARM, ISFAST}, 0, 0, 3, {12, 35, 2, 7, HPT("2d8+2"), "1d4+1"} }, {"troglodyte", 5, TRUE, TRUE, 'T', "5-7", {ISMEAN, CANSMELL, CANSHOOT, CANWIELD, ISSWARM}, 0, 0, 2, {10, 36, 2, 5, HPT("2d8"), "1d3/1d3/2d5"} }, {"killer frog", 0, TRUE, FALSE, 'f', "2-4", {ISMEAN}, 0, 0, 4, {10, 40, 3, 6, HPT("3d8"), "2d3/1d4"} }, {"axe beak", 0, TRUE, FALSE, 'a', "2-4", {ISMEAN, ISLARGE}, 0, 0, 4, {10, 40, 3, 6, HPT("3d8"), "2d3/2d4"} }, {"spinning tick", 0, TRUE, TRUE, 't', "2-6", {ISMEAN, CANFRIGHTEN, ISSMALL, ISFAST, ISFLOCK}, 0, 0, 5, {10, 50, 2, 3, HPT("2d8+2"), "1d2/1d2/1d4"} }, {"giant centipede", 0, TRUE, TRUE, 'c', "1-2", {ISMEAN, CANPOISON, ISLARGE, ISFLOCK}, 0, 0, 1, {6, 40, 2, 9, HPT("2d2"), "2d3"} }, {"pegasus", 0, TRUE, TRUE, 'p', "9-12", {CANFLY, ISFAST, ISLARGE, LOWFRIENDLY}, 0, 0, 4, {15, 50, 3, 6, HPT("4d8"), "1d3/1d8/1d8"} }, {"lemure", 0, TRUE, FALSE, 'L', "2-4", {ISMEAN, ISREGEN, MAGICHIT, ISUNDEAD, ISFLOCK}, 0, 0, 3, {10, 65, 3, 7, HPT("3d8"), "1d3"} }, {"zemure", 0, TRUE, FALSE, 'z', "2-4", {ISMEAN, ISREGEN, MAGICHIT, ISUNDEAD, ISFLOCK}, 0, 0, 3, {10, 65, 4, 7, HPT("3d8"), "1d4"} }, {"giant beaver", 0, TRUE, TRUE, 'B', "6-9", {ISMEAN, CANSWIM, ISSWARM}, 0, 0, 4, {10, 60, 1, 6, HPT("4d8"), "4d4"} }, {"crocodile", 0, TRUE, TRUE, 'c', "2-5", {ISMEAN, CANSWIM, CANSURPRISE, ISFLOCK, ISLARGE}, 0, 0, 4, {15, 60, 3, 5, HPT("3d8"), "1d3/2d4"} }, {"hipogriff", 0, TRUE, TRUE, 'h', "3-6", {CANFLY, ISMEAN}, 0, 0, 4, {12, 60, 3, 5, HPT("3d8+3"), "1d6/1d6/1d10"} }, {"giant goat", 0, TRUE, TRUE, 'G', "3-5", {ISMEAN, ISFAST, ISLARGE}, 0, 0, 4, {10, 85, 3, 7, HPT("3d8+1"), "2d8"} }, {"wererat", 20, TRUE, TRUE, 'r', "11-12", {ISMEAN, CANSUMMON, MAGICHIT, ISFLOCK}, "giant rat", 4, 4, {10, 90, 3, 6, HPT("3d8+1"), "1d8"} }, {"ulodyte", 0, TRUE, TRUE, 'u', "5-8", {ISLARGE}, 0, 0, 3, {10, 80, 3, 6, HPT("3d8"), "1d3/1d3"} }, {"brown bear", 0, TRUE, TRUE, 'U', "5-8", {CANHUG, ISLARGE}, 0, 0, 3, {10, 80, 3, 6, HPT("4d8+5"), "2d6/1d8"} }, {"ghoul", 0, TRUE, TRUE, 'g', "5-7", {ISMEAN, CANPARALYZE, ISUNDEAD, ISFLOCK}, 0, 0, 2, {10, 65, 2, 6, HPT("2d8"), "1d3/1d3/1d6"} }, {"giant hyena", 0, TRUE, TRUE, 'H', "3-5", {ISMEAN, ISLARGE}, 0, 0, 5, {10, 90, 2, 7, HPT("3d8"), "3d4"} }, {"huorn", 0, TRUE, TRUE, 'h', "6-10", {CANBBURN, ISSHADOW, CANHUG}, 0, 0, 3, {18, 60, 3, 7, HPT("5d6"), "3d3"} }, {"piercer", 0, TRUE, FALSE, 'P', "0-0", {NOMOVE, CANSURPRISE, ISSWARM}, 0, 0, 4, {10, 60, 3, 3, HPT("4d8"), "4d6"} }, {"ape", 0, TRUE, FALSE, 'A', "4-6", {CANHUG}, 0, 0, 1, {10, 50, 3, 6, HPT("4d8+1"), "2d3"} }, {"homonculous", 0, TRUE, TRUE, 'H', "9-15", {CANFLY, ISSMALL, LOWFRIENDLY}, 0, 0, 2, {10, 81, 3, 6, HPT("2d8"), "1d3"} }, {"leprechaun", 0, TRUE, FALSE, 'L', "15-16", {ISMEAN, CARRYGOLD, STEALGOLD, CANBARGAIN, MEDFRIENDLY}, 0, 0, 1, {10, 80, 8, -6, HPT("4d8+1"), "1d1"} }, {"ogre", 50, TRUE, TRUE, 'o', "5-7", {ISMEAN, ISGREED, ISLARGE, ISFLOCK}, 0, 0, 5, {18, 90, 4, 5, HPT("4d8+1"), "2d6"} }, {"bull", 0, TRUE, TRUE, 'B', "3-5", {ISMEAN, CANTRAMPLE, ISFLOCK, ISLARGE}, 0, 0, 4, {14, 85, 2, 7, HPT("4d8"), "1d6"} }, {"wild boar", 0, TRUE, TRUE, 'w', "3-5", {ISMEAN, ISFLOCK}, 0, 0, 4, {15, 85, 3, 7, HPT("3d8+3"), "3d4"} }, {"centaur", 15, TRUE, TRUE, 'C', "5-10", {CANSHOOT, CANWIELD, ISFLOCK, ISLARGE, LOWFRIENDLY}, 0, 0, 4, {10, 85, 4, 4, HPT("4d8"), "1d6/1d6"} }, {"pseudo dragon", 10, TRUE, FALSE, 'p', "15-16", {ISMEAN, ISGREED}, 0, 0, 9, {10, 100, 3, -1, HPT("3d9"), "2d3/1d6"} }, {"very young dragon", 10, TRUE, FALSE, 'd', "15-16", {ISMEAN, CANBRANDOM, ISGREED}, 0, 0, 9, {10, 100, 3, -1, HPT("3d9"), "1d8/1d8/3d10"} }, {"batarang", 20, TRUE, TRUE, 'B', "4-6", {ISMEAN, CANFRIGHTEN, CANFLY, CANSUMMON, ISFLOCK, ISSMALL}, "bat", 4, 5, {10, 100, 3, 1, HPT("3d8"), "1d4/1d4"} }, {"carnivorous ape", 5, TRUE, FALSE, 'A', "7-10", {CANHUG, ISMEAN, ISLARGE}, 0, 0, 4, {12, 120, 4, 6, HPT("5d8"), "2d4"} }, {"pixie", 0, TRUE, TRUE, 'p', "12-15", {LOWCAST, CANSHOOT, CANWIELD, ISINVIS, ISSMALL, ISFLOCK, LOWFRIENDLY}, 0, 0, 1, {6, 105, 3, 3, HPT("1d4"), "1d2"} }, {"mountain lion", 0, TRUE, TRUE, 'L', "3-5", {ISMEAN, ISFAST}, 0, 0, 6, {12, 110, 3, 6, HPT("3d8+1"), "1d3/1d3/1d6"} }, {"bugbear", 5, TRUE, TRUE, 'U', "5-8", {ISMEAN, CANSHOOT, CANWIELD, CANSURPRISE, ISFLOCK, ISLARGE}, "black bear", 2, 6, {16, 135, 3, 5, HPT("3d8+1"), "2d4"} }, {"giant lizard", 0, TRUE, TRUE, 'G', "2-4", {ISFAST, ISLARGE}, 0, 0, 4, {13, 125, 4, 5, HPT("3d8+1"), "1d8"} }, {"harpy", 0, TRUE, TRUE, 'H', "6-9", {CANFLY, CANWIELD}, 0, 0, 3, {10, 145, 4, 7, HPT("3d8"), "1d3/1d3/1d6"} }, {"iguanadon", 0, TRUE, TRUE, 'i', "0-0", {ISMEAN, ISLARGE, ISFLOCK}, 0, 0, 6, {12, 150, 4, 4, HPT("6d8"), "1d3/1d3/2d4"} }, {"leopard", 0, TRUE, TRUE, 'L', "3-5", {ISMEAN, ISFAST, CANSURPRISE}, 0, 0, 4, {10, 150, 4, 6, HPT("3d8+2"), "1d3/1d3/1d6"} }, {"nymph", 100, TRUE, FALSE, 'N', "15-16", {STEALMAGIC, MEDCAST, LOWFRIENDLY}, 0, 0, 3, {10, 350, 8, -5, HPT("3d8"), "0d0"} }, {"giant ram", 0, TRUE, TRUE, 'R', "3-5", {ISFLOCK, CANSUMMON, ISFAST}, "giant goat", 1, 4, {10, 285, 3, 6, HPT("4d8"), "2d6"} }, {"rot grub", 0, TRUE, TRUE, 'r', "0-0", {ISMEAN, CANINFEST, ISSWARM, ISSMALL, ISSLOW}, 0, 0, 0, {10, 0, 1, 9, HPT("1d1"), "0d0"} }, {"triffid", 0, TRUE, FALSE, 'T', "12-18", {ISMEAN, CANHOLD, ISSLOW, CANBBURN, CANPOISON}, "huorn", 1, 4, {10, 135, 10, 7, HPT("2d8"), "1d6"} }, {"violet fungi", 0, TRUE, FALSE, 'F', "0-0", {ISMEAN, CANHOLD, NOMOVE, CANROT, CANINFEST, CANPOISON}, 0, 0, 4, {10, 135, 3, 7, HPT("3d8"), "5d1"} }, {"giant tick", 0, TRUE, TRUE, 't', "0-0", {ISMEAN, CANDRAW, CANDISEASE, ISSMALL}, 0, 0, 2, {10, 105, 3, 3, HPT("3d8"), "1d4"} }, {"giant eagle", 0, TRUE, TRUE, 'e', "0-0", {ISMEAN, CANFLY, CANSPEAK, ISFLOCK, MEDFRIENDLY}, 0, 0, 4, {10, 150, 3, 7, HPT("4d8"), "1d6/1d6/2d6"} }, {"peryton", 0, TRUE, TRUE, 'P', "0-0", {ISMEAN, CANFLY, CANSPEAK, ISFLOCK}, 0, 0, 4, {10, 150, 3, 7, HPT("4d8"), "4d4"} }, {"gelatinous cube", 90, TRUE, TRUE, 'c', "0-0", {ISSLOW, ISMEAN, ISSCAVENGE, CANPARALYZE, ISLARGE}, 0, 0, 4, {10, 150, 4, 8, HPT("4d8"), "2d4"} }, {"giant owl", 0, TRUE, TRUE, 'O', "0-0", {ISMEAN, CANFLY}, 0, 0, 4, {10, 150, 4, 6, HPT("4d8"), "2d4/2d4/1d4+1"} }, {"giant skunk", 0, TRUE, TRUE, 's', "3-5", {CANSTINK, ISFLEE}, 0, 0, 5, {10, 165, 4, 7, HPT("5d8"), "1d6"} }, {"blink dog", 0, TRUE, TRUE, 'B', "8-10", {ISMEAN, CANBLINK, ISFLOCK, HIGHFRIENDLY}, 0, 0, 5, {10, 170, 4, 5, HPT("4d8"), "1d6"} }, {"rust monster", 0, TRUE, TRUE, 'R', "1-1", {ISMEAN, CANRUST}, 0, 0, 4, {10, 185, 5, 2, HPT("3d8"), "0d0/0d0"} }, {"ghast", 0, TRUE, TRUE, 'G', "11-12", {CANPARALYZE, CANSTINK, ISMEAN, ISUNDEAD}, 0, 0, 4, {10, 190, 4, 4, HPT("4d8"), "1d4/1d4/1d8"} }, {"blindheim", 0, TRUE, FALSE, 'b', "1", {ISMEAN, CANBLIND}, 0, 0, 4, {8, 200, 2, 1, HPT("4d8+2"), "1d8"} }, {"jaguar", 0, TRUE, TRUE, 'j', "3-5", {ISMEAN, CANSURPRISE, ISLARGE}, 0, 0, 5, {12, 205, 2, 7, HPT("4d8+1"), "2d3/2d5"} }, {"dryad", 100, TRUE, FALSE, 'D', "15-16", {STEALMAGIC, LOWFRIENDLY}, 0, 0, 3, {8, 325, 8, -2, HPT("2d8"), "1d1"} }, {"anhkheg", 5, TRUE, FALSE, 'a', "2-4", {ISMEAN,CANSURPRISE, ISLARGE}, 0, 0, 2, {10, 300, 3, 2, HPT("1d6+2"), "3d6"} }, {"shadow", 0, TRUE, TRUE, 's', "5-7", {ISSHADOW, ISMEAN, CANCHILL, ISUNDEAD, ISFLOCK}, 0, 0, 4, {10, 255, 3, 7, HPT("3d8+3"), "1d6"} }, {"gargoyle", 5, TRUE, TRUE, 'g', "5-7", {ISMEAN, MAGICHIT, ISFLOCK}, 0, 0, 5, {10, 165, 4, 5, HPT("4d8+4"), "1d3/1d3/1d6/1d4"} }, {"su-monster", 10, TRUE, TRUE, 's', "8-10", {ISMEAN}, 0, 0, 6, {10, 225, 5, 6, HPT("5d8+5"), "4d4/2d4"} }, {"gray ooze", 50, TRUE, FALSE, 'o', "1-1", {ISMEAN, NOMOVE, CANRUST, ISSCAVENGE, BOLTDIVIDE, BLOWDIVIDE, NOFIRE, NOCOLD}, 0, 0, 5, {10, 200, 3, 8, HPT("3d8+3"), "2d8"} }, {"psuedo-dragon", 0, TRUE, TRUE, 'P', "8-12", {CANSURPRISE, CANSEE, CANFLY, CANPOISON, LOWFRIENDLY}, 0, 0, 2, {10, 200, 3, 2, HPT("2d8"), "1d3"} }, {"lava child", 0, TRUE, TRUE, 'l', "8-12", {NOMETAL, NOFIRE, LOWFRIENDLY}, 0, 0, 5, {11, 205, 4, 4, HPT("5d8"), "1d6/1d6/2d6"} }, {"hell hound", 0, TRUE, TRUE, 'h', "5-8", {ISMEAN, NOFIRE, CANBFIRE, CANSURPRISE, CANSEE}, 0, 0, 8, {10, 250, 4, 4, HPT("5d8+4"), "1d10"} }, {"pech", 60, TRUE, FALSE, 'p', "8-14", {CANINWALL, LOWFRIENDLY}, 0, 0, 4, {10, 240, 4, 3, HPT("4d8"), "1d6"} }, {"winter wolf", 0, TRUE, TRUE, 'w', "8-12", {ISMEAN, ISFAST, CANBICE, NOCOLD, ISFLOCK}, "wolf", 6, 5, {10, 245, 4, 5, HPT("6d8"), "2d4"} }, {"sylph", 100, TRUE, FALSE, 's', "15-16", {STEALMAGIC, LOWFRIENDLY}, 0, 0, 3, {8, 325, 8, -2, HPT("2d8"), "1d1"} }, {"lion", 0, TRUE, TRUE, 'L', "3-5", {ISMEAN, ISLARGE}, 0, 0, 6, {12, 300, 4, 6, HPT("5d8+2"), "1d4/1d4/1d10"} }, {"undine", 30, TRUE, TRUE, 'u', "12-18", {ISMEAN, MAGICHIT, NOBOLT, NOCOLD, CANSUMMON, CANSEE, CANSWIM, ISFAST}, "crocodile", 3, 10, {10, 200, 9, 7, HPT("7d8+3"), "1d6/1d6/1d6/1d4"} }, {"ochre jelly", 0, TRUE, FALSE, 'O', "1-1", {ISMEAN, ISSLOW, BOLTDIVIDE, CANROT}, "gelatinous cube", 2, 10, {10, 250, 4, 8, HPT("6d8"), "3d4"} }, {"phoenix", 5, TRUE, FALSE, 'X', "5-7", {NOFIRE, NOBOLT, CANSPEAK, CANBFIRE, ISLARGE, MEDFRIENDLY}, 0, 0, 8, {10, 200, 4, 2, HPT("4d8"), "1d4/1d8"} }, {"owlbear", 5, TRUE, TRUE, 'U', "5-7", {ISMEAN, CANHUG, CANSUMMON, ISLARGE}, "giant owl", 2, 12, {10, 225, 5, 5, HPT("5d8+2"), "1d6/1d6/2d6"} }, {"phycomid", 3, TRUE, FALSE, 'P', "0-0", {CANPOISON, CANINFEST, CANBACID}, 0, 0,