1 /*	SCCS Id: @(#)qtext.h	3.4	1997/02/02	*/
2 /* Copyright (c) Mike Stephenson 1991.				  */
3 /* NetHack may be freely redistributed.  See license for details. */
4 
5 #ifndef QTEXT_H
6 #define QTEXT_H
7 
8 #define N_HDR	32		/* Maximum number of categories */
9 				/* (i.e., num roles + 1) */
10 #define LEN_HDR 3		/* Maximum length of a category name */
11 
12 struct qtmsg {
13 	int	msgnum;
14 	char	delivery;
15 	long	offset, size;
16 };
17 
18 
19 #ifdef MAKEDEFS_C	/***** MAKEDEFS *****/
20 
21 #define N_MSG	100		/* arbitrary */
22 
23 struct msghdr {
24 	int	n_msg;
25 	struct	qtmsg	qt_msg[N_MSG];
26 };
27 
28 struct	qthdr {
29 	int	n_hdr;
30 	char	id[N_HDR][LEN_HDR];
31 	long	offset[N_HDR];
32 };
33 
34 /* Error message macros */
35 #define CREC_IN_MSG	"Control record encountered during message - line %d\n"
36 #define DUP_MSG		"Duplicate message number at line %d\n"
37 #define END_NOT_IN_MSG	"End record encountered before message - line %d\n"
38 #define TEXT_NOT_IN_MSG	"Text encountered outside message - line %d\n"
39 #define UNREC_CREC	"Unrecognized Control record at line %d\n"
40 #define OUT_OF_HEADERS	"Too many message types (line %d)\nAdjust N_HDR in qtext.h and recompile.\n"
41 #define OUT_OF_MESSAGES "Too many messages in class (line %d)\nAdjust N_MSG in qtext.h and recompile.\n"
42 
43 
44 #else	/***** !MAKEDEFS *****/
45 
46 struct	qtlists {
47 	struct qtmsg
48 		*common,
49 #if 0	/* UNUSED but available */
50 			*chrace,
51 #endif
52 			*chrole;
53 };
54 
55 
56 /*
57  *	Quest message defines.	Used in quest.c to trigger off "realistic"
58  *	dialogue to the player.
59  */
60 #define QT_FIRSTTIME	 1
61 #define QT_NEXTTIME	 2
62 #define QT_OTHERTIME	 3
63 
64 #define QT_GUARDTALK	 5	/* 5 random things guards say before quest */
65 #define QT_GUARDTALK2	10	/* 5 random things guards say after quest */
66 
67 #define QT_FIRSTLEADER	15
68 #define QT_NEXTLEADER	16
69 #define QT_OTHERLEADER	17
70 #define QT_LASTLEADER	18
71 #define QT_BADLEVEL	19
72 #define QT_BADALIGN	20
73 #define QT_ASSIGNQUEST	21
74 
75 #define QT_ENCOURAGE	25	/* 1-10 random encouragement messages */
76 
77 #define QT_FIRSTLOCATE	35
78 #define QT_NEXTLOCATE	36
79 
80 #define QT_FIRSTGOAL	40
81 #define QT_NEXTGOAL	41
82 
83 #define QT_FIRSTNEMESIS 50
84 #define QT_NEXTNEMESIS	51
85 #define QT_OTHERNEMESIS 52
86 #define QT_NEMWANTSIT	53	/* you somehow got the artifact */
87 
88 #define QT_DISCOURAGE	60	/* 1-10 random maledictive messages */
89 
90 #define QT_GOTIT	70
91 
92 #define QT_KILLEDNEM	80
93 #define QT_OFFEREDIT	81
94 #define QT_OFFEREDIT2	82
95 
96 #define QT_POSTHANKS	90
97 #define QT_HASAMULET	91
98 
99 /*
100  *	Message defines for common text used in maledictions.
101  */
102 #define COMMON_ID	"-"	/* common message id value */
103 
104 #define QT_ANGELIC	10
105 #define QTN_ANGELIC	10
106 
107 #define QT_DEMONIC	30
108 #define QTN_DEMONIC	20
109 
110 #define QT_BANISHED	60
111 
112 #define QT_GYPSY	100	/* KMH -- Gypsy fortunes */
113 
114 #endif	/* MAKEDEFS_C */
115 
116 #endif /* QTEXT_H */
117