1    | /*	SCCS Id: @(#)monattk.h	3.3	95/01/28	*/
2    | /* NetHack may be freely redistributed.  See license for details. */
3    | /* Copyright 1988, M. Stephenson */
4    | 
5    | #ifndef MONATTK_H
6    | #define MONATTK_H
7    | 
8    | /*	Add new attack types below - ordering affects experience (exper.c).
9    |  *	Attacks > AT_BUTT are worth extra experience.
10   |  */
11   | #define AT_NONE		0	/* passive monster (ex. acid blob) */
12   | #define AT_CLAW		1	/* claw (punch, hit, etc.) */
13   | #define AT_BITE		2	/* bite */
14   | #define AT_KICK		3	/* kick */
15   | #define AT_BUTT		4	/* head butt (ex. a unicorn) */
16   | #define AT_TUCH		5	/* touches */
17   | #define AT_STNG		6	/* sting */
18   | #define AT_HUGS		7	/* crushing bearhug */
19   | #define AT_SPIT		10	/* spits substance - ranged */
20   | #define AT_ENGL		11	/* engulf (swallow or by a cloud) */
21   | #define AT_BREA		12	/* breath - ranged */
22   | #define AT_EXPL		13	/* explodes - proximity */
23   | #define AT_BOOM		14	/* explodes when killed */
24   | #define AT_GAZE		15	/* gaze - ranged */
25   | #define AT_TENT		16	/* tentacles */
26   | 
27   | #define AT_WEAP		254	/* uses weapon */
28   | #define AT_MAGC		255	/* uses magic spell(s) */
29   | 
30   | /*	Add new damage types below.
31   |  *
32   |  *	Note that 1-10 correspond to the types of attack used in buzz().
33   |  *	Please don't disturb the order unless you rewrite the buzz() code.
34   |  */
35   | #define AD_PHYS		0	/* ordinary physical */
36   | #define AD_MAGM		1	/* magic missiles */
37   | #define AD_FIRE		2	/* fire damage */
38   | #define AD_COLD		3	/* frost damage */
39   | #define AD_SLEE		4	/* sleep ray */
40   | #define AD_DISN		5	/* disintegration (death ray) */
41   | #define AD_ELEC		6	/* shock damage */
42   | #define AD_DRST		7	/* drains str (poison) */
43   | #define AD_ACID		8	/* acid damage */
44   | #define AD_SPC1		9	/* for extension of buzz() */
45   | #define AD_SPC2		10	/* for extension of buzz() */
46   | #define AD_BLND		11	/* blinds (yellow light) */
47   | #define AD_STUN		12	/* stuns */
48   | #define AD_SLOW		13	/* slows */
49   | #define AD_PLYS		14	/* paralyses */
50   | #define AD_DRLI		15	/* drains life levels (Vampire) */
51   | #define AD_DREN		16	/* drains magic energy */
52   | #define AD_LEGS		17	/* damages legs (xan) */
53   | #define AD_STON		18	/* petrifies (Medusa, cockatrice) */
54   | #define AD_STCK		19	/* sticks to you (mimic) */
55   | #define AD_SGLD		20	/* steals gold (leppie) */
56   | #define AD_SITM		21	/* steals item (nymphs) */
57   | #define AD_SEDU		22	/* seduces & steals multiple items */
58   | #define AD_TLPT		23	/* teleports you (Quantum Mech.) */
59   | #define AD_RUST		24	/* rusts armour (Rust Monster)*/
60   | #define AD_CONF		25	/* confuses (Umber Hulk) */
61   | #define AD_DGST		26	/* digests opponent (trapper, etc.) */
62   | #define AD_HEAL		27	/* heals opponent's wounds (nurse) */
63   | #define AD_WRAP		28	/* special "stick" for eels */
64   | #define AD_WERE		29	/* confers lycanthropy */
65   | #define AD_DRDX		30	/* drains dexterity (quasit) */
66   | #define AD_DRCO		31	/* drains constitution */
67   | #define AD_DRIN		32	/* drains intelligence (mind flayer) */
68   | #define AD_DISE		33	/* confers diseases */
69   | #define AD_DCAY		34	/* decays organics (brown Pudding) */
70   | #define AD_SSEX		35	/* Succubus seduction (extended) */
71   | 				/* If no SEDUCE then same as AD_SEDU */
72   | #define AD_HALU		36	/* causes hallucination */
73   | #define AD_DETH		37	/* for Death only */
74   | #define AD_PEST		38	/* for Pestilence only */
75   | #define AD_FAMN		39	/* for Famine only */
76   | #define AD_SLIM		40	/* turns you into green slime */
77   | #define AD_ENCH		41	/* remove enchantment (disenchanter) */
78   | #define AD_CORRODE	42	/* corrode armor (black pudding) */
79   | 
80   | #define AD_CLRC		240	/* random clerical spell */
81   | #define AD_SPEL		241	/* random magic spell */
82   | #define AD_RBRE		242	/* random breath weapon */
83   | 
84   | #define AD_SAMU		252	/* hits, may steal Amulet (Wizard) */
85   | #define AD_CURS		253	/* random curse (ex. gremlin) */
86   | 
87   | 
88   | /*
89   |  *  Monster to monster attacks.  When a monster attacks another (mattackm),
90   |  *  any or all of the following can be returned.  See mattackm() for more
91   |  *  details.
92   |  */
93   | #define MM_MISS		0x0	/* aggressor missed */
94   | #define MM_HIT		0x1	/* aggressor hit defender */
95   | #define MM_DEF_DIED	0x2	/* defender died */
96   | #define MM_AGR_DIED	0x4	/* aggressor died */
97   | 
98   | #endif /* MONATTK_H */