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