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 */