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