1 /*	SCCS Id: @(#)quest.h	3.3	92/11/15	*/
2 /* Copyright (c) Mike Stephenson 1991.				  */
3 /* NetHack may be freely redistributed.  See license for details. */
4 
5 #ifndef QUEST_H
6 #define QUEST_H
7 
8 struct q_score {			/* Quest "scorecard" */
9 	Bitfield(first_start,1);	/* only set the first time */
10 	Bitfield(met_leader,1);		/* has met the leader */
11 	Bitfield(not_ready,3);		/* rejected due to alignment, etc. */
12 	Bitfield(pissed_off,1);		/* got the leader angry */
13 	Bitfield(got_quest,1);		/* got the quest assignment */
14 
15 	Bitfield(first_locate,1);	/* only set the first time */
16 	Bitfield(met_intermed,1);	/* used if the locate is a person. */
17 	Bitfield(got_final,1);		/* got the final quest assignment */
18 
19 	Bitfield(made_goal,3);		/* # of times on goal level */
20 	Bitfield(met_nemesis,1);	/* has met the nemesis before */
21 	Bitfield(killed_nemesis,1);	/* set when the nemesis is killed */
22 	Bitfield(in_battle,1);		/* set when nemesis fighting you */
23 
24 	Bitfield(cheater,1);		/* set if cheating detected */
25 	Bitfield(touched_artifact,1);	/* for a special message */
26 	Bitfield(offered_artifact,1);	/* offered to leader */
27 	Bitfield(got_thanks,1);		/* final message from leader */
28 };
29 
30 #define MAX_QUEST_TRIES  7	/* exceed this and you "fail" */
31 #define MIN_QUEST_ALIGN 20	/* at least this align.record to start */
32   /* note: align 20 matches "pious" as reported by enlightenment (cmd.c) */
33 #define MIN_QUEST_LEVEL 14	/* at least this u.ulevel to start */
34   /* note: exp.lev. 14 is threshold level for 5th rank (class title, role.c) */
35 
36 #endif /* QUEST_H */
37