OSDN Git Service

shrink mine
[nethackexpress/trunk.git] / include / eshk.h
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         coord shk;              /* usual position shopkeeper */
30         coord shd;              /* position shop door */
31         d_level shoplevel;      /* level (& dungeon) of his shop */
32         int billct;             /* no. of entries of bill[] in use */
33         struct bill_x bill[BILLSZ];
34         struct bill_x *bill_p;
35         int visitct;            /* nr of visits by most recent customer */
36         char customer[PL_NSIZ]; /* most recent customer */
37         char shknam[PL_NSIZ];
38 };
39
40 #define ESHK(mon)       ((struct eshk *)&(mon)->mextra[0])
41
42 #define NOTANGRY(mon)   ((mon)->mpeaceful)
43 #define ANGRY(mon)      (!NOTANGRY(mon))
44
45 #endif /* ESHK_H */