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