OSDN Git Service

Initial Import
[nethackexpress/trunk.git] / include / quest.h
1 /*      SCCS Id: @(#)quest.h    3.4     1992/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         /* keep track of leader presence/absence even if leader is
30            polymorphed, raised from dead, etc */
31         Bitfield(leader_is_dead,1);
32         unsigned leader_m_id;
33 };
34
35 #define MAX_QUEST_TRIES  7      /* exceed this and you "fail" */
36 #define MIN_QUEST_ALIGN 20      /* at least this align.record to start */
37   /* note: align 20 matches "pious" as reported by enlightenment (cmd.c) */
38 #define MIN_QUEST_LEVEL 14      /* at least this u.ulevel to start */
39   /* note: exp.lev. 14 is threshold level for 5th rank (class title, role.c) */
40
41 #endif /* QUEST_H */