About: Source:NetHack 3.3.0/youprop.h   Sponge Permalink

An Entity of Type : owl:Thing, within Data Space : 134.155.108.49:8890 associated with source dataset(s)

Below is the full text to youprop.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/youprop.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code

AttributesValues
rdfs:label
  • Source:NetHack 3.3.0/youprop.h
rdfs:comment
  • Below is the full text to youprop.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/youprop.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code
dcterms:subject
dbkwik:nethack/pro...iPageUsesTemplate
abstract
  • Below is the full text to youprop.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.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.3 99/07/02 */ 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. #include "prop.h" 9. #include "permonst.h" 10. #include "mondata.h" 11. #include "pm.h" 12. 13. 14. /* KMH, intrinsics patch. 15. * Reorganized and rewritten for >32-bit properties. 16. * HXxx refers to intrinsic bitfields while in human form. 17. * EXxx refers to extrinsic bitfields from worn objects. 18. * BXxx refers to the cause of the property being blocked. 19. * Xxx refers to any source, including polymorph forms. 20. */ 21. 22. 23. #define maybe_polyd(if_so,if_not) (Upolyd ? (if_so) : (if_not)) 24. 25. 26. /*** Resistances to troubles ***/ 27. /* With intrinsics and extrinsics */ 28. #define HFire_resistance u.uprops[FIRE_RES].intrinsic 29. #define EFire_resistance u.uprops[FIRE_RES].extrinsic 30. #define Fire_resistance (HFire_resistance || EFire_resistance || \ 31. resists_fire(&youmonst)) 32. 33. #define HCold_resistance u.uprops[COLD_RES].intrinsic 34. #define ECold_resistance u.uprops[COLD_RES].extrinsic 35. #define Cold_resistance (HCold_resistance || ECold_resistance || \ 36. resists_cold(&youmonst)) 37. 38. #define HSleep_resistance u.uprops[SLEEP_RES].intrinsic 39. #define ESleep_resistance u.uprops[SLEEP_RES].extrinsic 40. #define Sleep_resistance (HSleep_resistance || ESleep_resistance || \ 41. resists_sleep(&youmonst)) 42. 43. #define HDisint_resistance u.uprops[DISINT_RES].intrinsic 44. #define EDisint_resistance u.uprops[DISINT_RES].extrinsic 45. #define Disint_resistance (HDisint_resistance || EDisint_resistance || \ 46. resists_disint(&youmonst)) 47. 48. #define HShock_resistance u.uprops[SHOCK_RES].intrinsic 49. #define EShock_resistance u.uprops[SHOCK_RES].extrinsic 50. #define Shock_resistance (HShock_resistance || EShock_resistance || \ 51. resists_elec(&youmonst)) 52. 53. #define HPoison_resistance u.uprops[POISON_RES].intrinsic 54. #define EPoison_resistance u.uprops[POISON_RES].extrinsic 55. #define Poison_resistance (HPoison_resistance || EPoison_resistance || \ 56. resists_poison(&youmonst)) 57. 58. #define HDrain_resistance u.uprops[DRAIN_RES].intrinsic 59. #define EDrain_resistance u.uprops[DRAIN_RES].extrinsic 60. #define Drain_resistance (HDrain_resistance || EDrain_resistance || \ 61. resists_drli(&youmonst)) 62. 63. /* Intrinsics only */ 64. #define HSick_resistance u.uprops[SICK_RES].intrinsic 65. #define Sick_resistance (HSick_resistance || \ 66. youmonst.data->mlet == S_FUNGUS || \ 67. defends(AD_DISE,uwep)) 68. #define Invulnerable u.uprops[INVULNERABLE].intrinsic /* [Tom] */ 69. 70. /* Extrinsics only */ 71. #define EAntimagic u.uprops[ANTIMAGIC].extrinsic 72. #define Antimagic (EAntimagic || \ 73. (Upolyd && resists_magm(&youmonst))) 74. 75. #define EAcid_resistance u.uprops[ACID_RES].extrinsic 76. #define Acid_resistance (EAcid_resistance || resists_acid(&youmonst)) 77. 78. #define EStone_resistance u.uprops[STONE_RES].extrinsic 79. #define Stone_resistance (EStone_resistance || resists_ston(&youmonst)) 80. 81. 82. /*** Troubles ***/ 83. /* Pseudo-property */ 84. #define Punished (uball) 85. 86. /* Those implemented solely as timeouts (we use just intrinsic) */ 87. #define HStun u.uprops[STUNNED].intrinsic 88. #define Stunned (HStun || u.umonnum == PM_STALKER || \ 89. youmonst.data->mlet == S_BAT) 90. /* Note: birds will also be stunned */ 91. 92. #define HConfusion u.uprops[CONFUSION].intrinsic 93. #define Confusion HConfusion 94. 95. #define Blinded u.uprops[BLINDED].intrinsic 96. #define Blindfolded (ublindf && ublindf->otyp != LENSES) 97. /* ...means blind because of a cover */ 98. #define Blind ((Blinded || Blindfolded || !haseyes(youmonst.data)) && \ 99. !(ublindf && ublindf->oartifact == ART_EYES_OF_THE_OVERWORLD)) 100. /* ...the Eyes operate even when you really are blind 101. or don't have any eyes */ 102. 103. #define Sick u.uprops[SICK].intrinsic 104. #define Stoned u.uprops[STONED].intrinsic 105. #define Strangled u.uprops[STRANGLED].intrinsic 106. #define Vomiting u.uprops[VOMITING].intrinsic 107. #define Glib u.uprops[GLIB].intrinsic 108. #define Slimed u.uprops[SLIMED].intrinsic /* [Tom] */ 109. 110. /* Hallucination is solely a timeout; its resistance is extrinsic */ 111. #define HHallucination u.uprops[HALLUC].intrinsic 112. #define EHalluc_resistance u.uprops[HALLUC_RES].extrinsic 113. #define Halluc_resistance (EHalluc_resistance || \ 114. (Upolyd && dmgtype(youmonst.data, AD_HALU))) 115. #define Hallucination (HHallucination && !Halluc_resistance) 116. 117. /* Timeout, plus a worn mask */ 118. #define HFumbling u.uprops[FUMBLING].intrinsic 119. #define EFumbling u.uprops[FUMBLING].extrinsic 120. #define Fumbling (HFumbling || EFumbling) 121. 122. #define HWounded_legs u.uprops[WOUNDED_LEGS].intrinsic 123. #define EWounded_legs u.uprops[WOUNDED_LEGS].extrinsic 124. #define Wounded_legs (HWounded_legs || EWounded_legs) 125. 126. #define HSleeping u.uprops[SLEEPING].intrinsic 127. #define ESleeping u.uprops[SLEEPING].extrinsic 128. #define Sleeping (HSleeping || ESleeping) 129. 130. #define HHunger u.uprops[HUNGER].intrinsic 131. #define EHunger u.uprops[HUNGER].extrinsic 132. #define Hunger (HHunger || EHunger) 133. 134. 135. /*** Vision and senses ***/ 136. #define HSee_invisible u.uprops[SEE_INVIS].intrinsic 137. #define ESee_invisible u.uprops[SEE_INVIS].extrinsic 138. #define See_invisible (HSee_invisible || ESee_invisible || \ 139. perceives(youmonst.data)) 140. 141. #define HTelepat u.uprops[TELEPAT].intrinsic 142. #define ETelepat u.uprops[TELEPAT].extrinsic 143. #define Blind_telepat (HTelepat || ETelepat || \ 144. telepathic(youmonst.data)) 145. #define Unblind_telepat (ETelepat) 146. 147. #define HWarning u.uprops[WARNING].intrinsic 148. #define EWarning u.uprops[WARNING].extrinsic 149. #define Warning (HWarning || EWarning) 150. 151. #define HUndead_warning u.uprops[WARN_UNDEAD].intrinsic 152. #define Undead_warning (HUndead_warning) 153. 154. #define HSearching u.uprops[SEARCHING].intrinsic 155. #define ESearching u.uprops[SEARCHING].extrinsic 156. #define Searching (HSearching || ESearching) 157. 158. #define HClairvoyant u.uprops[CLAIRVOYANT].intrinsic 159. #define EClairvoyant u.uprops[CLAIRVOYANT].extrinsic 160. #define BClairvoyant u.uprops[CLAIRVOYANT].blocked 161. #define Clairvoyant ((HClairvoyant || EClairvoyant) &&\ 162. !BClairvoyant) 163. 164. #define HInfravision u.uprops[INFRAVISION].intrinsic 165. #define EInfravision u.uprops[INFRAVISION].extrinsic 166. #define Infravision (HInfravision || EInfravision || \ 167. infravision(youmonst.data)) 168. 169. #define HDetect_monsters u.uprops[DETECT_MONSTERS].intrinsic 170. #define EDetect_monsters u.uprops[DETECT_MONSTERS].extrinsic 171. #define Detect_monsters (HDetect_monsters || EDetect_monsters) 172. 173. 174. /*** Appearance and behavior ***/ 175. #define Adornment u.uprops[ADORNED].extrinsic 176. 177. #define HInvis u.uprops[INVIS].intrinsic 178. #define EInvis u.uprops[INVIS].extrinsic 179. #define BInvis u.uprops[INVIS].blocked 180. #define Invis ((HInvis || EInvis || \ 181. pm_invisible(youmonst.data)) && !BInvis) 182. #define Invisible (Invis && !See_invisible) 183. 184. #define EDisplaced u.uprops[DISPLACED].extrinsic 185. #define Displaced EDisplaced 186. 187. #define HStealth u.uprops[STEALTH].intrinsic 188. #define EStealth u.uprops[STEALTH].extrinsic 189. #define BStealth u.uprops[STEALTH].blocked 190. #define Stealth ((HStealth || EStealth) && !BStealth) 191. 192. #define HAggravate_monster u.uprops[AGGRAVATE_MONSTER].intrinsic 193. #define EAggravate_monster u.uprops[AGGRAVATE_MONSTER].extrinsic 194. #define Aggravate_monster (HAggravate_monster || EAggravate_monster) 195. 196. #define HConflict u.uprops[CONFLICT].intrinsic 197. #define EConflict u.uprops[CONFLICT].extrinsic 198. #define Conflict (HConflict || EConflict) 199. 200. 201. /*** Transportation ***/ 202. #define HJumping u.uprops[JUMPING].intrinsic 203. #define EJumping u.uprops[JUMPING].extrinsic 204. #define Jumping (HJumping || EJumping) 205. 206. #define HTeleportation u.uprops[TELEPORT].intrinsic 207. #define ETeleportation u.uprops[TELEPORT].extrinsic 208. #define Teleportation (HTeleportation || ETeleportation || \ 209. can_teleport(youmonst.data)) 210. 211. #define HTeleport_control u.uprops[TELEPORT_CONTROL].intrinsic 212. #define ETeleport_control u.uprops[TELEPORT_CONTROL].extrinsic 213. #define Teleport_control (HTeleport_control || ETeleport_control || \ 214. control_teleport(youmonst.data)) 215. 216. #define HLevitation u.uprops[LEVITATION].intrinsic 217. #define ELevitation u.uprops[LEVITATION].extrinsic 218. #define Levitation (HLevitation || ELevitation || \ 219. is_floater(youmonst.data)) 220. /* Can't touch surface, can't go under water; overrides all others */ 221. #define Lev_at_will (((HLevitation & I_SPECIAL) != 0L || \ 222. (ELevitation & W_ARTI) != 0L) && \ 223. (HLevitation & ~(I_SPECIAL|TIMEOUT)) == 0L && \ 224. (ELevitation & ~W_ARTI) == 0L && \ 225. !is_floater(youmonst.data)) 226. 227. #define EFlying u.uprops[FLYING].extrinsic 228. #ifdef STEED 229. # define Flying (EFlying || is_flyer(youmonst.data) || \ 230. (u.usteed && is_flyer(u.usteed->data))) 231. #else 232. # define Flying (EFlying || is_flyer(youmonst.data)) 233. #endif 234. /* May touch surface; does not override any others */ 235. 236. #define Wwalking (u.uprops[WWALKING].extrinsic && \ 237. !Is_waterlevel(&u.uz)) 238. /* Don't get wet, can't go under water; overrides others except levitation */ 239. /* Wwalking is meaningless on water level */ 240. 241. #define HSwimming u.uprops[SWIMMING].intrinsic 242. #define ESwimming u.uprops[SWIMMING].extrinsic /* [Tom] */ 243. #ifdef STEED 244. # define Swimming (HSwimming || ESwimming || \ 245. is_swimmer(youmonst.data) || \ 246. (u.usteed && is_swimmer(u.usteed->data))) 247. #else 248. # define Swimming (HSwimming || ESwimming || \ 249. is_swimmer(youmonst.data)) 250. #endif 251. /* Get wet, don't go under water unless if amphibious */ 252. 253. #define HMagical_breathing u.uprops[MAGICAL_BREATHING].intrinsic 254. #define EMagical_breathing u.uprops[MAGICAL_BREATHING].extrinsic 255. #define Amphibious (HMagical_breathing || EMagical_breathing || \ 256. amphibious(youmonst.data)) 257. /* Get wet, may go under surface */ 258. 259. #define Breathless (HMagical_breathing || EMagical_breathing || \ 260. breathless(youmonst.data)) 261. 262. #define Underwater (u.uinwater) 263. /* Note that Underwater and u.uinwater are both used in code. 264. The latter form is for later implementation of other in-water 265. states, like swimming, wading, etc. */ 266. 267. #define HPasses_walls u.uprops[PASSES_WALLS].intrinsic 268. #define EPasses_walls u.uprops[PASSES_WALLS].extrinsic 269. #define Passes_walls (HPasses_walls || EPasses_walls || \ 270. passes_walls(youmonst.data)) 271. 272. 273. /*** Physical attributes ***/ 274. #define HSlow_digestion u.uprops[SLOW_DIGESTION].intrinsic 275. #define ESlow_digestion u.uprops[SLOW_DIGESTION].extrinsic 276. #define Slow_digestion (HSlow_digestion || ESlow_digestion) /* KMH */ 277. 278. #define HHalf_spell_damage u.uprops[HALF_SPDAM].intrinsic 279. #define EHalf_spell_damage u.uprops[HALF_SPDAM].extrinsic 280. #define Half_spell_damage (HHalf_spell_damage || EHalf_spell_damage) 281. 282. #define HHalf_physical_damage u.uprops[HALF_PHDAM].intrinsic 283. #define EHalf_physical_damage u.uprops[HALF_PHDAM].extrinsic 284. #define Half_physical_damage (HHalf_physical_damage || EHalf_physical_damage) 285. 286. #define HRegeneration u.uprops[REGENERATION].intrinsic 287. #define ERegeneration u.uprops[REGENERATION].extrinsic 288. #define Regeneration (HRegeneration || ERegeneration || \ 289. regenerates(youmonst.data)) 290. 291. #define HEnergy_regeneration u.uprops[ENERGY_REGENERATION].intrinsic 292. #define EEnergy_regeneration u.uprops[ENERGY_REGENERATION].extrinsic 293. #define Energy_regeneration (HEnergy_regeneration || EEnergy_regeneration) 294. 295. #define HProtection u.uprops[PROTECTION].intrinsic 296. #define EProtection u.uprops[PROTECTION].extrinsic 297. #define Protection (HProtection || EProtection) 298. 299. #define HProtection_from_shape_changers \ 300. u.uprops[PROT_FROM_SHAPE_CHANGERS].intrinsic 301. #define EProtection_from_shape_changers \ 302. u.uprops[PROT_FROM_SHAPE_CHANGERS].extrinsic 303. #define Protection_from_shape_changers \ 304. (HProtection_from_shape_changers || \ 305. EProtection_from_shape_changers) 306. 307. #define HPolymorph u.uprops[POLYMORPH].intrinsic 308. #define EPolymorph u.uprops[POLYMORPH].extrinsic 309. #define Polymorph (HPolymorph || EPolymorph) 310. 311. #define HPolymorph_control u.uprops[POLYMORPH_CONTROL].intrinsic 312. #define EPolymorph_control u.uprops[POLYMORPH_CONTROL].extrinsic 313. #define Polymorph_control (HPolymorph_control || EPolymorph_control) 314. 315. #define HUnchanging u.uprops[UNCHANGING].intrinsic 316. #define EUnchanging u.uprops[UNCHANGING].extrinsic 317. #define Unchanging (HUnchanging || EUnchanging) /* KMH */ 318. 319. #define HFast u.uprops[FAST].intrinsic 320. #define EFast u.uprops[FAST].extrinsic 321. #define Fast (HFast || EFast) 322. #define Very_fast ((HFast & ~INTRINSIC) || EFast) 323. 324. #define EReflecting u.uprops[REFLECTING].extrinsic 325. #define Reflecting (EReflecting || \ 326. (youmonst.data == &mons[PM_SILVER_DRAGON])) 327. 328. #define Free_action u.uprops[FREE_ACTION].extrinsic /* [Tom] */ 329. 330. #define Fixed_abil u.uprops[FIXED_ABIL].extrinsic /* KMH */ 331. 332. #define Lifesaved u.uprops[LIFESAVED].extrinsic 333. 334. 335. #endif /* YOUPROP_H */
Alternative Linked Data Views: ODE     Raw Data in: CXML | CSV | RDF ( N-Triples N3/Turtle JSON XML ) | OData ( Atom JSON ) | Microdata ( JSON HTML) | JSON-LD    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3217, on Linux (x86_64-pc-linux-gnu), Standard Edition
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2012 OpenLink Software