fix #S15496 - #chronicle oversight
Add a livelog/#chronicle message for quest leader opening the quest. A similar message for being expelled doesn't seem possible to be triggered. Log the initial visit to each level in the quest branch. They record when the hero actually visits the quest levels, beyond the new one about permission to do the quest.
This commit is contained in:
16
src/do.c
16
src/do.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 do.c $NHDT-Date: 1737287889 2025/01/19 03:58:09 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.399 $ */
|
||||
/* NetHack 3.7 do.c $NHDT-Date: 1774269965 2026/03/23 04:46:05 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.404 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Derek S. Ray, 2015. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -1942,8 +1942,18 @@ goto_level(
|
||||
if (new) {
|
||||
char dloc[QBUFSZ];
|
||||
/* Astral is excluded as a major event here because entry to it
|
||||
is already one due to that being an achievement */
|
||||
boolean major = In_endgame(&u.uz) && !Is_astralevel(&u.uz);
|
||||
is already one such due to that being an achievement;
|
||||
for the quest, listing the start, locate, and goal levels would
|
||||
seem reasonable but all quest levels are included for simplicity--
|
||||
level 2 (or 3 if hero level teleports after obtaining permission
|
||||
to enter) is useful to show since it indicates that hero has
|
||||
actually entered the quest rather than just received permission
|
||||
to do so, and listing the goal level could be used to figure out
|
||||
whether level 5 is the end or there's another level (ESP reveals
|
||||
the same thing, but is part of normal game play as opposed to
|
||||
#chronicle leaking information that hero hasn't discovered yet) */
|
||||
boolean major = ((In_endgame(&u.uz) && !Is_astralevel(&u.uz))
|
||||
|| In_quest(&u.uz));
|
||||
|
||||
(void) describe_level(dloc, 2);
|
||||
livelog_printf(major ? LL_ACHIEVE : LL_DEBUG, "entered %s", dloc);
|
||||
|
||||
16
src/quest.c
16
src/quest.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 quest.c $NHDT-Date: 1687036547 2023/06/17 21:15:47 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.38 $ */
|
||||
/* NetHack 3.7 quest.c $NHDT-Date: 1774269965 2026/03/23 04:46:05 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.46 $ */
|
||||
/* Copyright 1991, M. Stephenson */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -339,6 +339,12 @@ chat_with_leader(struct monst *mtmp)
|
||||
com_pager("banished");
|
||||
Qstat(pissed_off) = TRUE;
|
||||
expulsion(FALSE);
|
||||
|
||||
/* being expelled is hardly an achievement but none of the
|
||||
other livelog classifications fit */
|
||||
livelog_printf(LL_ACHIEVE,
|
||||
"%s has expelled you from the quest",
|
||||
noit_mon_nam(mtmp));
|
||||
}
|
||||
} else if (purity == 0) {
|
||||
qt_pager("badalign");
|
||||
@@ -349,6 +355,14 @@ chat_with_leader(struct monst *mtmp)
|
||||
qt_pager("assignquest");
|
||||
exercise(A_WIS, TRUE);
|
||||
Qstat(got_quest) = TRUE;
|
||||
|
||||
/* phrasing is a bit clumsy but allows #chronicle to provide a
|
||||
clue to players who are reaching the quest for first time;
|
||||
matters most for Home 1 that has stairs down which aren't
|
||||
easily found */
|
||||
livelog_printf(LL_ACHIEVE,
|
||||
"%s has granted access to proceed deeper into the quest",
|
||||
noit_mon_nam(mtmp));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user