Mercurial > hg > early-roguelike
diff xrogue/mons_def.c @ 133:e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
author | John "Elwin" Edwards |
---|---|
date | Tue, 21 Apr 2015 08:55:20 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xrogue/mons_def.c Tue Apr 21 08:55:20 2015 -0400 @@ -0,0 +1,1660 @@ +/* + mons_def.c - monster data initializer + + XRogue: Expeditions into the Dungeons of Doom + Copyright (C) 1991 Robert Pietkivitch + All rights reserved. + + Based on "Advanced Rogue" + Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka and AT&T + 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 <ctype.h> +#include <curses.h> +#include "rogue.h" + +#define HPT(x) x + +struct monster monsters[NUMMONST+1] = { +/* {"Name", + CARRY, NORMAL, WANDER, APPEAR, INTEL, + {ATTRIBUTES}, + "SUMMONED_CREATURE", NUMBER_SUMMONED, + ADDED_EXPERIENCE/HIT_POINT, + {str dex, move, exp, level, "armor", hit_points, + "damage"}}, */ +{"unknown", + 0, FALSE, FALSE, '\0', "", + {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, + "", 0, + 0, + {0, 0, 0, 0, 0, 0, HPT(""), + ""}}, +{"giant rat", + 0, TRUE, TRUE, 'R', "2-6", + {ISMEAN, CANDISEASE}, + "", 0, + 0, + {10, 10, 6, 5, 1, 7, HPT("1d4"), + "1d3"}}, +{"kobold", + 50, TRUE, TRUE, 'K', "8-12", + {ISMEAN, CANSHOOT, CARRYWEAPON}, + "", 0, + 2, + {9, 9, 5, 8, 2, 7, HPT("1d4"), + "1d4"}}, +{"bat", + 0, TRUE, TRUE, 'b', "2-6", + {ISMEAN, AREMANY, CANDISEASE, ISFLY}, + "", 0, + 0, + {5, 5, 6, 5, 1, 10, HPT("1d2"), + "1d2"}}, +{"gnome", + 50, TRUE, FALSE, 'G', "10-15", + {CANSHOOT, CARRYPOTION, CARRYWEAPON, NOSTAB}, + "", 0, + 3, + {10, 10, 6, 8, 1, 5, HPT("1d6"), + "1d6"}}, +{"halfling", + 50, TRUE, FALSE, 'H', "11-16", + {CANSHOOT, CARRYSCROLL, CARRYWEAPON, NOSTAB}, + "", 0, + 3, + {8, 10, 6, 10, 1, 4, HPT("1d8"), + "1d6"}}, +{"xvart", + 50, TRUE, TRUE, 'x', "4-14", + {ISMEAN, AREMANY, CARRYDAGGER, CANTELEPORT}, + "", 0, + 1, + {8, 10, 7, 8, 1, 7, HPT("1d2"), + "1d3"}}, +{"manes", + 0, TRUE, TRUE, 'M', "2-8", + {ISMEAN, ISUNDEAD, TURNABLE, CANDISEASE}, + "", 0, + 0, + {5, 5, 5, 15, 2, 7, HPT("1d8"), + "1d2/1d2/1d4"}}, +{"rot grub", + 0, TRUE, TRUE, 'r', "10", + {ISMEAN, CANDISEASE, CANINFEST, CANSMELL}, + "", 0, + 0, + {10, 10, 8, 8, 1, 8, HPT("1d6"), + "1d6"}}, +{"giant ant", + 0, TRUE, TRUE, 'A', "1", + {ISMEAN, CANPOISON}, + "", 0, + 3, + {10, 10, 6, 30, 3, 3, HPT("2d8"), + "1d6/1d6"}}, +{"orc", + 50, TRUE, TRUE, 'O', "8", + {ISMEAN, CANSHOOT, CARRYFOOD}, + "", 0, + 2, + {12, 12, 5, 15, 4, 6, HPT("2d8"), + "1d8"}}, +{"dwarf", + 50, TRUE, FALSE, 'D', "10-14", + {CARRYSCROLL, CARRYGOLD, CARRYDAGGER, NOSTAB}, + "", 0, + 4, + {10, 10, 6, 20, 1, 4, HPT("2d8"), + "1d8"}}, +{"elf", + 50, TRUE, FALSE, 'E', "10-14", + {CARRYPOTION, CARRYWEAPON, NOSTAB, CARRYFOOD}, + "", 0, + 4, + {12, 10, 6, 20, 1, 4, HPT("2d8+2"), + "1d10"}}, +{"hobgoblin", + 50, TRUE, TRUE, 'h', "8-10", + {ISMEAN, CANSHOOT, NOSLOW}, + "", 0, + 3, + {14, 14, 4, 30, 4, 5, HPT("1d8"), + "1d8"}}, +{"urchin", + 50, TRUE, TRUE, 'u', "6-15", + {ISMEAN, ISGREED, CARRYGOLD, CARRYRING}, + "", 0, + 1, + {10, 10, 6, 25, 1, 3, HPT("2d8"), + "1d6"}}, +{"fire beetle", + 0, TRUE, TRUE, 'B', "10", + {ISMEAN, HASFIRE}, + "", 0, + 2, + {10, 10, 6, 20, 1, 4, HPT("1d8+2"), + "2d4"}}, +{"ear seeker", + 0, TRUE, TRUE, 'e', "0", + {ISMEAN, AREMANY, CANINFEST, CANSURPRISE}, + "", 0, + 0, + {10, 10, 5, 10, 1, 8, HPT("1d2"), + "1d1"}}, +{"shrieker", + 0, TRUE, TRUE, 'S', "0", + {ISMEAN, CANSHRIEK, NOMOVE, NOSTAB}, + "", 0, + 4, + {10, 10, 7, 20, 2, 7, HPT("3d8"), + "0d0"}}, +{"stirge", + 0, TRUE, TRUE, 's', "1", + {ISMEAN, CANDRAW, ISFLY}, + "", 0, + 2, + {10, 10, 4, 30, 1, 8, HPT("2d6"), + "1d3"}}, +{"troglodyte", + 50, TRUE, TRUE, 'T', "5-15", + {ISMEAN, CANSMELL, CANSTINK, CANSHOOT, HASFIRE}, + "", 0, + 3, + {10, 10, 6, 30, 5, 4, HPT("2d8"), + "1d6/2d6"}}, +{"zombie", + 0, TRUE, TRUE, 'Z', "0", + {ISMEAN, ISUNDEAD, TURNABLE, CANSURPRISE, ISSHADOW, NOSLEEP}, + "", 0, + 6, + {10, 10, 5, 60, 1, 0, HPT("2d8+5"), + "2d8"}}, +{"gas spore", + 0, TRUE, TRUE, 'a', "0", + {ISMEAN, CANEXPLODE, CANINFEST, ISFLY}, + "", 0, + 5, + {10, 10, 8, 30, 2, 5, HPT("2d8"), + "1d2/1d4"}}, +{"giant tick", + 0, TRUE, TRUE, 't', "0", + {ISMEAN, CANPOISON, CANROT}, + "", 0, + 1, + {10, 10, 7, 70, 2, 4, HPT("1d8"), + "1d4"}}, +{"lemure", + 0, TRUE, TRUE, 'L', "5-10", + {ISMEAN, ISREGEN, CANSUMMON, NOBOLT}, + "bat", 5, + 6, + {12, 12, 5, 45, 4, 2, HPT("3d8"), + "1d6"}}, +{"zoo spore", + 0, TRUE, TRUE, 'z', "8-20", + {ISMEAN, CANDISEASE, CANEXPLODE, TURNABLE, ISUNDEAD, ISFLY}, + "", 0, + 10, + {20, 20, 4, 80, 2, 0, HPT("2d8+6"), + "1d8"}}, +{"bugbear", + 30, TRUE, TRUE, 'b', "5-12", + {ISMEAN, CANSHOOT, CANSURPRISE, ISGREED}, + "", 0, + 3, + {16, 10, 6, 60, 2, 5, HPT("3d8+4"), + "2d4"}}, +{"gray ooze", + 0, TRUE, TRUE, 'o', "1", + {ISMEAN, CANRUST, NOCOLD, NOFIRE, NOSTAB}, + "", 0, + 1, + {10, 10, 9, 100, 2, 8, HPT("1d8"), + "1d8"}}, +{"lonchu", + 50, TRUE, TRUE, 'l', "6", + {ISMEAN, CANTELEPORT, CARRYARMOR, NOBOLT}, + "", 0, + 3, + {10, 10, 6, 120, 2, 3, HPT("3d8+4"), + "2d6"}}, +{"wererat", + 50, TRUE, TRUE, 'r', "10-15", + {ISMEAN, CARRYPOTION, CANSUMMON, CANDRAW, NOSTAB}, + "giant rat", 3, + 5, + {10, 10, 5, 70, 5, 4, HPT("3d8+6"), + "2d8"}}, +{"ghoul", + 50, TRUE, TRUE, 'g', "12-15", + {ISMEAN, CARRYFOOD, CANPARALYZE, ISUNDEAD, TURNABLE, CANDRAW, + AREMANY}, + "", 0, + 7, + {12, 12, 5, 75, 2, 2, HPT("4d4"), + "1d4/1d6"}}, +{"leprechaun", + 75, TRUE, FALSE, 'l', "10-16", + {CARRYGOLD, STEALGOLD, ISGREED, CARRYSCROLL, CARRYPOTION, + NOSTAB}, + "", 0, + 9, + {15, 15, 3, 100, 7, 0, HPT("3d8"), + "1d1/3d6"}}, +{"junk monster", + 100, TRUE, TRUE, 'j', "10-14", + {ISMEAN, CANSTINK, CANSMELL, ISSCAVENGE, ISGREED, CANDRAW, + ISREGEN, CANSHOOT, CARRYSTICK}, + "", 0, + 7, + {12, 12, 5, 100, 2, 4, HPT("3d8+3"), + "1d6/2d8"}}, +{"jacaranda", + 40, TRUE, TRUE, 'j', "8-18", + {ISMEAN, ISUNIQUE, ISREGEN, CANSUMMON, NOCOLD, NOFIRE, NOBOLT, + CANDANCE, CARRYGOLD, CANTELEPORT, CANBLIND, ISSHADOW, NOSTAB, + ISGREED, STEALGOLD, CARRYFOOD}, + "zombie", 4, + 20, + {18, 18, 2, 40000, 10, -15, HPT("6d8+40"), + "1d6/2d6/3d6"}}, +{"gnoll", + 0, TRUE, TRUE, 'n', "10-16", + {ISMEAN, CANINFEST, CANROT, ISREGEN, TURNABLE}, + "", 0, + 4, + {10, 10, 6, 140, 2, 4, HPT("6d8"), + "2d8"}}, +{"fire toad", + 0, TRUE, TRUE, 'f', "5-7", + {ISMEAN, CANBFIRE, NOFIRE, NOBOLT}, + "", 0, + 4, + {10, 10, 6, 200, 2, 5, HPT("5d8"), + "1d8"}}, +{"gelatinous cube", + 50, TRUE, TRUE, 'c', "0", + {ISMEAN, CANPARALYZE, CARRYFOOD, NOCOLD}, + "", 0, + 4, + {10, 10, 7, 160, 2, 1, HPT("4d8"), + "2d8"}}, +{"moon dog", + 0, TRUE, TRUE, 'm', "10-12", + {ISMEAN, ISFLY, NOCOLD, NOFIRE, CANDRAW}, + "", 0, + 6, + {12, 12, 4, 250, 2, 3, HPT("3d8+3"), + "2d10"}}, +{"violet fungi", + 0, TRUE, TRUE, 'F', "0", + {ISMEAN, CANSHRIEK, CANSUMMON, CANHOLD, NOMOVE, CANROT}, + "violet fungi", 1, + 5, + {10, 10, 5, 150, 9, 0, HPT("4d6+10"), + "1d8/2d8/3d8"}}, +{"ogre", + 50, TRUE, TRUE, 'O', "7-12", + {ISMEAN, CARRYGOLD, CARRYDAGGER, NOBOLT}, + "", 0, + 7, + {18, 10, 6, 170, 3, 3, HPT("4d8+8"), + "2d10"}}, +{"centaur", + 50, TRUE, FALSE, 'C', "5-15", + {STEALGOLD, CARRYGOLD, CARRYRING, NOSLEEP, NOSTAB}, + "", 0, + 9, + {10, 10, 4, 180, 2, 4, HPT("4d8+10"), + "1d8/2d6"}}, +{"nymph", + 75, TRUE, FALSE, 'N', "10-16", + {STEALMAGIC, CARRYSCROLL, CARRYPOTION, CARRYSTICK, NOSTAB, + CARRYFOOD, NOSLOW}, + "", 0, + 8, + {16, 16, 3, 190, 5, 3, HPT("3d8+10"), + "1d1"}}, +{"blindheim", + 0, TRUE, TRUE, 'b', "10", + {ISMEAN, CANBLIND, NOSLOW}, + "", 0, + 5, + {8, 8, 5, 260, 3, 1, HPT("4d8+6"), + "2d10"}}, +{"blink dog", + 0, TRUE, TRUE, 'B', "8-10", + {ISMEAN, CANBLINK, CANSEE, CANINFEST}, + "", 0, + 9, + {10, 10, 6, 220, 3, 5, HPT("4d8+4"), + "1d8/2d4"}}, +{"ghast", + 50, TRUE, TRUE, 'G', "10-12", + {ISMEAN, CANPARALYZE, CANSTINK, ISUNDEAD, TURNABLE, AREMANY, + NOBOLT}, + "", 0, + 10, + {10, 10, 4, 250, 1, 1, HPT("5d8+6"), + "2d4/2d6"}}, +{"rust monster", + 0, TRUE, TRUE, 'R', "1", + {ISMEAN, CANRUST, CANDISEASE}, + "", 0, + 6, + {10, 10, 7, 200, 4, 6, HPT("2d8+6"), + "1d1/1d1"}}, +{"imp", + 0, TRUE, TRUE, 'I', "8-10", + {ISMEAN, ISREGEN, CANPAIN, CANTELEPORT, NOCOLD, NOFIRE}, + "", 0, + 9, + {10, 10, 6, 300, 3, 2, HPT("3d8+12"), + "2d8"}}, +{"doppelganger", + 50, TRUE, TRUE, 'D', "10-15", + {ISMEAN, CANSURPRISE, CARRYPOTION, NOSTAB, NOSLOW}, + "", 0, + 8, + {10, 10, 5, 360, 5, 3, HPT("7d8"), + "1d12+2"}}, +{"shadow", + 0, TRUE, TRUE, 'S', "13", + {ISMEAN, ISSHADOW, CANCHILL, ISUNDEAD, TURNABLE, CANINWALL}, + "", 0, + 9, + {13, 13, 5, 370, 6, 1, HPT("3d8+10"), + "2d4/2d4"}}, +{"very young dragon", + 50, TRUE, TRUE, 'd', "12-16", + {ISMEAN, MAGICHIT, ISGREED, CARRYPOTION, CARRYGOLD, NOSTAB, + CANBRANDOM, CARRYMISC, NOBOLT}, + "", 0, + 11, + {16, 16, 6, 300, 8, -2, HPT("4d8+20"), + "2d4/1d6/1d8"}}, +{"yeti", + 0, TRUE, TRUE, 'Y', "8-16", + {ISMEAN, CANPARALYZE, CANSURPRISE, NOBOLT, NOSTAB, NOCOLD}, + "", 0, + 9, + {13, 10, 5, 400, 3, 6, HPT("5d8+6"), + "1d8/2d8"}}, +{"ice weasel", + 0, TRUE, TRUE, 'i', "10-16", + {ISMEAN, AREMANY, ISSHADOW, CANPAIN, NOCOLD, NOSLEEP}, + "", 0, + 7, + {10, 10, 4, 400, 6, 1, HPT("10d8+10"), + "1d10"}}, +{"mimic", + 50, TRUE, TRUE, 'M', "2-16", + {ISMEAN, ISDISGUISE, NODETECT, CANHOLD, NOMOVE, NOSTAB, NOBOLT, + CARRYRING}, + "", 0, + 12, + {10, 10, 6, 500, 4, 8, HPT("10d8"), + "3d4"}}, +{"owlbear", + 50, TRUE, TRUE, 'O', "8-12", + {ISMEAN, CANHUG, NOFEAR, NOSTAB, CARRYFOOD}, + "", 0, + 10, + {10, 10, 3, 340, 3, 2, HPT("5d8+10"), + "1d6/1d6/2d6"}}, +{"otyugh", + 50, TRUE, TRUE, 'o', "5-10", + {ISMEAN, ISFLY, CARRYARMOR, NOSLOW, NOFIRE}, + "", 0, + 11, + {10, 10, 5, 750, 4, 4, HPT("4d8+15"), + "1d8/1d8/1d4+4"}}, +{"gargoyle", + 50, TRUE, TRUE, 'g', "5-7", + {ISMEAN, MAGICHIT, CARRYWEAPON, NOSTAB}, + "", 0, + 9, + {10, 10, 4, 290, 3, 5, HPT("4d8+6"), + "1d6/2d6"}}, +{"su-monster", + 50, TRUE, TRUE, 's', "8-10", + {ISMEAN, CARRYGOLD, ISGREED, HASFIRE, CANSUMMON, CARRYSCROLL, + NOFEAR}, + "moon dog", 4, + 12, + {10, 10, 5, 450, 4, 3, HPT("5d8+10"), + "2d4/2d4"}}, +{"leucrotta", + 0, TRUE, TRUE, 'L', "8-10", + {ISMEAN, NOFEAR, NOSLOW, NOSTAB, CANSEE}, + "", 0, + 10, + {10, 10, 2, 470, 3, 4, HPT("6d8+10"), + "3d6/1d6/1d6"}}, +{"cockatrice", + 50, TRUE, TRUE, 'C', "1", + {ISMEAN, CARRYSTICK, TOUCHSTONE, NOSTAB}, + "", 0, + 15, + {12, 12, 5, 500, 6, 4, HPT("5d8+8"), + "4d4"}}, +{"wight", + 0, TRUE, TRUE, 'W', "8-10", + {ISMEAN, CANDRAIN, MAGICHIT, NOSTONE, ISUNDEAD, TURNABLE, + NOBOLT}, + "", 0, + 12, + {10, 10, 6, 550, 4, 2, HPT("4d8+15"), + "2d8"}}, +{"phibian", + 0, TRUE, TRUE, 'p', "2-16", + {ISMEAN, NOBOLT, CANFRIGHTEN, TURNABLE, NOSLOW}, + "", 0, + 13, + {10, 10, 2, 600, 8, -2, HPT("6d8"), + "1d20"}}, +{"fireworm", + 0, TRUE, TRUE, 'z', "7-10", + {ISMEAN, AREMANY, CANEXPLODE, NOFIRE, ISFLY, NOSLEEP}, + "", 0, + 15, + {10, 10, 5, 500, 2, 0, HPT("1d8"), + "1d4"}}, +{"flumph", + 50, TRUE, TRUE, 'f', "10-16", + {ISMEAN, AREMANY, CARRYGOLD, STEALGOLD, NOMOVE}, + "", 0, + 13, + {12, 12, 3, 320, 3, -7, HPT("5d8+8"), + "2d8"}}, +{"treant", + 50, TRUE, TRUE, 't', "10-14", + {ISMEAN, CANSUMMON, CARRYGOLD, ISGREED, CANSTINK, CANSMELL}, + "treant", 1, + 16, + {12, 12, 4, 1500, 2, 0, HPT("5d8+10"), + "3d8"}}, +{"troll", + 50, TRUE, FALSE, 'T', "10-15", + {ISREGEN, CANSHOOT, CARRYGOLD, CARRYSCROLL, NOSTAB}, + "", 0, + 18, + {18, 18, 6, 600, 7, 3, HPT("6d8+10"), + "1d4+4/1d4+4/2d6+2"}}, +{"ettin", + 50, TRUE, TRUE, 'e', "1-18", + {ISMEAN, AREMANY, CARRYWEAPON, NOFIRE, CANROT}, + "", 0, + 10, + {10, 10, 3, 1000, 3, 1, HPT("8d8+8"), + "2d8/2d6/2d6"}}, +{"lava child", + 0, TRUE, TRUE, 'l', "8-10", + {ISMEAN, NOMETAL, NOFIRE, NOBOLT, NOSTAB}, + "", 0, + 9, + {10, 10, 5, 700, 2, 4, HPT("5d8+10"), + "2d12"}}, +{"erinyes", + 0, TRUE, TRUE, 'E', "8-10", + {ISMEAN, CANFRIGHTEN, TURNABLE, ISUNDEAD, CANPAIN, NOFIRE}, + "", 0, + 11, + {10, 10, 6, 750, 4, 3, HPT("6d8+4"), + "6d2+4"}}, +{"ulodyte", + 0, TRUE, TRUE, 'u', "9-13", + {ISMEAN, CANSMELL, CANHUG, TURNABLE, NOSTAB, CANSURPRISE}, + "", 0, + 12, + {10, 8, 6, 2000, 5, 3, HPT("6d8+10"), + "3d4/2d6"}}, +{"wraith", + 0, TRUE, TRUE, 'w', "10-14", + {ISMEAN, CANDRAIN, MAGICHIT, ISUNDEAD, TURNABLE, NOBOLT, + NOSTAB, AREMANY}, + "", 0, + 16, + {10, 10, 8, 800, 3, 2, HPT("5d8+10"), + "2d6/1d8"}}, +{"jackalwere", + 50, TRUE, TRUE, 'J', "10-15", + {ISMEAN, CANSMELL, CANSNORE, MAGICHIT}, + "", 0, + 10, + {10, 10, 4, 900, 6, 3, HPT("5d8+20"), + "2d4/2d4"}}, +{"basilisk", + 50, TRUE, TRUE, 'B', "1", + {ISMEAN, LOOKSTONE, CARRYSCROLL, NOSTAB, NOFIRE}, + "", 0, + 10, + {10, 10, 6, 1000, 5, 4, HPT("6d8+20"), + "2d10"}}, +{"vrock", + 0, TRUE, TRUE, 'v', "10-12", + {ISMEAN, CANSEE, TURNABLE, CANTELEPORT, CANDRAW}, + "", 0, + 12, + {10, 10, 6, 2300, 5, 1, HPT("7d8+25"), + "1d4/1d4/1d8/1d8/1d6/1d6"}}, +{"hezrou", + 50, TRUE, TRUE, 'h', "5-13", + {ISMEAN, CANFRIGHTEN, TURNABLE, CANTELEPORT, CARRYSTICK}, + "", 0, + 12, + {10, 10, 6, 3000, 6, -1, HPT("9d8+10"),