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