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