wand/spell/breath killer reason

Extend "killed by the touch of death inflicted by <monster>" to buzz().
"Killed by a bolt of cold" becomes "killed by a bolt of cold zapped by
<monster>" or "killed by a blast of cold" becomes "killed by a blast
of cold exhaled by <monster>" and so forth.

More work than expected; the zap code isn't passed enough context.

BZ_M_WAND() was producing the wrong value for wands zapped by monsters.
This commit is contained in:
PatR
2023-03-07 02:47:42 -08:00
parent 8e6cf385b1
commit 4021a63bcf
12 changed files with 135 additions and 52 deletions

View File

@@ -1721,9 +1721,11 @@ do_storms(void)
if (count < 100) {
dirx = rn2(3) - 1;
diry = rn2(3) - 1;
if (dirx != 0 || diry != 0)
buzz(-15, /* "monster" LIGHTNING spell */
8, x, y, dirx, diry);
if (dirx != 0 || diry != 0) {
/* BZ_M_SPELL(BZ_OFS_AD(AD_ELEC)): monster LIGHTNING spell */
gb.buzzer = 0; /* unspecified attacker */
buzz(BZ_M_SPELL(BZ_OFS_AD(AD_ELEC)), 8, x, y, dirx, diry);
}
}
}