monattk.h

Go to the documentation of this file.
00001 /*      SCCS Id: @(#)monattk.h  3.4     2002/03/24      */
00002 /* NetHack may be freely redistributed.  See license for details. */
00003 /* Copyright 1988, M. Stephenson */
00004 
00005 #ifndef MONATTK_H
00006 #define MONATTK_H
00007 
00008 /*      Add new attack types below - ordering affects experience (exper.c).
00009  *      Attacks > AT_BUTT are worth extra experience.
00010  */
00011 #define AT_ANY          (-1)    /* fake attack; dmgtype_fromattack wildcard */
00012 #define AT_NONE         0       /* passive monster (ex. acid blob) */
00013 #define AT_CLAW         1       /* claw (punch, hit, etc.) */
00014 #define AT_BITE         2       /* bite */
00015 #define AT_KICK         3       /* kick */
00016 #define AT_BUTT         4       /* head butt (ex. a unicorn) */
00017 #define AT_TUCH         5       /* touches */
00018 #define AT_STNG         6       /* sting */
00019 #define AT_HUGS         7       /* crushing bearhug */
00020 #define AT_SPIT         10      /* spits substance - ranged */
00021 #define AT_ENGL         11      /* engulf (swallow or by a cloud) */
00022 #define AT_BREA         12      /* breath - ranged */
00023 #define AT_EXPL         13      /* explodes - proximity */
00024 #define AT_BOOM         14      /* explodes when killed */
00025 #define AT_GAZE         15      /* gaze - ranged */
00026 #define AT_TENT         16      /* tentacles */
00027 
00028 #define AT_WEAP         254     /* uses weapon */
00029 #define AT_MAGC         255     /* uses magic spell(s) */
00030 
00031 /*      Add new damage types below.
00032  *
00033  *      Note that 1-10 correspond to the types of attack used in buzz().
00034  *      Please don't disturb the order unless you rewrite the buzz() code.
00035  */
00036 #define AD_ANY          (-1)    /* fake damage; attacktype_fordmg wildcard */
00037 #define AD_PHYS         0       /* ordinary physical */
00038 #define AD_MAGM         1       /* magic missiles */
00039 #define AD_FIRE         2       /* fire damage */
00040 #define AD_COLD         3       /* frost damage */
00041 #define AD_SLEE         4       /* sleep ray */
00042 #define AD_DISN         5       /* disintegration (death ray) */
00043 #define AD_ELEC         6       /* shock damage */
00044 #define AD_DRST         7       /* drains str (poison) */
00045 #define AD_ACID         8       /* acid damage */
00046 #define AD_SPC1         9       /* for extension of buzz() */
00047 #define AD_SPC2         10      /* for extension of buzz() */
00048 #define AD_BLND         11      /* blinds (yellow light) */
00049 #define AD_STUN         12      /* stuns */
00050 #define AD_SLOW         13      /* slows */
00051 #define AD_PLYS         14      /* paralyses */
00052 #define AD_DRLI         15      /* drains life levels (Vampire) */
00053 #define AD_DREN         16      /* drains magic energy */
00054 #define AD_LEGS         17      /* damages legs (xan) */
00055 #define AD_STON         18      /* petrifies (Medusa, cockatrice) */
00056 #define AD_STCK         19      /* sticks to you (mimic) */
00057 #define AD_SGLD         20      /* steals gold (leppie) */
00058 #define AD_SITM         21      /* steals item (nymphs) */
00059 #define AD_SEDU         22      /* seduces & steals multiple items */
00060 #define AD_TLPT         23      /* teleports you (Quantum Mech.) */
00061 #define AD_RUST         24      /* rusts armour (Rust Monster)*/
00062 #define AD_CONF         25      /* confuses (Umber Hulk) */
00063 #define AD_DGST         26      /* digests opponent (trapper, etc.) */
00064 #define AD_HEAL         27      /* heals opponent's wounds (nurse) */
00065 #define AD_WRAP         28      /* special "stick" for eels */
00066 #define AD_WERE         29      /* confers lycanthropy */
00067 #define AD_DRDX         30      /* drains dexterity (quasit) */
00068 #define AD_DRCO         31      /* drains constitution */
00069 #define AD_DRIN         32      /* drains intelligence (mind flayer) */
00070 #define AD_DISE         33      /* confers diseases */
00071 #define AD_DCAY         34      /* decays organics (brown Pudding) */
00072 #define AD_SSEX         35      /* Succubus seduction (extended) */
00073                                 /* If no SEDUCE then same as AD_SEDU */
00074 #define AD_HALU         36      /* causes hallucination */
00075 #define AD_DETH         37      /* for Death only */
00076 #define AD_PEST         38      /* for Pestilence only */
00077 #define AD_FAMN         39      /* for Famine only */
00078 #define AD_SLIM         40      /* turns you into green slime */
00079 #define AD_ENCH         41      /* remove enchantment (disenchanter) */
00080 #define AD_CORR         42      /* corrode armor (black pudding) */
00081 #define AD_HEAD         50      /* decapitate (vorpal jabberwock) */
00082 
00083 #define AD_CLRC         240     /* random clerical spell */
00084 #define AD_SPEL         241     /* random magic spell */
00085 #define AD_RBRE         242     /* random breath weapon */
00086 
00087 #define AD_SAMU         252     /* hits, may steal Amulet (Wizard) */
00088 #define AD_CURS         253     /* random curse (ex. gremlin) */
00089 
00090 
00091 /*
00092  *  Monster to monster attacks.  When a monster attacks another (mattackm),
00093  *  any or all of the following can be returned.  See mattackm() for more
00094  *  details.
00095  */
00096 #define MM_MISS         0x0     /* aggressor missed */
00097 #define MM_HIT          0x1     /* aggressor hit defender */
00098 #define MM_DEF_DIED     0x2     /* defender died */
00099 #define MM_AGR_DIED     0x4     /* aggressor died */
00100 
00101 #endif /* MONATTK_H */