vampshifting Vlad

Vlad keeps his own form when carrying the Candelabrum, but if you
manage to get that away from him he should behave like other vampires.
He wasn't though; a high level wizard casting polymorph on him would
change him into an arbitrary monster rather than into a wolf/bat/cloud
that revives as Vlad when killed.
This commit is contained in:
PatR
2019-04-24 16:59:44 -07:00
parent f441696908
commit f838967c04
2 changed files with 14 additions and 16 deletions
+2 -1
View File
@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.308 $ $NHDT-Date: 1556139724 2019/04/24 21:02:04 $ $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,
@@ -418,6 +418,7 @@ 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 message given when shape-shifted vampire cheats death by reverting to its
original form ignored hallucination when describing old and new forms 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
+12 -15
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;
context.no_of_wizards++; context.no_of_wizards++;