Source:NetHack 3.0.0/permonst.h

Below is the full text to permonst.h from the source code of NetHack 3.0.0. To link to a particular line, write [[NetHack 3.0.0/permonst.h#line123 ]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

1.   /*	SCCS Id: @(#)permonst.h	3.0	88/04/05 2.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3.    /* NetHack may be freely redistributed. See license for details. */ 4.     5.    #ifndef PERMONST_H 6.   #define PERMONST_H 7.    8.    /*	This structure covers all attack forms. 9.    *	aatyp is the gross attack type (eg. claw, bite, breath, ...) 10.   *	adtyp is the damage type (eg. physical, fire, cold, spell, ...) 11.   *	damn is the number of hit dice of damage from the attack. 12.   *	damd is the number of sides on each die. 13.   *  14.    *	Some attacks can do no points of damage. Additionally, some can 15.   *	have special effects *and* do damage as well. If damn and damd 16.   *	are set, they may have a special meaning. For example, if set 17.   *	for a blinding attack, they determine the amount of time blinded. 18.   */  19.   struct attack { 20.   21.   	uchar           aatyp; 22.  	uchar           adtyp, damn, damd; 23.  };  24.    25.   /*	Max # of attacks for any given monster. 26.   */  27.    28.   #define	NATTK	5 29.   30.   #include "monattk.h"  31. #include "monflag.h" 32. 33.  struct permonst { 34.   35.   	char		*mname, mlet;		/* full name and sym */ 36.  	schar		mlevel,			/* base monster level */ 37.  			mmove,			/* move speed */ 38.  			ac,			/* (base) armor class */ 39.  			mr,			/* (base) magic resistance */ 40.  			maligntyp;		/* basic monster alignment */ 41.  	unsigned	geno;			/* creation/geno mask value */ 42.  	struct	attack	mattk[NATTK];		/* attacks matrix */ 43.  	unsigned	cwt,			/* weight of corpse */ 44.  			cnutrit;		/* its nutritional value */ 45.  	short		pxlth;			/* length of extension */ 46.  	uchar		msound;			/* noise it makes */ 47.  	long		mflags1,		/* boolean bitflags */ 48.  			mflags2;		/* more boolean bitflags */ 49.  };  50.    51.   extern struct permonst mons[];		/* the master list of monster types */ 52.  extern struct permonst playermon, *uasmon;	/* you in the same terms */ 53.   54.   #endif /* PERMONST_H /**/