gamelog: hit with wielded weapon for first time
Reordering "killed for the first time" and "hit with a wielded weapon for the first time" was done by moving the latter to hmon(). Hitting with an applied polearm also gave the first-hit message since it bypassed the routine that had been doing so. But the throwing code that handles applied polearms calls hmon() for damage, so after that reordering, the first-hit log message became duplicated if triggered by polearm usage. Also, fix a quibble with the wizard mode conduct message given after never-hit-with-wielded-weapon conduct has been broken. The message said "used a wielded weapon N times" when it meant "hit with a wielded weapon N times". "Used" is misleading if that wielded weapon happens to be a pick-axe, so change the message to say "hit with".
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 dothrow.c $NHDT-Date: 1621037618 2021/05/15 00:13:38 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.199 $ */
|
||||
/* NetHack 3.7 dothrow.c $NHDT-Date: 1645298658 2022/02/19 19:24:18 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.217 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2013. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -1885,9 +1885,12 @@ thitmonst(
|
||||
chopper = is_axe(obj);
|
||||
|
||||
/* attack hits mon */
|
||||
if (hmode == HMON_APPLIED)
|
||||
if (!u.uconduct.weaphit++)
|
||||
livelog_printf(LL_CONDUCT, "hit with a wielded weapon for the first time");
|
||||
if (hmode == HMON_APPLIED) { /* ranged hit with wielded polearm */
|
||||
/* hmon()'s caller is expected to do this; however, hmon()
|
||||
delivers the "hit with wielded weapon for first time"
|
||||
gamelog message when applicable */
|
||||
u.uconduct.weaphit++;
|
||||
}
|
||||
if (hmon(mon, obj, hmode, dieroll)) { /* mon still alive */
|
||||
if (mon->wormno)
|
||||
cutworm(mon, g.bhitpos.x, g.bhitpos.y, chopper);
|
||||
|
||||
Reference in New Issue
Block a user