Merge branch 'NetHack-3.6.2'
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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++;
|
||||
|
||||
20
src/mon.c
20
src/mon.c
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user