From 0b30349b8f8381316e0d47f5fe6639bc4ea74b52 Mon Sep 17 00:00:00 2001 From: jwalz Date: Sat, 5 Jan 2002 21:05:47 +0000 Subject: [PATCH] *** empty log message *** --- include/attrib.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 include/attrib.h diff --git a/include/attrib.h b/include/attrib.h new file mode 100644 index 000000000..afb87d89e --- /dev/null +++ b/include/attrib.h @@ -0,0 +1,44 @@ +/* SCCS Id: @(#)attrib.h 3.3 90/22/02 */ +/* Copyright 1988, Mike Stephenson */ +/* NetHack may be freely redistributed. See license for details. */ + +/* attrib.h - Header file for character class processing. */ + +#ifndef ATTRIB_H +#define ATTRIB_H + +#define A_STR 0 +#define A_INT 1 +#define A_WIS 2 +#define A_DEX 3 +#define A_CON 4 +#define A_CHA 5 + +#define A_MAX 6 /* used in rn2() selection of attrib */ + +#define ABASE(x) (u.acurr.a[x]) +#define ABON(x) (u.abon.a[x]) +#define AEXE(x) (u.aexe.a[x]) +#define ACURR(x) (acurr(x)) +#define ACURRSTR (acurrstr()) +/* should be: */ +/* #define ACURR(x) (ABON(x) + ATEMP(x) + (Upolyd ? MBASE(x) : ABASE(x)) */ +#define MCURR(x) (u.macurr.a[x]) +#define AMAX(x) (u.amax.a[x]) +#define MMAX(x) (u.mamax.a[x]) + +#define ATEMP(x) (u.atemp.a[x]) +#define ATIME(x) (u.atime.a[x]) + +/* KMH -- Conveniences when dealing with strength constants */ +#define STR18(x) (18+(x)) /* 18/xx */ +#define STR19(x) (100+(x)) /* For 19 and above */ + +struct attribs { + schar a[A_MAX]; +}; + +#define ATTRMAX(x) ((x == A_STR && Upolyd && strongmonst(youmonst.data)) ? STR18(100) : urace.attrmax[x]) +#define ATTRMIN(x) (urace.attrmin[x]) + +#endif /* ATTRIB_H */