NHDT->ANH, nethack->anethack, nhdat->anhdat
[aNetHack.git] / include / quest.h
blob8fefa59b49e1ba6079235b78f2584295babfd62d
1 /* aNetHack 0.0.1 quest.h $ANH-Date: 1432512779 2015/05/25 00:12:59 $ $ANH-Branch: master $:$ANH-Revision: 1.10 $ */
2 /* Copyright (c) Mike Stephenson 1991. */
3 /* aNetHack may be freely redistributed. See license for details. */
5 #ifndef QUEST_H
6 #define QUEST_H
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 */
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 */
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 */
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 */
29 /* used by questpgr code when messages want to use pronouns
30 (set up at game start instead of waiting until monster creation;
31 1 bit each would suffice--nobody involved is actually neuter) */
32 Bitfield(ldrgend, 2); /* leader's gender: 0=male, 1=female, 2=neuter */
33 Bitfield(nemgend, 2); /* nemesis's gender */
34 Bitfield(godgend, 2); /* deity's gender */
36 /* keep track of leader presence/absence even if leader is
37 polymorphed, raised from dead, etc */
38 Bitfield(leader_is_dead, 1);
39 unsigned leader_m_id;
42 #define MAX_QUEST_TRIES 7 /* exceed this and you "fail" */
43 #define MIN_QUEST_ALIGN 20 /* at least this align.record to start */
44 /* note: align 20 matches "pious" as reported by enlightenment (cmd.c) */
45 #define MIN_QUEST_LEVEL 14 /* at least this u.ulevel to start */
46 /* note: exp.lev. 14 is threshold level for 5th rank (class title, role.c) */
48 #endif /* QUEST_H */