Source:NetHack 2.2a/monst.c

Below is the full text to monst.c from the source code of NetHack 2.2a. To link to a particular line, write [[NetHack 2.2a/monst.c#line123 ]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

1.   /*	SCCS Id: @(#)monst.c	2.2	87/11/29 2.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3.     4.    #include "hack.h"  5.    #include "eshk.h"  6.    extern char plname[PL_NSIZ]; 7.    8.    struct permonst mons[CMNUM+2] = { 9.   	{ "bat",		'B',  1, 22, 8,  0, 1,  4, 0 }, 10.  	{ "gnome",		'G',  1,  6, 5,  0, 1,  6, 0 }, 11.  	{ "hobgoblin",		'H',  1,  9, 5,  0, 1,  8, 0 }, 12.  	{ "jackal",		'J',  0, 12, 7,  0, 1,  2, 0 }, 13.  #ifdef KOPS 14.  	{ "Keystone Kop",       'K',  1,  6, 7, 10, 1,  4, 0 }, 15.  #else 16.  	{ "kobold",		'K',  1,  6, 7,  0, 1,  4, 0 }, 17.  #endif 18.  #ifndef ROCKMOLE 19.  	{ "giant rat",		'r',  0, 12, 7,  0, 1,  3, 0 }, 20.  #endif 21.  	{ "acid blob",		'a',  2,  3, 8,  0, 0,  0, 0 }, 22.  	{ "floating eye",	'E',  2,  1, 9, 10, 0,  0, 0 }, 23.  	{ "homunculus",		'h',  2,  6, 6, 10, 1,  3, 0 }, 24.  	{ "imp",		'i',  2,  6, 2, 20, 1,  4, 0 }, 25.  	{ "leprechaun",		'L',  5, 15, 8, 20, 1,  2, 0 }, 26.  	{ "orc",		'O',  2,  9, 6,  0, 1,  8, 0 }, 27.  	{ "yellow light",	'y',  3, 15, 0,  0, 0,  0, 0 }, 28.  	{ "zombie",		'Z',  2,  6, 8,  0, 1,  8, 0 }, 29.  	{ "giant ant",		'A',  3, 18, 3,  0, 1,  6, 0 }, 30.  #ifdef ROCKMOLE 31.  	{ "rock mole",          'r',  3,  3, 0, 20, 1,  6, 0 }, 32.  #endif 33.  	{ "fog cloud",		'f',  3,  1, 0,  0, 1,  6, 0 }, 34.  	{ "nymph",		'N',  6, 12, 9, 20, 1,  2, 0 }, 35.  	{ "piercer",		'p',  3,  1, 3,  0, 2,  6, 0 }, 36.  #ifdef KAA 37.  	{ "quantum mechanic",	'Q',  6, 12, 3, 10, 1,  4, 0 }, 38.  #else 39.  	{ "quasit",		'Q',  3, 15, 3, 20, 1,  4, 0 }, 40.  #endif 41.  	{ "quivering blob",	'q',  3,  1, 8,  0, 1,  8, 0 }, 42.  #ifdef KAA 43.  	{ "violet fungus",	'v',  3,  1, 7,  0, 1,  4, 0 }, 44.  #else 45.  	{ "violet fungi",	'v',  3,  1, 7,  0, 1,  4, 0 }, 46.  #endif 47.  	{ "giant beetle",	'b',  4,  6, 4,  0, 3,  4, 0 }, 48.  	{ "centaur",		'C',  4, 18, 4, 10, 1,  6, 0 }, 49.  	{ "cockatrice",		'c',  4,  6, 6, 30, 1,  3, 0 }, 50.  	{ "gelatinous cube",	'g',  4,  6, 8,  0, 2,  4, 0 }, 51.  	{ "jaguar",		'j',  4, 15, 6,  0, 1,  8, 0 }, 52.  	{ "killer bee",		'k',  4, 14, 4,  0, 2,  4, 0 }, 53.  	{ "snake",		'S',  4, 15, 3,  0, 1,  6, 0 }, 54.  	{ "freezing sphere",	'F',  2, 13, 4,  0, 0,  0, 0 }, 55.  	{ "owlbear",		'o',  5, 12, 5,  0, 2,  6, 0 }, 56.  	{ "rust monster",	'R', 10, 18, 3,  0, 0,  0, 0 }, 57.  #ifdef SPIDERS 58.  	{ "giant spider",	's',  5, 15, 3,  0, 1,  4, 0 }, 59.  #else 60.  	{ "scorpion",		's',  5, 15, 3,  0, 1,  4, 0 }, 61.  #endif 62.  	{ "tengu",		't',  5, 13, 5, 30, 1,  7, 0 }, 63.  	{ "wraith",		'W',  5, 12, 5, 15, 1,  6, 0 }, 64.  #ifdef NOWORM 65.  	{ "wumpus",		'w',  8,  3, 2, 10, 3,  6, 0 }, 66.  #else 67.  	{ "long worm",		'w',  8,  3, 5, 10, 1,  4, 0 }, 68.  #endif 69.  	{ "large dog",		'd',  6, 15, 4,  0, 2,  4, 0 }, 70.  	{ "leocrotta",		'l',  6, 18, 4, 10, 3,  6, 0 }, 71.  	{ "mimic",		'M',  7,  3, 7,  0, 3,  4, 0 }, 72.  	{ "troll",		'T',  7, 12, 4,  0, 2,  7, 0 }, 73.  	{ "unicorn",		'u',  8, 24, 5, 70, 1, 10, 0 }, 74.  	{ "yeti",		'Y',  5, 15, 6,  0, 1,  6, 0 }, 75.  	{ "stalker",		'I',  8, 12, 3,  0, 4,  4, 0 }, 76.  	{ "umber hulk",		'U',  9,  6, 2, 25, 2, 10, 0 }, 77.  	{ "vampire",		'V',  8, 12, 1, 25, 1,  6, 0 }, 78.  	{ "xorn",		'X',  8,  9,-2, 20, 4,  6, 0 }, 79.  	{ "xan",		'x',  7, 18,-2,  0, 2,  4, 0 }, 80.  	{ "zruty",		'z',  9,  8, 3,  0, 3,  6, 0 }, 81.  	{ "chameleon",		':',  6,  5, 6, 10, 4,  2, 0 }, 82.  	{ "giant",		'9',  9, 18, 5,  0, 2, 12, 0 }, 83.  	{ "dragon",		'D', 10,  9,-1, 20, 3,  8, 0 }, 84.  	{ "ettin",		'e', 10, 12, 3,  0, 2,  8, 0 }, 85.  	{ "lurker above",	'\'',10,  3, 3,  0, 0,  0, 0 }, 86.  	{ "nurse",		'n', 11,  6, 0,  0, 2,  6, 0 }, 87.  	{ "trapper",		',', 12,  3, 3,  0, 0,  0, 0 }, 88.  	{ "purple worm",	'P', 15,  9, 6, 20, 2,  8, 0 }, 89.  	{ "demon",		'&', 10, 12,-4, 30, 1,  4, 0 }, 90.  #ifdef SAC 91.  	{ "soldier",		'3', 12,  9,-3, 15,10,  4, 0 }, 92.  #endif /* SAC */ 93.  	{ "minotaur",		'm', 15, 15, 6,  0, 4, 10, 0 }, 94.  	{ "shopkeeper", 	'@', 12, 18, 0, 50, 4,  8, sizeof(struct eshk) } 95.  };  96.    97.   struct permonst pm_ghost = { "ghost", ' ', 10, 3, -5, 50, 1, 1, sizeof(plname) }; 98.  #ifdef SAC 99.  struct permonst pm_wizard = { "wizard of Yendor", '1', 20, 12, -8, 100, 2, 12, 0 }; 100. #else 101. struct permonst pm_wizard = { "wizard of Yendor", '1', 15, 12, -2, 70, 1, 12, 0 }; 102. #endif 103. #ifdef RPH 104. struct permonst pm_medusa = {"medusa", '8', 15, 12, 2, 50, 1, 8, 0}; 105. #endif 106. #ifdef MAIL 107. struct permonst pm_mail_daemon = { "mail daemon", '2', 100, 1, 10, 127, 0, 0, 0 }; 108. #endif 109. struct permonst pm_eel = { "giant eel", ';', 15, 6, -3, 0, 3, 6, 0 }; 110.