|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T y
Length: 3881 (0xf29)
Types: TextFile
Names: »you.h«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Nethack/you.h«
/* SCCS Id: @(#)you.h 2.1 87/11/09
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
#ifndef YOU_H
#define YOU_H
#include "config.h"
#include "onames.h"
#include "permonst.h"
struct prop {
#define TIMEOUT 007777 /* mask */
#define LEFT_RING W_RINGL /* 010000L */
#define RIGHT_RING W_RINGR /* 020000L */
#define INTRINSIC 040000L
#define LEFT_SIDE LEFT_RING
#define RIGHT_SIDE RIGHT_RING
#define BOTH_SIDES (LEFT_SIDE | RIGHT_SIDE)
long p_flgs;
int (*p_tofn)(); /* called after timeout */
};
struct you {
xchar ux, uy;
schar dx, dy, dz; /* direction of move (or zap or ... ) */
schar di; /* direction of FF */
xchar ux0, uy0; /* initial position FF */
xchar udisx, udisy; /* last display pos */
char usym; /* usually '@' */
schar uluck;
#define LUCKMAX 10 /* on moonlit nights 11 */
#define LUCKMIN (-10)
int last_str_turn; /* 0: none, 1: half turn, 2: full turn */
/* +: turn right, -: turn left */
unsigned udispl; /* @ on display */
unsigned ulevel; /* 1 - 14 */
#ifdef QUEST
unsigned uhorizon;
#endif
unsigned utrap; /* trap timeout */
unsigned utraptype; /* defined if utrap nonzero */
#define TT_BEARTRAP 0
#define TT_PIT 1
#ifdef SPIDERS
#define TT_WEB 2
#endif
unsigned uinshop; /* used only in shk.c - (roomno+1) of shop */
/* perhaps these #define's should also be generated by makedefs */
#define TELEPAT LAST_RING /* not a ring */
#define HTelepat u.uprops[TELEPAT].p_flgs
#define Telepat ((HTelepat) || (u.usym == 'E'))
#define FAST (LAST_RING+1) /* not a ring */
#define Fast u.uprops[FAST].p_flgs
#define CONFUSION (LAST_RING+2) /* not a ring */
#define HConfusion u.uprops[CONFUSION].p_flgs
#define Confusion ((HConfusion) || index("BIy", u.usym))
#define INVIS (LAST_RING+3) /* not a ring */
#define HInvis u.uprops[INVIS].p_flgs
#define Invis ((HInvis) || u.usym == 'I')
#define Invisible (Invis && !See_invisible)
#define GLIB (LAST_RING+4) /* not a ring */
#define Glib u.uprops[GLIB].p_flgs
#define PUNISHED (LAST_RING+5) /* not a ring */
#define Punished u.uprops[PUNISHED].p_flgs
#define SICK (LAST_RING+6) /* not a ring */
#define Sick u.uprops[SICK].p_flgs
#define BLINDED (LAST_RING+7) /* not a ring */
#define Blinded u.uprops[BLINDED].p_flgs
#define WOUNDED_LEGS (LAST_RING+8) /* not a ring */
#define Wounded_legs u.uprops[WOUNDED_LEGS].p_flgs
#define STONED (LAST_RING+9) /* not a ring */
#define Stoned u.uprops[STONED].p_flgs
#define HALLUCINATION (LAST_RING+10) /* not a ring */
#define Hallucination u.uprops[HALLUCINATION].p_flgs
#define BLINDFOLDED (LAST_RING+11) /* not a ring */
#define Blindfolded u.uprops[BLINDFOLDED].p_flgs
#define Blind (Blinded || Blindfolded)
#define PROP(x) (x-RIN_ADORNMENT) /* convert ring to index in uprops */
struct prop uprops[LAST_RING+11];
unsigned umconf;
char *usick_cause;
int mh, mhmax, mtimedone, umonnum; /* for polymorph-self */
schar mstr, mstrmax; /* for saving ustr/ustrmax */
#if defined(KOPS) && defined(KAA)
unsigned ucreamed;
#endif
unsigned uswallow; /* set if swallowed by a monster */
unsigned uswldtim; /* time you have been swallowed */
unsigned uhs; /* hunger state - see hack.eat.c */
#ifdef HARD
unsigned udemigod; /* once you kill the wiz */
unsigned udg_cnt; /* how long you have been demigod */
#endif
#ifdef RPH
int medusa_level; /* level of wiz and medusa */
int wiz_level;
#endif
schar ustr,ustrmax;
schar udaminc;
schar uac;
int uhp,uhpmax;
#ifdef SPELLS
int uen,uenmax; /* magical energy - M. Stephenson */
#endif
#ifdef PRAYERS
int ugangr; /* if the gods are angry at you */
int ublessed,ublesscnt; /* blessing/duration from #pray */
#endif
long int ugold,ugold0,uexp,urexp;
int uhunger; /* refd only in eat.c and shk.c */
int uinvault;
struct monst *ustuck;
int nr_killed[CMNUM+2]; /* used for experience bookkeeping */
};
#endif /* YOU_H /**/