Source:NetHack 3.4.3/include/quest.h

From NetHackWiki
Revision as of 19:19, 31 January 2011 by Paxedbot (talk | contribs) (moved Source:Quest.h to Source:NetHack 3.4.3/include/quest.h: Moving src to subdirs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Below is the full text to include/quest.h from NetHack 3.4.3. To link to a particular line, write [[quest.h#line123]], for example.

/*	SCCS Id: @(#)quest.h	3.4	1992/11/15	*/
/* Copyright (c) Mike Stephenson 1991.				  */
/* NetHack may be freely redistributed.  See license for details. */

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

#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;
};

#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 14	/* at least this u.ulevel to start */
/* note: exp.lev. 14 is threshold level for 5th rank (class title, role.c) */

#endif /* QUEST_H */