vampire genocide could produce unkillable critter

Vampires who were currently shape-shifted into a fog cloud, bat, or wolf
became an unkillable fog could, bat, or wolf if the player genocided
vampires.  When such a creature was killed, the attempt to transform it
back into a vampire failed, but the monster continued to be resurrected
anyway.
This commit is contained in:
PatR
2015-12-12 00:34:16 -08:00
parent 215060219d
commit 757e6f9c4d
2 changed files with 7 additions and 3 deletions
+4 -1
View File
@@ -12,7 +12,10 @@ looking at distant objects while wearing the Eyes of the Overworld made their
message when cursed wand zapped by a monster happens to explode was suppressed message when cursed wand zapped by a monster happens to explode was suppressed
if hero was deaf, even though that message has no audible component if hero was deaf, even though that message has no audible component
support explicit 'symset:default' and 'symset:Default symbols' in options support explicit 'symset:default' and 'symset:Default symbols' in options
Crash during startup if player name set as 'player' in defaults crash during startup if player name set as 'player' in defaults
any existing vampire shape-shifted into critter (fog cloud, bat, wolf) became
an unkillable critter if vampires were genocided
Platform- and/or Interface-Specific Fixes Platform- and/or Interface-Specific Fixes
----------------------------------------- -----------------------------------------
+3 -2
View File
@@ -1,4 +1,4 @@
/* NetHack 3.6 mon.c $NHDT-Date: 1449269918 2015/12/04 22:58:38 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.199 $ */ /* NetHack 3.6 mon.c $NHDT-Date: 1449908726 2015/12/12 08:25:26 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.200 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -1741,7 +1741,8 @@ register struct monst *mtmp;
int x = mtmp->mx, y = mtmp->my; int x = mtmp->mx, y = mtmp->my;
/* this only happens if shapeshifted */ /* this only happens if shapeshifted */
if (mndx >= LOW_PM && mndx != monsndx(mtmp->data)) { if (mndx >= LOW_PM && mndx != monsndx(mtmp->data)
&& !(mvitals[mndx].mvflags & G_GENOD)) {
char buf[BUFSZ]; char buf[BUFSZ];
boolean in_door = (amorphous(mtmp->data) boolean in_door = (amorphous(mtmp->data)
&& closed_door(mtmp->mx, mtmp->my)), && closed_door(mtmp->mx, mtmp->my)),