About: Source:You.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 include/you.h from NetHack 3.4.3. To link to a particular line, write [[you.h#line123]], for example. 1. /* SCCS Id: @(#)you.h 3.4 2000/05/21 */ 2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4.

AttributesValues
rdfs:label
  • Source:You.h
rdfs:comment
  • Below is the full text to include/you.h from NetHack 3.4.3. To link to a particular line, write [[you.h#line123]], for example. 1. /* SCCS Id: @(#)you.h 3.4 2000/05/21 */ 2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4.
dcterms:subject
dbkwik:nethack/pro...iPageUsesTemplate
abstract
  • Below is the full text to include/you.h from NetHack 3.4.3. To link to a particular line, write [[you.h#line123]], for example. 1. /* SCCS Id: @(#)you.h 3.4 2000/05/21 */ 2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #ifndef YOU_H 6. #define YOU_H 7. 8. #include "attrib.h" 9. #include "monst.h" 10. #ifndef PROP_H 11. #include "prop.h" /* (needed here for util/makedefs.c) */ 12. #endif 13. #include "skills.h" 14. 15. /*** Substructures ***/ 16. 17. struct RoleName { 18. const char *m; /* name when character is male */ 19. const char *f; /* when female; null if same as male */ 20. }; 21. 22. struct RoleAdvance { 23. /* "fix" is the fixed amount, "rnd" is the random amount */ 24. xchar infix, inrnd; /* at character initialization */ 25. xchar lofix, lornd; /* gained per level < urole.xlev */ 26. xchar hifix, hirnd; /* gained per level >= urole.xlev */ 27. }; 28. 29. struct u_have { 30. Bitfield(amulet,1); /* carrying Amulet */ 31. Bitfield(bell,1); /* carrying Bell */ 32. Bitfield(book,1); /* carrying Book */ 33. Bitfield(menorah,1); /* carrying Candelabrum */ 34. Bitfield(questart,1); /* carrying the Quest Artifact */ 35. Bitfield(unused,3); 36. }; 37. 38. struct u_event { 39. Bitfield(minor_oracle,1); /* received at least 1 cheap oracle */ 40. Bitfield(major_oracle,1); /* " expensive oracle */ 41. Bitfield(qcalled,1); /* called by Quest leader to do task */ 42. Bitfield(qexpelled,1); /* expelled from the Quest dungeon */ 43. Bitfield(qcompleted,1); /* successfully completed Quest task */ 44. Bitfield(uheard_tune,2); /* 1=know about, 2=heard passtune */ 45. Bitfield(uopened_dbridge,1); /* opened the drawbridge */ 46. 47. Bitfield(invoked,1); /* invoked Gate to the Sanctum level */ 48. Bitfield(gehennom_entered,1); /* entered Gehennom via Valley */ 49. #ifdef ELBERETH 50. Bitfield(uhand_of_elbereth,2); /* became Hand of Elbereth */ 51. #endif 52. Bitfield(udemigod,1); /* killed the wiz */ 53. Bitfield(ascended,1); /* has offered the Amulet */ 54. }; 55. 56. /* KMH, conduct -- 57. * These are voluntary challenges. Each field denotes the number of 58. * times a challenge has been violated. 59. */ 60. struct u_conduct { /* number of times... */ 61. long unvegetarian; /* eaten any animal */ 62. long unvegan; /* ... or any animal byproduct */ 63. long food; /* ... or any comestible */ 64. long gnostic; /* used prayer, priest, or altar */ 65. long weaphit; /* hit a monster with a weapon */ 66. long killer; /* killed a monster yourself */ 67. long literate; /* read something (other than BotD) */ 68. long polypiles; /* polymorphed an object */ 69. long polyselfs; /* transformed yourself */ 70. long wishes; /* used a wish */ 71. long wisharti; /* wished for an artifact */ 72. /* genocides already listed at end of game */ 73. }; 74. 75. /*** Unified structure containing role information ***/ 76. struct Role { 77. /*** Strings that name various things ***/ 78. struct RoleName name; /* the role's name (from u_init.c) */ 79. struct RoleName rank[9]; /* names for experience levels (from botl.c) */ 80. const char *lgod, *ngod, *cgod; /* god names (from pray.c) */ 81. const char *filecode; /* abbreviation for use in file names */ 82. const char *homebase; /* quest leader's location (from questpgr.c) */ 83. const char *intermed; /* quest intermediate goal (from questpgr.c) */ 84. 85. /*** Indices of important monsters and objects ***/ 86. short malenum, /* index (PM_) as a male (botl.c) */ 87. femalenum, /* ...or as a female (NON_PM == same) */ 88. petnum, /* PM_ of preferred pet (NON_PM == random) */ 89. ldrnum, /* PM_ of quest leader (questpgr.c) */ 90. guardnum, /* PM_ of quest guardians (questpgr.c) */ 91. neminum, /* PM_ of quest nemesis (questpgr.c) */ 92. enemy1num, /* specific quest enemies (NON_PM == random) */ 93. enemy2num; 94. char enemy1sym, /* quest enemies by class (S_) */ 95. enemy2sym; 96. short questarti; /* index (ART_) of quest artifact (questpgr.c) */ 97. 98. /*** Bitmasks ***/ 99. short allow; /* bit mask of allowed variations */ 100. #define ROLE_RACEMASK 0x0ff8 /* allowable races */ 101. #define ROLE_GENDMASK 0xf000 /* allowable genders */ 102. #define ROLE_MALE 0x1000 103. #define ROLE_FEMALE 0x2000 104. #define ROLE_NEUTER 0x4000 105. #define ROLE_ALIGNMASK AM_MASK /* allowable alignments */ 106. #define ROLE_LAWFUL AM_LAWFUL 107. #define ROLE_NEUTRAL AM_NEUTRAL 108. #define ROLE_CHAOTIC AM_CHAOTIC 109. 110. /*** Attributes (from attrib.c and exper.c) ***/ 111. xchar attrbase[A_MAX]; /* lowest initial attributes */ 112. xchar attrdist[A_MAX]; /* distribution of initial attributes */ 113. struct RoleAdvance hpadv; /* hit point advancement */ 114. struct RoleAdvance enadv; /* energy advancement */ 115. xchar xlev; /* cutoff experience level */ 116. xchar initrecord; /* initial alignment record */ 117. 118. /*** Spell statistics (from spell.c) ***/ 119. int spelbase; /* base spellcasting penalty */ 120. int spelheal; /* penalty (-bonus) for healing spells */ 121. int spelshld; /* penalty for wearing any shield */ 122. int spelarmr; /* penalty for wearing metal armour */ 123. int spelstat; /* which stat (A_) is used */ 124. int spelspec; /* spell (SPE_) the class excels at */ 125. int spelsbon; /* penalty (-bonus) for that spell */ 126. 127. /*** Properties in variable-length arrays ***/ 128. /* intrinsics (see attrib.c) */ 129. /* initial inventory (see u_init.c) */ 130. /* skills (see u_init.c) */ 131. 132. /*** Don't forget to add... ***/ 133. /* quest leader, guardians, nemesis (monst.c) */ 134. /* quest artifact (artilist.h) */ 135. /* quest dungeon definition (dat/Xyz.dat) */ 136. /* quest text (dat/quest.txt) */ 137. /* dictionary entries (dat/data.bas) */ 138. }; 139. 140. extern const struct Role roles[]; /* table of available roles */ 141. extern struct Role urole; 142. #define Role_if(X) (urole.malenum == (X)) 143. #define Role_switch (urole.malenum) 144. 145. /* used during initialization for race, gender, and alignment 146. as well as for character class */ 147. #define ROLE_NONE (-1) 148. #define ROLE_RANDOM (-2) 149. 150. /*** Unified structure specifying race information ***/ 151. 152. struct Race { 153. /*** Strings that name various things ***/ 154. const char *noun; /* noun ("human", "elf") */ 155. const char *adj; /* adjective ("human", "elven") */ 156. const char *coll; /* collective ("humanity", "elvenkind") */ 157. const char *filecode; /* code for filenames */ 158. struct RoleName individual; /* individual as a noun ("man", "elf") */ 159. 160. /*** Indices of important monsters and objects ***/ 161. short malenum, /* PM_ as a male monster */ 162. femalenum, /* ...or as a female (NON_PM == same) */ 163. mummynum, /* PM_ as a mummy */ 164. zombienum; /* PM_ as a zombie */ 165. 166. /*** Bitmasks ***/ 167. short allow; /* bit mask of allowed variations */ 168. short selfmask, /* your own race's bit mask */ 169. lovemask, /* bit mask of always peaceful */ 170. hatemask; /* bit mask of always hostile */ 171. 172. /*** Attributes ***/ 173. xchar attrmin[A_MAX]; /* minimum allowable attribute */ 174. xchar attrmax[A_MAX]; /* maximum allowable attribute */ 175. struct RoleAdvance hpadv; /* hit point advancement */ 176. struct RoleAdvance enadv; /* energy advancement */ 177. #if 0 /* DEFERRED */ 178. int nv_range; /* night vision range */ 179. int xray_range; /* X-ray vision range */ 180. #endif 181. 182. /*** Properties in variable-length arrays ***/ 183. /* intrinsics (see attrib.c) */ 184. 185. /*** Don't forget to add... ***/ 186. /* quest leader, guardians, nemesis (monst.c) */ 187. /* quest dungeon definition (dat/Xyz.dat) */ 188. /* quest text (dat/quest.txt) */ 189. /* dictionary entries (dat/data.bas) */ 190. }; 191. 192. extern const struct Race races[]; /* Table of available races */ 193. extern struct Race urace; 194. #define Race_if(X) (urace.malenum == (X)) 195. #define Race_switch (urace.malenum) 196. 197. /*** Unified structure specifying gender information ***/ 198. struct Gender { 199. const char *adj; /* male/female/neuter */ 200. const char *he; /* he/she/it */ 201. const char *him; /* him/her/it */ 202. const char *his; /* his/her/its */ 203. const char *filecode; /* file code */ 204. short allow; /* equivalent ROLE_ mask */ 205. }; 206. #define ROLE_GENDERS 2 /* number of permitted player genders */ 207. /* increment to 3 if you allow neuter roles */ 208. 209. extern const struct Gender genders[]; /* table of available genders */ 210. #define uhe() (genders[flags.female ? 1 : 0].he) 211. #define uhim() (genders[flags.female ? 1 : 0].him) 212. #define uhis() (genders[flags.female ? 1 : 0].his) 213. #define mhe(mtmp) (genders[pronoun_gender(mtmp)].he) 214. #define mhim(mtmp) (genders[pronoun_gender(mtmp)].him) 215. #define mhis(mtmp) (genders[pronoun_gender(mtmp)].his) 216. 217. 218. /*** Unified structure specifying alignment information ***/ 219. struct Align { 220. const char *noun; /* law/balance/chaos */ 221. const char *adj; /* lawful/neutral/chaotic */ 222. const char *filecode; /* file code */ 223. short allow; /* equivalent ROLE_ mask */ 224. aligntyp value; /* equivalent A_ value */ 225. }; 226. #define ROLE_ALIGNS 3 /* number of permitted player alignments */ 227. 228. extern const struct Align aligns[]; /* table of available alignments */ 229. 230. 231. /*** Information about the player ***/ 232. struct you { 233. xchar ux, uy; 234. schar dx, dy, dz; /* direction of move (or zap or ... ) */ 235. schar di; /* direction of FF */ 236. xchar tx, ty; /* destination of travel */ 237. xchar ux0, uy0; /* initial position FF */ 238. d_level uz, uz0; /* your level on this and the previous turn */ 239. d_level utolev; /* level monster teleported you to, or uz */ 240. uchar utotype; /* bitmask of goto_level() flags for utolev */ 241. boolean umoved; /* changed map location (post-move) */ 242. int last_str_turn; /* 0: none, 1: half turn, 2: full turn */ 243. /* +: turn right, -: turn left */ 244. int ulevel; /* 1 to MAXULEV */ 245. int ulevelmax; 246. unsigned utrap; /* trap timeout */ 247. unsigned utraptype; /* defined if utrap nonzero */ 248. #define TT_BEARTRAP 0 249. #define TT_PIT 1 250. #define TT_WEB 2 251. #define TT_LAVA 3 252. #define TT_INFLOOR 4 253. char urooms[5]; /* rooms (roomno + 3) occupied now */ 254. char urooms0[5]; /* ditto, for previous position */ 255. char uentered[5]; /* rooms (roomno + 3) entered this turn */ 256. char ushops[5]; /* shop rooms (roomno + 3) occupied now */ 257. char ushops0[5]; /* ditto, for previous position */ 258. char ushops_entered[5]; /* ditto, shops entered this turn */ 259. char ushops_left[5]; /* ditto, shops exited this turn */ 260. 261. int uhunger; /* refd only in eat.c and shk.c */ 262. unsigned uhs; /* hunger state - see eat.c */ 263. 264. struct prop uprops[LAST_PROP+1]; 265. 266. unsigned umconf; 267. char usick_cause[PL_PSIZ+20]; /* sizeof "unicorn horn named "+1 */ 268. Bitfield(usick_type,2); 269. #define SICK_VOMITABLE 0x01 270. #define SICK_NONVOMITABLE 0x02 271. #define SICK_ALL 0x03 272. 273. /* These ranges can never be more than MAX_RANGE (vision.h). */ 274. int nv_range; /* current night vision range */ 275. int xray_range; /* current xray vision range */ 276. 277. /* 278. * These variables are valid globally only when punished and blind. 279. */ 280. #define BC_BALL 0x01 /* bit mask for ball in 'bc_felt' below */ 281. #define BC_CHAIN 0x02 /* bit mask for chain in 'bc_felt' below */ 282. int bglyph; /* glyph under the ball */ 283. int cglyph; /* glyph under the chain */ 284. int bc_order; /* ball & chain order [see bc_order() in ball.c] */ 285. int bc_felt; /* mask for ball/chain being felt */ 286. 287. int umonster; /* hero's "real" monster num */ 288. int umonnum; /* current monster number */ 289. 290. int mh, mhmax, mtimedone; /* for polymorph-self */ 291. struct attribs macurr, /* for monster attribs */ 292. mamax; /* for monster attribs */ 293. int ulycn; /* lycanthrope type */ 294. 295. unsigned ucreamed; 296. unsigned uswldtim; /* time you have been swallowed */ 297. 298. Bitfield(uswallow,1); /* true if swallowed */ 299. Bitfield(uinwater,1); /* if you're currently in water (only 300. underwater possible currently) */ 301. Bitfield(uundetected,1); /* if you're a hiding monster/piercer */ 302. Bitfield(mfemale,1); /* saved human value of flags.female */ 303. Bitfield(uinvulnerable,1); /* you're invulnerable (praying) */ 304. Bitfield(uburied,1); /* you're buried */ 305. Bitfield(uedibility,1); /* blessed food detection; sense unsafe food */ 306. /* 1 free bit! */ 307. 308. unsigned udg_cnt; /* how long you have been demigod */ 309. struct u_event uevent; /* certain events have happened */ 310. struct u_have uhave; /* you're carrying special objects */ 311. struct u_conduct uconduct; /* KMH, conduct */ 312. struct attribs acurr, /* your current attributes (eg. str)*/ 313. aexe, /* for gain/loss via "exercise" */ 314. abon, /* your bonus attributes (eg. str) */ 315. amax, /* your max attributes (eg. str) */ 316. atemp, /* used for temporary loss/gain */ 317. atime; /* used for loss/gain countdown */ 318. align ualign; /* character alignment */ 319. #define CONVERT 2 320. #define A_ORIGINAL 1 321. #define A_CURRENT 0 322. aligntyp ualignbase[CONVERT]; /* for ualign conversion record */ 323. schar uluck, moreluck; /* luck and luck bonus */ 324. #define Luck (u.uluck + u.moreluck) 325. #define LUCKADD 3 /* added value when carrying luck stone */ 326. #define LUCKMAX 10 /* on moonlit nights 11 */ 327. #define LUCKMIN (-10) 328. schar uhitinc; 329. schar udaminc; 330. schar uac; 331. uchar uspellprot; /* protection by SPE_PROTECTION */ 332. uchar usptime; /* #moves until uspellprot-- */ 333. uchar uspmtime; /* #moves between uspellprot-- */ 334. int uhp,uhpmax; 335. int uen, uenmax; /* magical energy - M. Stephenson */ 336. int ugangr; /* if the gods are angry at you */ 337. int ugifts; /* number of artifacts bestowed */ 338. int ublessed, ublesscnt; /* blessing/duration from #pray */ 339. #ifndef GOLDOBJ 340. long ugold, ugold0; 341. #else 342. long umoney0; 343. #endif 344. long uexp, urexp; 345. long ucleansed; /* to record moves when player was cleansed */ 346. long usleep; /* sleeping; monstermove you last started */ 347. int uinvault; 348. struct monst *ustuck; 349. #ifdef STEED 350. struct monst *usteed; 351. long ugallop; 352. int urideturns; 353. #endif 354. int umortality; /* how many times you died */ 355. int ugrave_arise; /* you die and become something aside from a ghost */ 356. time_t ubirthday; /* real world time when game began */ 357. 358. int weapon_slots; /* unused skill slots */ 359. int skills_advanced; /* # of advances made so far */ 360. xchar skill_record[P_SKILL_LIMIT]; /* skill advancements */ 361. struct skills weapon_skills[P_NUM_SKILLS]; 362. boolean twoweap; /* KMH -- Using two-weapon combat */ 363. 364. }; /* end of `struct you' */ 365. 366. #define Upolyd (u.umonnum != u.umonster) 367. 368. #endif /* YOU_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