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 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, 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) 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 if a mimic concealed itself as a corpse, it could pick a monster type which
never leaves a corpse 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 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) 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. */
@@ -1282,22 +1282,19 @@ int mmflags;
if (mndx == PM_VLAD_THE_IMPALER) if (mndx == PM_VLAD_THE_IMPALER)
mitem = CANDELABRUM_OF_INVOCATION; mitem = CANDELABRUM_OF_INVOCATION;
mtmp->cham = NON_PM; /* default is "not a shapechanger" */ 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 */ /* this is a shapechanger after all */
if (Protection_from_shape_changers mtmp->cham = mcham;
|| mndx == PM_VLAD_THE_IMPALER) { /* Vlad stays in his normal shape so he can carry the Candelabrum */
; /* stuck in its natural form (NON_PM) */ if (mndx != PM_VLAD_THE_IMPALER
} else { /* Note: shapechanger's initial form used to be chosen here
mtmp->cham = mcham; with rndmonst(), yielding a monster which was appropriate
/* Note: shapechanger's initial form used to be to the level's difficulty but ignoring the changer's usual
chosen here with rndmonst(), yielding a monster type selection, so was inappropriate for vampshifters.
which was appropriate to the level's difficulty
but ignored the changer's usual type selection
so would be inappropriate for vampshifters.
Let newcham() pick the shape. */ Let newcham() pick the shape. */
if (newcham(mtmp, (struct permonst *) 0, FALSE, FALSE)) && newcham(mtmp, (struct permonst *) 0, FALSE, FALSE))
allow_minvent = FALSE; allow_minvent = FALSE;
}
} else if (mndx == PM_WIZARD_OF_YENDOR) { } else if (mndx == PM_WIZARD_OF_YENDOR) {
mtmp->iswiz = TRUE; mtmp->iswiz = TRUE;
g.context.no_of_wizards++; 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) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Derek S. Ray, 2015. */ /*-Copyright (c) Derek S. Ray, 2015. */
/* NetHack may be freely redistributed. See license for details. */ /* 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!", Sprintf(buf, "%s suddenly %s and rises as %%s!",
x_monnam(mtmp, ARTICLE_THE, x_monnam(mtmp, ARTICLE_THE,
spec_mon ? (char *) 0 : "seemingly dead", spec_mon ? (char *) 0 : "seemingly dead",
SUPPRESS_SADDLE | SUPPRESS_HALLUCINATION (SUPPRESS_INVISIBLE | SUPPRESS_IT), FALSE),
| SUPPRESS_INVISIBLE | SUPPRESS_IT,
FALSE),
spec_death ? "reconstitutes" : "transforms"); spec_death ? "reconstitutes" : "transforms");
mtmp->mcanmove = 1; mtmp->mcanmove = 1;
mtmp->mfrozen = 0; mtmp->mfrozen = 0;
@@ -1963,13 +1961,13 @@ register struct monst *mtmp;
else else
mtmp->cham = mndx; mtmp->cham = mndx;
if (canspotmon(mtmp)) { if (canspotmon(mtmp)) {
const char *whom = mtmp->data->mname; /* 3.6.0 used a_monnam(mtmp); that was weird if mtmp was
named: "Dracula suddenly transforms and rises as Dracula";
/* was using a_monnam(mtmp) but that's weird if mtmp is named: 3.6.1 used mtmp->data->mname; that ignored hallucination */
"Dracula suddenly transforms and rises as Dracula" */ pline(upstart(buf),
if (!type_is_pname(mtmp->data)) x_monnam(mtmp, ARTICLE_A, (char *) 0,
whom = an(whom); (SUPPRESS_NAME | SUPPRESS_IT
pline(upstart(buf), whom); | SUPPRESS_INVISIBLE), FALSE));
g.vamp_rise_msg = TRUE; g.vamp_rise_msg = TRUE;
} }
newsym(x, y); newsym(x, y);