fix "killed by a died"

Explosion caused by an unseen gas spore resulted in messages about
"explosion" instead of "gas spore's explosion", which is intended, but
followed that with a death reason of "killed by a died" which isn't.
This commit is contained in:
PatR
2015-12-23 16:05:45 -08:00
parent 2e5d3602aa
commit 9114a334c9
2 changed files with 9 additions and 9 deletions

View File

@@ -54,6 +54,7 @@ make travel walk up to a trap and stop when the trap blocks the only
way forward, instead of trying to go straight line
travel will displace pets rather than stop
do not autopickup unpaid items in shops
death due an unseen gas spore's explosion resulted in "killed by a died"
Platform- and/or Interface-Specific Fixes

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 explode.c $NHDT-Date: 1446955298 2015/11/08 04:01:38 $ $NHDT-Branch: master $:$NHDT-Revision: 1.44 $ */
/* NetHack 3.6 explode.c $NHDT-Date: 1450915435 2015/12/24 00:03:55 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.45 $ */
/* Copyright (C) 1990 by Ken Arromdee */
/* NetHack may be freely redistributed. See license for details. */
@@ -311,12 +311,13 @@ int expltype;
so avoid any which begins with a capital letter) */
do {
Sprintf(hallu_buf, "%s explosion",
s_suffix(rndmonnam(NULL)));
s_suffix(rndmonnam((char *) 0)));
} while (*hallu_buf != lowc(*hallu_buf));
str = hallu_buf;
}
if (u.uswallow && mtmp == u.ustuck) {
const char *adj = NULL;
const char *adj = (char *) 0;
if (is_animal(u.ustuck->data)) {
switch (adtyp) {
case AD_FIRE:
@@ -431,7 +432,7 @@ int expltype;
if (do_hallu) { /* (see explanation above) */
do {
Sprintf(hallu_buf, "%s explosion",
s_suffix(rndmonnam(NULL)));
s_suffix(rndmonnam((char *) 0)));
} while (*hallu_buf != lowc(*hallu_buf));
str = hallu_buf;
}
@@ -468,9 +469,8 @@ int expltype;
rehumanize();
} else {
if (olet == MON_EXPLODE) {
/* killer handled by caller */
if (generic)
killer.name[0] = 0;
if (generic) /* explosion was unseen; str=="explosion", */
; /* killer.name=="gas spore's explosion" */
else if (str != killer.name && str != hallu_buf)
Strcpy(killer.name, str);
killer.format = KILLED_BY_AN;
@@ -486,8 +486,7 @@ int expltype;
Strcpy(killer.name, str);
}
if (iflags.last_msg == PLNMSG_CAUGHT_IN_EXPLOSION
|| iflags.last_msg
== PLNMSG_TOWER_OF_FLAME) /*seffects()*/
|| iflags.last_msg == PLNMSG_TOWER_OF_FLAME) /*seffects()*/
pline("It is fatal.");
else
pline_The("%s is fatal.", str);