fix "killed by a died"

This is a follow-up to commit 9114a33 that was intended to fix a "killed by a died" situation.
In that commit, the generic case could be encountered with variable str set to "explosion",
but that never got copied to svk.killer.name, and svk.killer.name remained set to "died"
during testing.

svk.killer.format = KILLED_BY_AN; is done whether the generic case, or not.

Close #1676
This commit is contained in:
nhmall
2026-09-09 21:15:43 -04:00
parent 017fbcf510
commit fc75a55d86
+7 -3
View File
@@ -643,10 +643,14 @@ explode(
rehumanize();
} else {
if (olet == MON_EXPLODE) {
if (generic) /* explosion was unseen; str=="explosion", */
; /* svk.killer.name=="gas spore's explosion". */
else if (str != svk.killer.name && str != hallu_buf)
if (generic) {
/* explosion was unseen; str=="explosion", */
/* svk.killer.name=="gas spore's explosion" */
if (!strcmp(str, "explosion"))
Strcpy(svk.killer.name, str);
} else if (str != svk.killer.name && str != hallu_buf) {
Strcpy(svk.killer.name, str);
}
svk.killer.format = KILLED_BY_AN;
} else if (olet == TRAP_EXPLODE) {
svk.killer.format = NO_KILLER_PREFIX;