Source:NetHack 1.4f/you.h
Revision as of 01:53, 4 March 2008 by Kernigh bot (talk | contribs) (NetHack 1.4f/you.h moved to Source:NetHack 1.4f/you.h: Robot: moved page)
Below is the full text to you.h from the source code of NetHack 1.4f. To link to a particular line, write [[NetHack 1.4f/you.h#line123]], for example.
Warning! This is the source code from an old release. For the latest release, see Source code
Screenshots and source code from Hack are used under the CWI license.
1. /* SCCS Id: @(#)you.h 1.4 87/08/08 2. /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* you.h - version 1 */ 4. 5. #include "config.h" 6. #include "onames.h" 7. #include "permonst.h" 8. 9. struct prop { 10. #define TIMEOUT 007777 /* mask */ 11. #define LEFT_RING W_RINGL /* 010000L */ 12. #define RIGHT_RING W_RINGR /* 020000L */ 13. #define INTRINSIC 040000L 14. #define LEFT_SIDE LEFT_RING 15. #define RIGHT_SIDE RIGHT_RING 16. #define BOTH_SIDES (LEFT_SIDE | RIGHT_SIDE) 17. long p_flgs; 18. int (*p_tofn)(); /* called after timeout */ 19. }; 20. 21. struct you { 22. xchar ux, uy; 23. schar dx, dy, dz; /* direction of move (or zap or ... ) */ 24. schar di; /* direction of FF */ 25. xchar ux0, uy0; /* initial position FF */ 26. xchar udisx, udisy; /* last display pos */ 27. char usym; /* usually '@' */ 28. schar uluck; 29. #define LUCKMAX 10 /* on moonlit nights 11 */ 30. #define LUCKMIN (-10) 31. int last_str_turn; /* 0: none, 1: half turn, 2: full turn */ 32. /* +: turn right, -: turn left */ 33. unsigned udispl; /* @ on display */ 34. unsigned ulevel; /* 1 - 14 */ 35. #ifdef QUEST 36. unsigned uhorizon; 37. #endif 38. unsigned utrap; /* trap timeout */ 39. unsigned utraptype; /* defined if utrap nonzero */ 40. #define TT_BEARTRAP 0 41. #define TT_PIT 1 42. #ifdef SPIDERS 43. #define TT_WEB 2 44. #endif 45. unsigned uinshop; /* used only in shk.c - (roomno+1) of shop */ 46. 47. /* perhaps these #define's should also be generated by makedefs */ 48. #define TELEPAT LAST_RING /* not a ring */ 49. #define HTelepat u.uprops[TELEPAT].p_flgs 50. #define Telepat ((HTelepat) || (u.usym == 'E')) 51. #define FAST (LAST_RING+1) /* not a ring */ 52. #define Fast u.uprops[FAST].p_flgs 53. #define CONFUSION (LAST_RING+2) /* not a ring */ 54. #define HConfusion u.uprops[CONFUSION].p_flgs 55. #define Confusion ((HConfusion) || index("BIy", u.usym)) 56. #define INVIS (LAST_RING+3) /* not a ring */ 57. #define HInvis u.uprops[INVIS].p_flgs 58. #define Invis ((HInvis) || u.usym == 'I') 59. #define Invisible (Invis && !See_invisible) 60. #define GLIB (LAST_RING+4) /* not a ring */ 61. #define Glib u.uprops[GLIB].p_flgs 62. #define PUNISHED (LAST_RING+5) /* not a ring */ 63. #define Punished u.uprops[PUNISHED].p_flgs 64. #define SICK (LAST_RING+6) /* not a ring */ 65. #define Sick u.uprops[SICK].p_flgs 66. #define BLIND (LAST_RING+7) /* not a ring */ 67. #define Blind u.uprops[BLIND].p_flgs 68. #define WOUNDED_LEGS (LAST_RING+8) /* not a ring */ 69. #define Wounded_legs u.uprops[WOUNDED_LEGS].p_flgs 70. #define STONED (LAST_RING+9) /* not a ring */ 71. #define Stoned u.uprops[STONED].p_flgs 72. #define HALLUCINATION (LAST_RING+10) /* not a ring */ 73. #define Hallucination u.uprops[HALLUCINATION].p_flgs 74. #define PROP(x) (x-RIN_ADORNMENT) /* convert ring to index in uprops */ 75. unsigned umconf; 76. char *usick_cause; 77. struct prop uprops[LAST_RING+11]; 78. int mh, mhmax, mtimedone, umonnum; /* for polymorph-self */ 79. #if defined(KOPS) && defined(KAA) 80. unsigned ucreamed; 81. #endif 82. unsigned uswallow; /* set if swallowed by a monster */ 83. unsigned uswldtim; /* time you have been swallowed */ 84. unsigned uhs; /* hunger state - see hack.eat.c */ 85. #ifdef HARD 86. unsigned udemigod; /* once you kill the wiz */ 87. unsigned udg_cnt; /* how long you have been demigod */ 88. #endif 89. schar ustr,ustrmax; 90. schar udaminc; 91. schar uac; 92. int uhp,uhpmax; 93. #ifdef SPELLS 94. int uen,uenmax; /* magical energy - M. Stephenson */ 95. #endif 96. #ifdef PRAYERS 97. int ugangr; /* if the gods are angry at you */ 98. int ublessed,ublesscnt; /* blessing/duration from #pray */ 99. #endif 100. long int ugold,ugold0,uexp,urexp; 101. int uhunger; /* refd only in eat.c and shk.c */ 102. int uinvault; 103. struct monst *ustuck; 104. int nr_killed[CMNUM+2]; /* used for experience bookkeeping */ 105. };