fix #S14667 - livelog of genocide when hallucinating
Uncursed genocide while hallucinating deliberately reports hero's role to the player as the affected target, but it was also showing that for livelog and #chronicle. Making the true target be visible for #chronicle gives away a little information but that should be inconsequential in this siutation since the player specifies the target. Not sure why this report got misclassified as spam.
This commit is contained in:
+3
-1
@@ -1,4 +1,4 @@
|
|||||||
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1535 $ $NHDT-Date: 1740629713 2025/02/26 20:15:13 $
|
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1572 $ $NHDT-Date: 1762577372 2025/11/07 20:49:32 $
|
||||||
|
|
||||||
General Fixes and Modified Features
|
General Fixes and Modified Features
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
@@ -2825,6 +2825,8 @@ archeologists' fedora is lucky
|
|||||||
telepathic hero can discern which particular monster just read a scroll
|
telepathic hero can discern which particular monster just read a scroll
|
||||||
add "make fetch-docs" to download pre-formatted documentation
|
add "make fetch-docs" to download pre-formatted documentation
|
||||||
monsters will use throw-and-return weapons such as an aklys
|
monsters will use throw-and-return weapons such as an aklys
|
||||||
|
uncursed genocide while hallucinating deliberately mis-reports hero's role as
|
||||||
|
target but was also inappropriately showing it to livelog/#chronicle
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific New Features
|
Platform- and/or Interface-Specific New Features
|
||||||
|
|||||||
+10
-10
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.7 read.c $NHDT-Date: 1715889745 2024/05/16 20:02:25 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.308 $ */
|
/* NetHack 3.7 read.c $NHDT-Date: 1762577372 2025/11/07 20:49:32 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.323 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -2755,7 +2755,7 @@ do_genocide(
|
|||||||
* 3 = forced genocide of player
|
* 3 = forced genocide of player
|
||||||
* 5 (4 | 1) = normal genocide from throne */
|
* 5 (4 | 1) = normal genocide from throne */
|
||||||
{
|
{
|
||||||
char buf[BUFSZ], promptbuf[QBUFSZ];
|
char buf[BUFSZ], realbuf[BUFSZ], promptbuf[QBUFSZ];
|
||||||
int i, killplayer = 0;
|
int i, killplayer = 0;
|
||||||
int mndx;
|
int mndx;
|
||||||
struct permonst *ptr;
|
struct permonst *ptr;
|
||||||
@@ -2860,27 +2860,27 @@ do_genocide(
|
|||||||
}
|
}
|
||||||
|
|
||||||
which = "all ";
|
which = "all ";
|
||||||
|
Strcpy(buf, ptr->pmnames[NEUTRAL]); /* standard singular */
|
||||||
|
if ((ptr->geno & G_UNIQ) && ptr != &mons[PM_HIGH_CLERIC])
|
||||||
|
which = !type_is_pname(ptr) ? "the " : "";
|
||||||
|
Strcpy(realbuf, buf); /* save true name, to avoid Hallu for livelog */
|
||||||
if (Hallucination) {
|
if (Hallucination) {
|
||||||
if (Upolyd)
|
if (Upolyd) {
|
||||||
Strcpy(buf, pmname(gy.youmonst.data,
|
Strcpy(buf, pmname(gy.youmonst.data,
|
||||||
flags.female ? FEMALE : MALE));
|
flags.female ? FEMALE : MALE));
|
||||||
else {
|
} else {
|
||||||
Strcpy(buf, (flags.female && gu.urole.name.f) ? gu.urole.name.f
|
Strcpy(buf, (flags.female && gu.urole.name.f) ? gu.urole.name.f
|
||||||
: gu.urole.name.m);
|
: gu.urole.name.m);
|
||||||
buf[0] = lowc(buf[0]);
|
buf[0] = lowc(buf[0]);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
Strcpy(buf, ptr->pmnames[NEUTRAL]); /* standard singular */
|
|
||||||
if ((ptr->geno & G_UNIQ) && ptr != &mons[PM_HIGH_CLERIC])
|
|
||||||
which = !type_is_pname(ptr) ? "the " : "";
|
|
||||||
}
|
}
|
||||||
if (how & REALLY) {
|
if (how & REALLY) {
|
||||||
if (!num_genocides())
|
if (!num_genocides())
|
||||||
livelog_printf(LL_CONDUCT | LL_GENOCIDE,
|
livelog_printf(LL_CONDUCT | LL_GENOCIDE,
|
||||||
"performed %s first genocide (%s)",
|
"performed %s first genocide (%s)",
|
||||||
uhis(), makeplural(buf));
|
uhis(), makeplural(realbuf));
|
||||||
else
|
else
|
||||||
livelog_printf(LL_GENOCIDE, "genocided %s", makeplural(buf));
|
livelog_printf(LL_GENOCIDE, "genocided %s", makeplural(realbuf));
|
||||||
|
|
||||||
/* setting no-corpse affects wishing and random tin generation */
|
/* setting no-corpse affects wishing and random tin generation */
|
||||||
svm.mvitals[mndx].mvflags |= (G_GENOD | G_NOCORPSE);
|
svm.mvitals[mndx].mvflags |= (G_GENOD | G_NOCORPSE);
|
||||||
|
|||||||
Reference in New Issue
Block a user