Mercurial > hg > early-roguelike
diff urogue/monsdata.c @ 256:c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
author | John "Elwin" Edwards |
---|---|
date | Tue, 31 Jan 2017 19:56:04 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/urogue/monsdata.c Tue Jan 31 19:56:04 2017 -0500 @@ -0,0 +1,2878 @@ +/* + 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,