1
0
Fork 0
mirror of https://codeberg.org/noisytoot/notnotdnethack.git synced 2024-09-19 14:05:02 +01:00
notnotdnethack/include/quest.h
Ron Nazarov abb9bce584
Remove most feature ifdefs
Now always enabled:
SINKS, WALLIFIED_MAZE, STEED, FIREARMS, TOURIST, CONVICT,
OTHER_SERVICES, ATTACK_PETS, YOUMONST_SPELL, PET_SATIATION, ELBERETH,
REDO, EXP_ON_BOTL, SCORE_ON_BOTL, AUTOPICKUP_EXCEPTIONS, SHOW_BORN,
SHOW_EXTINCT, SORTLOOT, PARANOID, QWERTZ, REALTIME_ON_BOTL,
RECORD_CONDUCT RECORD_TURNS, RECORD_ACHIEVE, RECORD_REALTIME,
RECORD_START_END_TIME, RECORD_GENDER0, RECORD_ALIGN0, BARD

Completely unused ifdefs removed:
TAME_RANGED_ATTACKS

Unused in practice ifdefs removed:
NO_SCAN_BRACK (seemingly an undocumented workaround for lattice fscanf
being unable to read the score file)

Mostly done with coan2, with some manual edits for stuff coan2 can't
handle (it doesn't like macromagic).

I kept REINCARNATION (because I use it and it works) and SEDUCE (it
doesn't work but might be made to at some point).

The showborn option is now default.
2024-04-30 21:21:10 +01:00

56 lines
2.4 KiB
C

/* 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 */
/*7*/
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 */
/*10*/
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 */
/*16*/
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 */
/*20*/
/* keep track of leader presence/absence even if leader is
polymorphed, raised from dead, etc */
Bitfield(leader_is_dead,1);
Bitfield(second_thoughts,1); /*turned stag AFTER completing version 1 of the quest*/
Bitfield(fakeleader_greet_1,1);
Bitfield(fakeleader_greet_2,1);
/*24*/
int time_on_home;
#define MAX_HOME_TIMER 255
/* Note: should be > 1 (urrent 70->6 */
#define ANA_HOME_PROB (70 - (quest_status.time_on_home+1)/4)
#define ANA_SPAWN_TWO (quest_status.time_on_home > MAX_HOME_TIMER/4)
#define ANA_SPAWN_THREE (quest_status.time_on_home > MAX_HOME_TIMER/2)
#define ANA_SPAWN_FOUR (quest_status.time_on_home > MAX_HOME_TIMER*3/4)
/*30*/
unsigned leader_m_id;
};
#define MAX_QUEST_TRIES 7 /* exceed this and you "fail" */
#define MIN_QUEST_ALIGN ((Role_if(PM_CONVICT) || Role_if(PM_MADMAN)) ? 4 : 20) /* at least this align.record to start */
/* note: align 20 matches "pious" as reported by enlightenment (cmd.c) */
/* note: align 20 matches "stridently" as reported by enlightenment (cmd.c) */
#define MIN_QUEST_LEVEL 14 /* at least this u.ulevel to start */
#define GNOMISH_MIN_QUEST_LEVEL 6 /* at least this u.ulevel to start */
/* note: exp.lev. 14 is threshold level for 5th rank (class title, role.c) */
#endif /* QUEST_H */