Unlock your quest by killing your quest leader

Allow killing your quest leader, just to make games winnable if you
converted before doing the quest.
Boost the quest leaders and give them some equipment. King Arthur
gets Excalibur. Killing quest leader gives really bad luck and
makes your god angry at you, and killing quest guardians gives
smaller penalties.

This is based on both the EvilHack implementation by
k21971 <keith.simpson1971@gmail.com>, and xNetHack
implementation by copperwater <aosdict@gmail.com>.
This commit is contained in:
Pasi Kallinen
2021-05-23 08:55:58 +03:00
parent 882efdcf58
commit 20cbadcf85
21 changed files with 135 additions and 68 deletions

View File

@@ -2064,6 +2064,7 @@ extern void free_epri(struct monst *);
extern void onquest(void);
extern void nemdead(void);
extern void leaddead(void);
extern void artitouch(struct obj *);
extern boolean ok_to_quest(void);
extern void leader_speaks(struct monst *);

View File

@@ -17,7 +17,7 @@
* Incrementing EDITLEVEL can be used to force invalidation of old bones
* and save files.
*/
#define EDITLEVEL 33
#define EDITLEVEL 34
/*
* Development status possibilities.

View File

@@ -11,6 +11,7 @@ struct q_score { /* Quest "scorecard" */
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(killed_leader, 1); /* killed the quest leader */
Bitfield(first_locate, 1); /* only set the first time */
Bitfield(met_intermed, 1); /* used if the locate is a person. */
@@ -39,7 +40,6 @@ struct q_score { /* Quest "scorecard" */
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 */