1 /*	SCCS Id: @(#)eshk.h	3.4	1997/05/01	*/
2 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
3 /* NetHack may be freely redistributed.  See license for details. */
4 
5 #ifndef ESHK_H
6 #define ESHK_H
7 
8 #define REPAIR_DELAY	5	/* minimum delay between shop damage & repair */
9 
10 #define BILLSZ	200
11 
12 struct bill_x {
13 	unsigned bo_id;
14 	boolean useup;
15 	long price;		/* price per unit */
16 	long bquan;		/* amount used up */
17 };
18 
19 struct eshk {
20 	long robbed;		/* amount stolen by most recent customer */
21 	long credit;		/* amount credited to customer */
22 	long debit;		/* amount of debt for using unpaid items */
23 	long loan;		/* shop-gold picked (part of debit) */
24 	int shoptype;		/* the value of rooms[shoproom].rtype */
25 	schar shoproom;		/* index in rooms; set by inshop() */
26 	schar unused;		/* to force alignment for stupid compilers */
27 	boolean following;	/* following customer since he owes us sth */
28 	boolean surcharge;	/* angry shk inflates prices */
29 	boolean cheapskate;	/* offers less than normal for sold goods */
30 	coord shk;		/* usual position shopkeeper */
31 	coord shd;		/* position shop door */
32 	d_level shoplevel;	/* level (& dungeon) of his shop */
33 	int billct;		/* no. of entries of bill[] in use */
34 	struct bill_x bill[BILLSZ];
35 	struct bill_x *bill_p;
36 	int visitct;		/* nr of visits by most recent customer */
37 	char customer[PL_NSIZ]; /* most recent customer */
38 	char shknam[PL_NSIZ];
39 };
40 
41 #define ESHK(mon)	((struct eshk *)&(mon)->mextra[0])
42 
43 #define NOTANGRY(mon)	((mon)->mpeaceful)
44 #define ANGRY(mon)	(!NOTANGRY(mon))
45 
46 #endif /* ESHK_H */
47