Source:Prop.h

Below is the full text to include/prop.h from NetHack 3.4.3. To link to a particular line, write [[prop.h#line123 ]], for example. 1.   /*	SCCS Id: @(#)prop.h	3.4	1999/07/07	*/ 2.   /* Copyright (c) 1989 Mike Threepoint				  */ 3.   /* NetHack may be freely redistributed. See license for details. */ 4.

5.   #ifndef PROP_H 6.   #define PROP_H 7.    8.    /*** What the properties are ***/ 9.   #define FIRE_RES		 1 10.  #define COLD_RES		 2 11.  #define SLEEP_RES		 3 12.  #define DISINT_RES		 4 13.  #define SHOCK_RES		 5 14.  #define POISON_RES		 6 15.  #define ACID_RES		 7 16.  #define STONE_RES		 8 17.  /* note: for the first eight properties, MR_xxx == (1 << (xxx_RES - 1)) */ 18.  #define ADORNED			 9 19.  #define REGENERATION		10 20.  #define SEARCHING		11 21.  #define SEE_INVIS		12 22.  #define INVIS			13 23.  #define TELEPORT		14 24.  #define TELEPORT_CONTROL	15 25.  #define POLYMORPH		16 26.  #define POLYMORPH_CONTROL	17 27.  #define LEVITATION		18 28.  #define STEALTH			19 29.  #define AGGRAVATE_MONSTER	20 30.  #define CONFLICT		21 31.  #define PROTECTION		22 32.  #define PROT_FROM_SHAPE_CHANGERS 23 33.  #define WARNING			24 34.  #define TELEPAT			25 35.  #define FAST			26 36.  #define STUNNED			27 37.  #define CONFUSION		28 38.  #define SICK			29 39.  #define BLINDED			30 40.  #define SLEEPING		31 41.  #define WOUNDED_LEGS		32 42.  #define STONED			33 43.  #define STRANGLED		34 44.  #define HALLUC			35 45.  #define HALLUC_RES		36 46.  #define FUMBLING		37 47.  #define JUMPING			38 48.  #define WWALKING		39 49.  #define HUNGER			40 50.  #define GLIB			41 51.  #define REFLECTING		42 52.  #define LIFESAVED		43 53.  #define ANTIMAGIC		44 54.  #define DISPLACED		45 55.  #define CLAIRVOYANT		46 56.  #define VOMITING		47 57.  #define ENERGY_REGENERATION	48 58.  #define MAGICAL_BREATHING	49 59.  #define HALF_SPDAM		50 60.  #define HALF_PHDAM		51 61.  #define SICK_RES		52 62.  #define DRAIN_RES		53 63.  #define WARN_UNDEAD		54 64.  #define INVULNERABLE		55 65.  #define FREE_ACTION		56 66.  #define SWIMMING		57 67.  #define SLIMED			58 68.  #define FIXED_ABIL		59 69.  #define FLYING			60 70.  #define UNCHANGING		61 71.  #define PASSES_WALLS		62 72.  #define SLOW_DIGESTION		63 73.  #define INFRAVISION		64 74.  #define WARN_OF_MON		65 75.  #define DETECT_MONSTERS		66 76.  #define LAST_PROP		(DETECT_MONSTERS) 77.   78.   /*** Where the properties come from ***/ 79.  /* Definitions were moved here from obj.h and you.h */ 80.  struct prop { 81.  	/*** Properties conveyed by objects ***/ 82.  	long extrinsic; 83.  	/* Armor */ 84.  #	define W_ARM	    0x00000001L /* Body armor */ 85.  #	define W_ARMC	    0x00000002L /* Cloak */ 86.  #	define W_ARMH	    0x00000004L /* Helmet/hat */ 87.  #	define W_ARMS	    0x00000008L /* Shield */ 88.  #	define W_ARMG	    0x00000010L /* Gloves/gauntlets */ 89.  #	define W_ARMF	    0x00000020L /* Footwear */ 90.  #ifdef TOURIST 91.  #	define W_ARMU	    0x00000040L /* Undershirt */ 92.  #	define W_ARMOR	     (W_ARM | W_ARMC | W_ARMH | W_ARMS | W_ARMG | W_ARMF | W_ARMU) 93.  #else 94.  #	define W_ARMOR	     (W_ARM | W_ARMC | W_ARMH | W_ARMS | W_ARMG | W_ARMF) 95.  #endif 96.  	/* Weapons and artifacts */ 97.  #	define W_WEP	    0x00000100L /* Wielded weapon */ 98.  #	define W_QUIVER     0x00000200L /* Quiver for (f)iring ammo */ 99.  #	define W_SWAPWEP    0x00000400L /* Secondary weapon */ 100. #	define W_ART	    0x00001000L /* Carrying artifact (not really worn) */ 101. #	define W_ARTI	    0x00002000L /* Invoked artifact  (not really worn) */ 102. 	/* Amulets, rings, tools, and other items */ 103. #	define W_AMUL	    0x00010000L /* Amulet */ 104. #	define W_RINGL	    0x00020000L /* Left ring */ 105. #	define W_RINGR	    0x00040000L /* Right ring */ 106. #	define W_RING	    (W_RINGL | W_RINGR) 107. #	define W_TOOL	    0x00080000L /* Eyewear */ 108. #ifdef STEED 109. #	define W_SADDLE     0x00100000L	/* KMH -- For riding monsters */ 110. #endif 111. #	define W_BALL	    0x00200000L /* Punishment ball */ 112. #	define W_CHAIN	    0x00400000L /* Punishment chain */ 113.  114.  	/*** Property is blocked by an object ***/ 115. 	long blocked;					/* Same assignments as extrinsic */ 116.  117.  	/*** Timeouts, permanent properties, and other flags ***/ 118. 	long intrinsic; 119. 	/* Timed properties */ 120. #	define TIMEOUT	    0x00ffffffL /* Up to 16 million turns */ 121. 	/* Permanent properties */ 122. #	define FROMEXPER    0x01000000L /* Gain/lose with experience, for role */ 123. #	define FROMRACE     0x02000000L /* Gain/lose with experience, for race */ 124. #	define FROMOUTSIDE  0x04000000L /* By corpses, prayer, thrones, etc. */ 125. #	define INTRINSIC    (FROMOUTSIDE|FROMRACE|FROMEXPER) 126. 	/* Control flags */ 127. #	define I_SPECIAL    0x10000000L /* Property is controllable */ 128. };  129.   130.  /*** Definitions for backwards compatibility ***/ 131. #define LEFT_RING	W_RINGL 132. #define RIGHT_RING	W_RINGR 133. #define LEFT_SIDE	LEFT_RING 134. #define RIGHT_SIDE	RIGHT_RING 135. #define BOTH_SIDES	(LEFT_SIDE | RIGHT_SIDE) 136. #define WORN_ARMOR	W_ARM 137. #define WORN_CLOAK	W_ARMC 138. #define WORN_HELMET	W_ARMH 139. #define WORN_SHIELD	W_ARMS 140. #define WORN_GLOVES	W_ARMG 141. #define WORN_BOOTS	W_ARMF 142. #define WORN_AMUL	W_AMUL 143. #define WORN_BLINDF	W_TOOL 144. #ifdef TOURIST 145. #define WORN_SHIRT	W_ARMU 146. #endif 147.  148.  #endif /* PROP_H */