Source:NetHack 3.0.0/youprop.h

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

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

1.   /*	SCCS Id: @(#)youprop.h	3.0	89/06/24 2.   /* NetHack may be freely redistributed. See license for details. */ 3.    /* Copyright (c) 1989 Mike Threepoint */ 4.    5.    #ifndef YOUPROP_H 6.   #define YOUPROP_H 7.    8.    #ifndef PROP_H 9.   #include "prop.h"  10. #endif 11.  #ifndef PERMONST_H 12.  #include "permonst.h"  13. #endif 14.  #ifndef MONDATA_H 15.  #include "mondata.h"  16. #endif 17.  #ifndef PM_H 18.  #include "pm.h"  19. #endif 20.   21.   #ifndef NAMED_ITEMS 22.  # define defends(attk,uwep)	0 23.  #endif 24.   25.   /* two pseudo-properties */ 26.  #define Blindfolded	(ublindf) 27.  #define Punished	(uball) 28.   29.   /* perhaps these #define's should also be generated by makedefs */ 30.  #define HFire_resistance	u.uprops[FIRE_RES].p_flgs 31.  #ifdef POLYSELF 32.  #define Fire_resistance	((HFire_resistance) || resists_fire(uasmon) || defends(AD_FIRE,uwep)) 33.  #else 34.  #define Fire_resistance	((HFire_resistance) || defends(AD_FIRE,uwep)) 35.  #endif 36.   37.   #define HSleep_resistance	u.uprops[SLEEP_RES].p_flgs 38.  #ifdef POLYSELF 39.  #define Sleep_resistance	((HSleep_resistance) || resists_sleep(uasmon)) 40.  #else 41.  #define Sleep_resistance	HSleep_resistance 42.  #endif 43.   44.   #define HCold_resistance	u.uprops[COLD_RES].p_flgs 45.  #ifdef POLYSELF 46.  #define Cold_resistance	((HCold_resistance) || resists_cold(uasmon) || defends(AD_COLD,uwep)) 47.  #else 48.  #define Cold_resistance	((HCold_resistance) || defends(AD_COLD,uwep)) 49.  #endif 50.   51.   #define HDisint_resistance	u.uprops[DISINT_RES].p_flgs 52.  #ifdef POLYSELF 53.  #define Disint_resistance	((HDisint_resistance) || resists_disint(uasmon)) 54.  #else 55.  #define Disint_resistance	HDisint_resistance 56.  #endif 57.   58.   #define HShock_resistance	u.uprops[SHOCK_RES].p_flgs 59.  #ifdef POLYSELF 60.  #define Shock_resistance	((HShock_resistance) || resists_elec(uasmon) || defends(AD_ELEC,uwep)) 61.  #else 62.  #define Shock_resistance	((HShock_resistance) || defends(AD_ELEC,uwep)) 63.  #endif 64.   65.   #define HPoison_resistance	u.uprops[POISON_RES].p_flgs 66.  #ifdef POLYSELF 67.  #define Poison_resistance	((HPoison_resistance) || resists_poison(uasmon)) 68.  #else 69.  #define Poison_resistance	(HPoison_resistance) 70.  #endif 71.   72.   #define Adornment		u.uprops[ADORNED].p_flgs 73.   74.   #define HRegeneration		u.uprops[REGENERATION].p_flgs 75.  #ifdef POLYSELF 76.  #define Regeneration		((HRegeneration) || regenerates(uasmon)) 77.  #else 78.  #define Regeneration		(HRegeneration) 79.  #endif 80.   81.   #define Searching		u.uprops[SEARCHING].p_flgs 82.   83.   #define HSee_invisible		u.uprops[SEE_INVIS].p_flgs 84.  #ifdef POLYSELF 85.  #define See_invisible		((HSee_invisible) || perceives(uasmon)) 86.  #else 87.  #define See_invisible		(HSee_invisible) 88.  #endif 89.   90.   #define HInvis			u.uprops[INVIS].p_flgs 91.  #ifdef POLYSELF 92.  #define Invis			((HInvis) || u.usym == S_STALKER) 93.  #else 94.  #define Invis			(HInvis) 95.  #endif 96.  #define Invisible		(Invis && !See_invisible) 97.   98.   #define HTeleportation		u.uprops[TELEPORT].p_flgs 99.  #ifdef POLYSELF 100. #define Teleportation		((HTeleportation) || can_teleport(uasmon)) 101. #else 102. #define Teleportation		(HTeleportation) 103. #endif 104.  105.  #define HTeleport_control	u.uprops[TELEPORT_CONTROL].p_flgs 106. #ifdef POLYSELF 107. #define Teleport_control	((HTeleport_control) || control_teleport(uasmon)) 108. #else 109. #define Teleport_control	(HTeleport_control) 110. #endif 111.  112.  #define Polymorph		u.uprops[POLYMORPH].p_flgs 113. #define Polymorph_control	u.uprops[POLYMORPH_CONTROL].p_flgs 114.  115.  #define HLevitation		u.uprops[LEVITATION].p_flgs 116. #ifdef POLYSELF 117. #define Levitation		((HLevitation) || is_floater(uasmon)) 118. #else 119. #define Levitation		(HLevitation) 120. #endif 121.  122.  #define Stealth 		u.uprops[STEALTH].p_flgs 123. #define Aggravate_monster	u.uprops[AGGRAVATE_MONSTER].p_flgs 124. #define Conflict		u.uprops[CONFLICT].p_flgs 125. #define Protection		u.uprops[PROTECTION].p_flgs 126. #define Protection_from_shape_changers	u.uprops[PROT_FROM_SHAPE_CHANGERS].p_flgs 127. #define Warning 		u.uprops[WARNING].p_flgs 128.  129.  #define HTelepat		u.uprops[TELEPAT].p_flgs 130. #ifdef POLYSELF 131. #define Telepat 		((HTelepat) || (u.umonnum == PM_FLOATING_EYE)) 132. #else 133. #define Telepat 		(HTelepat) 134. #endif 135.  136.  #define Fast			u.uprops[FAST].p_flgs 137.  138.  #define HStun			u.uprops[STUN].p_flgs 139. #ifdef POLYSELF 140. #define Stunned 	((HStun) || u.usym == S_BAT || u.usym == S_STALKER) 141. #else 142. #define Stunned 		(HStun) 143. #endif 144.  145.  #define HConfusion		u.uprops[CONFUSION].p_flgs 146. #define Confusion		(HConfusion) 147.  148.  #define Sick			u.uprops[SICK].p_flgs 149. #define Blinded 		u.uprops[BLINDED].p_flgs 150. #define Blind			(Blinded || Blindfolded) 151. #define Sleeping		u.uprops[SLEEPING].p_flgs 152. #define Wounded_legs		u.uprops[WOUNDED_LEGS].p_flgs 153. #define Stoned			u.uprops[STONED].p_flgs 154. #define Strangled		u.uprops[STRANGLED].p_flgs 155. #define Hallucination		u.uprops[HALLUC].p_flgs 156. #define Fumbling		u.uprops[FUMBLING].p_flgs 157. #define Jumping 		u.uprops[JUMPING].p_flgs 158. #define Wwalking		u.uprops[WWALKING].p_flgs 159. #define Hunger			u.uprops[HUNGER].p_flgs 160. #define Glib			u.uprops[GLIB].p_flgs 161. #define Reflecting		u.uprops[REFLECTING].p_flgs 162. #define Lifesaved		u.uprops[LIFESAVED].p_flgs 163. #define Antimagic		u.uprops[ANTIMAGIC].p_flgs 164. #define Displaced		u.uprops[DISPLACED].p_flgs 165. #define Clairvoyant		u.uprops[CLAIRVOYANT].p_flgs 166.  167.  #endif /* YOUPROP_H /**/