Source:NetHack 2.2a/monst.c

From NetHackWiki
(Redirected from NetHack 2.2a/monst.c)
Jump to navigation Jump to search

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

Screenshots and source code from Hack are used under the CWI license.

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.