Merge branch 'NetHack-3.6.2'

This commit is contained in:
nhmall
2019-04-24 21:29:11 -04:00
3 changed files with 25 additions and 27 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.307 $ $NHDT-Date: 1555801218 2019/04/20 23:00:18 $
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.309 $ $NHDT-Date: 1556150377 2019/04/24 23:59:37 $
This fixes36.2 file is here to capture information about updates in the 3.6.x
lineage following the release of 3.6.1 in April 2018. Please note, however,
@@ -416,6 +416,9 @@ a quantum mechanic hit that teleported the target could also kill it at the
fatal unless the teleport is negated by cancellation (magic or armor)
if a mimic concealed itself as a corpse, it could pick a monster type which
never leaves a corpse
message given when shape-shifted vampire cheats death by reverting to its
original form ignored hallucination when describing old and new forms
Vlad wasn't set up as a vampshifter properly
Fixes to Post-3.6.1 Problems that Were Exposed Via git Repository

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 makemon.c $NHDT-Date: 1555801218 2019/04/20 23:00:18 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.133 $ */
/* NetHack 3.6 makemon.c $NHDT-Date: 1556150377 2019/04/24 23:59:37 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.134 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1282,22 +1282,19 @@ int mmflags;
if (mndx == PM_VLAD_THE_IMPALER)
mitem = CANDELABRUM_OF_INVOCATION;
mtmp->cham = NON_PM; /* default is "not a shapechanger" */
if ((mcham = pm_to_cham(mndx)) != NON_PM) {
if (!Protection_from_shape_changers
&& (mcham = pm_to_cham(mndx)) != NON_PM) {
/* this is a shapechanger after all */
if (Protection_from_shape_changers
|| mndx == PM_VLAD_THE_IMPALER) {
; /* stuck in its natural form (NON_PM) */
} else {
mtmp->cham = mcham;
/* Note: shapechanger's initial form used to be
chosen here with rndmonst(), yielding a monster
which was appropriate to the level's difficulty
but ignored the changer's usual type selection
so would be inappropriate for vampshifters.
mtmp->cham = mcham;
/* Vlad stays in his normal shape so he can carry the Candelabrum */
if (mndx != PM_VLAD_THE_IMPALER
/* Note: shapechanger's initial form used to be chosen here
with rndmonst(), yielding a monster which was appropriate
to the level's difficulty but ignoring the changer's usual
type selection, so was inappropriate for vampshifters.
Let newcham() pick the shape. */
if (newcham(mtmp, (struct permonst *) 0, FALSE, FALSE))
allow_minvent = FALSE;
}
&& newcham(mtmp, (struct permonst *) 0, FALSE, FALSE))
allow_minvent = FALSE;
} else if (mndx == PM_WIZARD_OF_YENDOR) {
mtmp->iswiz = TRUE;
g.context.no_of_wizards++;

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 mon.c $NHDT-Date: 1555552629 2019/04/18 01:57:09 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.282 $ */
/* NetHack 3.6 mon.c $NHDT-Date: 1556139724 2019/04/24 21:02:04 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.284 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1933,9 +1933,7 @@ register struct monst *mtmp;
Sprintf(buf, "%s suddenly %s and rises as %%s!",
x_monnam(mtmp, ARTICLE_THE,
spec_mon ? (char *) 0 : "seemingly dead",
SUPPRESS_SADDLE | SUPPRESS_HALLUCINATION
| SUPPRESS_INVISIBLE | SUPPRESS_IT,
FALSE),
(SUPPRESS_INVISIBLE | SUPPRESS_IT), FALSE),
spec_death ? "reconstitutes" : "transforms");
mtmp->mcanmove = 1;
mtmp->mfrozen = 0;
@@ -1963,13 +1961,13 @@ register struct monst *mtmp;
else
mtmp->cham = mndx;
if (canspotmon(mtmp)) {
const char *whom = mtmp->data->mname;
/* was using a_monnam(mtmp) but that's weird if mtmp is named:
"Dracula suddenly transforms and rises as Dracula" */
if (!type_is_pname(mtmp->data))
whom = an(whom);
pline(upstart(buf), whom);
/* 3.6.0 used a_monnam(mtmp); that was weird if mtmp was
named: "Dracula suddenly transforms and rises as Dracula";
3.6.1 used mtmp->data->mname; that ignored hallucination */
pline(upstart(buf),
x_monnam(mtmp, ARTICLE_A, (char *) 0,
(SUPPRESS_NAME | SUPPRESS_IT
| SUPPRESS_INVISIBLE), FALSE));
g.vamp_rise_msg = TRUE;
}
newsym(x, y);