home *** CD-ROM | disk | FTP | other *** search
- /* SCCS Id: @(#)permonst.h 3.1 92/11/21 */
- /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
- /* NetHack may be freely redistributed. See license for details. */
-
- #ifndef PERMONST_H
- #define PERMONST_H
-
- /* This structure covers all attack forms.
- * aatyp is the gross attack type (eg. claw, bite, breath, ...)
- * adtyp is the damage type (eg. physical, fire, cold, spell, ...)
- * damn is the number of hit dice of damage from the attack.
- * damd is the number of sides on each die.
- *
- * Some attacks can do no points of damage. Additionally, some can
- * have special effects *and* do damage as well. If damn and damd
- * are set, they may have a special meaning. For example, if set
- * for a blinding attack, they determine the amount of time blinded.
- */
-
- struct attack {
- uchar aatyp;
- uchar adtyp, damn, damd;
- };
-
- /* Max # of attacks for any given monster.
- */
-
- #define NATTK 6
-
- /* Weight of a human body
- */
-
- #define WT_HUMAN 1450
-
- #include "monattk.h"
- #include "monflag.h"
- #ifndef ALIGN_H
- #include "align.h"
- #endif
-
- struct permonst {
- const char *mname; /* full name */
- char mlet; /* symbol */
- schar mlevel, /* base monster level */
- mmove, /* move speed */
- ac, /* (base) armor class */
- mr; /* (base) magic resistance */
- aligntyp maligntyp; /* basic monster alignment */
- unsigned geno; /* creation/geno mask value */
- struct attack mattk[NATTK]; /* attacks matrix */
- unsigned short cwt, /* weight of corpse */
- cnutrit; /* its nutritional value */
- short pxlth; /* length of extension */
- uchar msound; /* noise it makes (6 bits) */
- uchar msize; /* physical size (3 bits) */
- uchar mresists; /* resistances */
- uchar mconveys; /* conveyed by eating */
- long mflags1, /* boolean bitflags */
- mflags2; /* more boolean bitflags */
- uchar mflags3; /* yet more boolean bitflags */
- # ifdef TEXTCOLOR
- uchar mcolor; /* color to use */
- # endif
- };
-
- extern struct permonst
- NEARDATA mons[]; /* the master list of monster types */
- extern struct permonst NEARDATA playermon, NEARDATA *uasmon;
- /* you in the same terms */
-
- #endif /* PERMONST_H */
-