Source:NetHack 3.2.0/youprop.h

Below is the full text to youprop.h from the source code of NetHack 3.2.0. To link to a particular line, write [[NetHack 3.2.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.2	96/03/28	*/ 2.   /* Copyright (c) 1989 Mike Threepoint				  */ 3.   /* NetHack may be freely redistributed. See license for details. */ 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.   #define maybe_polyd(if_so,if_not)	(Upolyd ? (if_so) : (if_not)) 22.   23.   /* three pseudo-properties */ 24.  #define Blindfolded	(ublindf) 25.  #define Punished	(uball) 26.  #define Underwater	(u.uinwater) 27.  /* Note that Underwater and u.uinwater are both used in code. 28.     The latter form is for later implementation of other in-water 29.     states, like swimming, wading, etc. */ 30.   31.   #define HFire_resistance	u.uprops[FIRE_RES].p_flgs 32.  #define Fire_resistance		(HFire_resistance || resists_fire(&youmonst)) 33.   34.   #define HCold_resistance	u.uprops[COLD_RES].p_flgs 35.  #define Cold_resistance		(HCold_resistance || resists_cold(&youmonst)) 36.   37.   #define HSleep_resistance	u.uprops[SLEEP_RES].p_flgs 38.  #define Sleep_resistance	(HSleep_resistance || resists_sleep(&youmonst)) 39.   40.   #define HDisint_resistance	u.uprops[DISINT_RES].p_flgs 41.  #define Disint_resistance	(HDisint_resistance || resists_disint(&youmonst)) 42.   43.   #define HShock_resistance	u.uprops[SHOCK_RES].p_flgs 44.  #define Shock_resistance	(HShock_resistance || resists_elec(&youmonst)) 45.   46.   #define HPoison_resistance	u.uprops[POISON_RES].p_flgs 47.  #define Poison_resistance	(HPoison_resistance || resists_poison(&youmonst)) 48.   49.   #define Adornment		u.uprops[ADORNED].p_flgs 50.   51.   #define HRegeneration		u.uprops[REGENERATION].p_flgs 52.  #define Regeneration		(HRegeneration || regenerates(uasmon)) 53.   54.   #define Searching		u.uprops[SEARCHING].p_flgs 55.   56.   #define HSee_invisible		u.uprops[SEE_INVIS].p_flgs 57.  #define See_invisible		(HSee_invisible || perceives(uasmon)) 58.   59.   #define HInvis			u.uprops[INVIS].p_flgs 60.  #define Invis			((HInvis || pm_invisible(uasmon)) && \  61.   				 !(HInvis & I_BLOCKED)) 62.  #define Invisible		(Invis && !See_invisible) 63.   64.   #define HTeleportation		u.uprops[TELEPORT].p_flgs 65.  #define Teleportation		(HTeleportation || can_teleport(uasmon)) 66.   67.   #define HTeleport_control	u.uprops[TELEPORT_CONTROL].p_flgs 68.  #define Teleport_control	(HTeleport_control || control_teleport(uasmon)) 69.   70.   #define Polymorph		u.uprops[POLYMORPH].p_flgs 71.  #define Polymorph_control	u.uprops[POLYMORPH_CONTROL].p_flgs 72.   73.   #define HLevitation		u.uprops[LEVITATION].p_flgs 74.  #define Levitation		(HLevitation || is_floater(uasmon)) 75.   76.   #define Stealth			u.uprops[STEALTH].p_flgs 77.  #define Aggravate_monster	u.uprops[AGGRAVATE_MONSTER].p_flgs 78.  #define Conflict		u.uprops[CONFLICT].p_flgs 79.  #define Protection		u.uprops[PROTECTION].p_flgs 80.  #define Protection_from_shape_changers \ 81.  				u.uprops[PROT_FROM_SHAPE_CHANGERS].p_flgs 82.  #define Warning			u.uprops[WARNING].p_flgs 83.   84.   #define HTelepat		u.uprops[TELEPAT].p_flgs 85.  #define Telepat			(HTelepat || telepathic(uasmon)) 86.   87.   #define Fast			u.uprops[FAST].p_flgs 88.   89.   #define HStun			u.uprops[STUNNED].p_flgs 90.  #define Stunned			(HStun || u.usym==S_BAT || u.usym==S_STALKER) 91.   92.   #define HConfusion		u.uprops[CONFUSION].p_flgs 93.  #define Confusion		HConfusion 94.   95.   #define Sick			u.uprops[SICK].p_flgs 96.  #define Blinded			u.uprops[BLINDED].p_flgs 97.  #define Blind			(Blinded || Blindfolded || !haseyes(uasmon)) 98.  #define Sleeping		u.uprops[SLEEPING].p_flgs 99.  #define Wounded_legs		u.uprops[WOUNDED_LEGS].p_flgs 100. #define Stoned			u.uprops[STONED].p_flgs 101. #define Strangled		u.uprops[STRANGLED].p_flgs 102. #define HHallucination		u.uprops[HALLUC].p_flgs 103. #define HHalluc_resistance	u.uprops[HALLUC_RES].p_flgs 104. #define Hallucination		(HHallucination && !HHalluc_resistance) 105. #define Fumbling		u.uprops[FUMBLING].p_flgs 106. #define Jumping			u.uprops[JUMPING].p_flgs 107. /* Wwalking is meaningless on water level */ 108. #define Wwalking		(u.uprops[WWALKING].p_flgs && \  109.  				 !Is_waterlevel(&u.uz)) 110. #define Hunger			u.uprops[HUNGER].p_flgs 111. #define Glib			u.uprops[GLIB].p_flgs 112. #define Reflecting		u.uprops[REFLECTING].p_flgs 113. #define Lifesaved		u.uprops[LIFESAVED].p_flgs 114. #define HAntimagic		u.uprops[ANTIMAGIC].p_flgs 115. #define Antimagic		(HAntimagic || \  116.  				 (Upolyd && resists_magm(&youmonst))) 117. #define Displaced		u.uprops[DISPLACED].p_flgs 118. #define HClairvoyant		u.uprops[CLAIRVOYANT].p_flgs 119. #define Clairvoyant		(HClairvoyant && !(HClairvoyant & I_BLOCKED)) 120. #define Vomiting		u.uprops[VOMITING].p_flgs 121. #define Energy_regeneration	u.uprops[ENERGY_REGENERATION].p_flgs 122. #define HMagical_breathing	u.uprops[MAGICAL_BREATHING].p_flgs 123. #define Amphibious		(HMagical_breathing || amphibious(uasmon)) 124. #define Breathless		(HMagical_breathing || breathless(uasmon)) 125. #define Half_spell_damage	u.uprops[HALF_SPDAM].p_flgs 126. #define Half_physical_damage	u.uprops[HALF_PHDAM].p_flgs 127.  128.  #endif /* YOUPROP_H */