Wikihack
Advertisement

Below is the full text to prop.h from the source code of SLASH'EM 0.0.7E7F2. To link to a particular line, write [[SLASH'EM 0.0.7E7F2/prop.h#line123]], for example.

The latest source code for vanilla NetHack is at Source code.


The NetHack General Public License applies to screenshots, source code and other content from NetHack.
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 */
Advertisement