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	16		/* Maximum number of categories */
9				/* (i.e., num roles + 1) */
10#define LEN_HDR 3		/* Maximum length of a category name */
11
12struct qtmsg {
13	int	msgnum;
14	char	delivery;
15	long	offset,
16		size;
17};
18
19#ifdef MAKEDEFS_C	/***** MAKEDEFS *****/
20
21#define N_MSG	100		/* arbitrary */
22
23struct msghdr {
24	int	n_msg;
25	struct	qtmsg	qt_msg[N_MSG];
26};
27
28struct	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
46struct	qtlists {
47	struct	qtmsg	*common,
48#if 0	/* UNUSED but available */
49			*chrace,
50#endif
51			*chrole;
52};
53
54
55/*
56 *	Quest message defines.	Used in quest.c to trigger off "realistic"
57 *	dialogue to the player.
58 */
59#define QT_FIRSTTIME	 1
60#define QT_NEXTTIME	 2
61#define QT_OTHERTIME	 3
62
63#define QT_GUARDTALK	 5	/* 5 random things guards say before quest */
64#define QT_GUARDTALK2	10	/* 5 random things guards say after quest */
65
66#define QT_FIRSTLEADER	15
67#define QT_NEXTLEADER	16
68#define QT_OTHERLEADER	17
69#define QT_LASTLEADER	18
70#define QT_BADLEVEL	19
71#define QT_BADALIGN	20
72#define QT_ASSIGNQUEST	21
73
74#define QT_ENCOURAGE	25	/* 1-10 random encouragement messages */
75
76#define QT_FIRSTLOCATE	35
77#define QT_NEXTLOCATE	36
78
79#define QT_FIRSTGOAL	40
80#define QT_NEXTGOAL	41
81
82#define QT_FIRSTNEMESIS 50
83#define QT_NEXTNEMESIS	51
84#define QT_OTHERNEMESIS 52
85#define QT_NEMWANTSIT	53	/* you somehow got the artifact */
86
87#define QT_DISCOURAGE	60	/* 1-10 random maledictive messages */
88
89#define QT_GOTIT	70
90
91#define QT_KILLEDNEM	80
92#define QT_OFFEREDIT	81
93#define QT_OFFEREDIT2	82
94
95#define QT_POSTHANKS	90
96#define QT_HASAMULET	91
97
98/*
99 *	Message defines for common text used in maledictions.
100 */
101#define COMMON_ID	"-"	/* Common message id value */
102
103#define QT_ANGELIC	10
104#define QTN_ANGELIC	10
105
106#define QT_DEMONIC	30
107#define QTN_DEMONIC	20
108
109#define QT_BANISHED	60
110#endif	/***** !MAKEDEFS *****/
111
112#endif /* QTEXT_H */
113