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