OSDN Git Service

import nethack-3.6.0
[jnethack/source.git] / include / monattk.h
1 /* NetHack 3.6  monattk.h       $NHDT-Date: 1432512775 2015/05/25 00:12:55 $  $NHDT-Branch: master $:$NHDT-Revision: 1.11 $ */
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 #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) */
80
81 #define AD_CLRC 240 /* random clerical spell */
82 #define AD_SPEL 241 /* random magic spell */
83 #define AD_RBRE 242 /* random breath weapon */
84
85 #define AD_SAMU 252 /* hits, may steal Amulet (Wizard) */
86 #define AD_CURS 253 /* random curse (ex. gremlin) */
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 */