1 | /* SCCS Id: @(#)qtext.h 3.3 97/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 |
12 | struct 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 |
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 UNREC_CREC "Unrecognized Control record at line %d\n"
39 | #define OUT_OF_HEADERS "Too many message types (line %d)\nAdjust N_HDR in qtext.h and recompile.\n"
40 | #define OUT_OF_MESSAGES "Too many messages in class (line %d)\nAdjust N_MSG in qtext.h and recompile.\n"
41 |
42 |
43 | #else /***** !MAKEDEFS *****/
44 |
45 | struct qtlists {
46 | struct qtmsg *common,
47 | #if 0 /* UNUSED but available */
48 | *chrace,
49 | #endif
50 | *chrole;
51 | };
52 |
53 |
54 | /*
55 | * Quest message defines. Used in quest.c to trigger off "realistic"
56 | * dialogue to the player.
57 | */
58 | #define QT_FIRSTTIME 1
59 | #define QT_NEXTTIME 2
60 | #define QT_OTHERTIME 3
61 |
62 | #define QT_GUARDTALK 5 /* 5 random things for guards to say */
63 |
64 | #define QT_FIRSTLEADER 10
65 | #define QT_NEXTLEADER 11
66 | #define QT_OTHERLEADER 12
67 | #define QT_LASTLEADER 13
68 | #define QT_BADLEVEL 14
69 | #define QT_BADALIGN 15
70 | #define QT_ASSIGNQUEST 16
71 |
72 | #define QT_ENCOURAGE 20 /* 1-10 random encouragement messages */
73 |
74 | #define QT_FIRSTLOCATE 30
75 | #define QT_NEXTLOCATE 31
76 |
77 | #define QT_FIRSTGOAL 40
78 | #define QT_NEXTGOAL 41
79 |
80 | #define QT_FIRSTNEMESIS 50
81 | #define QT_NEXTNEMESIS 51
82 | #define QT_OTHERNEMESIS 52
83 | #define QT_NEMWANTSIT 53 /* you somehow got the artifact */
84 |
85 | #define QT_DISCOURAGE 60 /* 1-10 random maledictive messages */
86 |
87 | #define QT_GOTIT 70
88 |
89 | #define QT_KILLEDNEM 80
90 | #define QT_OFFEREDIT 81
91 | #define QT_OFFEREDIT2 82
92 |
93 | #define QT_POSTHANKS 90
94 | #define QT_HASAMULET 91
95 |
96 | /*
97 | * Message defines for common text used in maledictions.
98 | */
99 | #define COMMON_ID "-" /* Common message id value */
100 |
101 | #define QT_ANGELIC 10
102 | #define QTN_ANGELIC 10
103 |
104 | #define QT_DEMONIC 30
105 | #define QTN_DEMONIC 20
106 |
107 | #endif /***** !MAKEDEFS *****/
108 |
109 | #endif /* QTEXT_H */