Source:NetHack 3.4.0/eshk.h

From NetHackWiki
Jump to navigation Jump to search

Below is the full text to eshk.h from the source code of NetHack 3.4.0. To link to a particular line, write [[NetHack 3.4.0/eshk.h#line123]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

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 */