OSDN Git Service

Initial Import
[nethackexpress/trunk.git] / include / monattk.h
1 /*      SCCS Id: @(#)monattk.h  3.4     2002/03/24      */
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_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 */
27
28 #define AT_WEAP         254     /* uses weapon */
29 #define AT_MAGC         255     /* uses magic spell(s) */
30
31 /*      Add new damage types below.
32  *
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.
35  */
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                                 /* If no SEDUCE then same as AD_SEDU */
74 #define AD_HALU         36      /* causes hallucination */
75 #define AD_DETH         37      /* for Death only */
76 #define AD_PEST         38      /* for Pestilence only */
77 #define AD_FAMN         39      /* for Famine only */
78 #define AD_SLIM         40      /* turns you into green slime */
79 #define AD_ENCH         41      /* remove enchantment (disenchanter) */
80 #define AD_CORR         42      /* corrode armor (black pudding) */
81
82 #define AD_CLRC         240     /* random clerical spell */
83 #define AD_SPEL         241     /* random magic spell */
84 #define AD_RBRE         242     /* random breath weapon */
85
86 #define AD_SAMU         252     /* hits, may steal Amulet (Wizard) */
87 #define AD_CURS         253     /* random curse (ex. gremlin) */
88
89
90 /*
91  *  Monster to monster attacks.  When a monster attacks another (mattackm),
92  *  any or all of the following can be returned.  See mattackm() for more
93  *  details.
94  */
95 #define MM_MISS         0x0     /* aggressor missed */
96 #define MM_HIT          0x1     /* aggressor hit defender */
97 #define MM_DEF_DIED     0x2     /* defender died */
98 #define MM_AGR_DIED     0x4     /* aggressor died */
99
100 #endif /* MONATTK_H */