mon's glorkum pass harmlessly through the shade
I couldn't reproduce the problem; it appears to depend upon whether the file-scope variable 'otmp' has a stale value, and that might happen after a monster has tried to steal mon's saddle. However, the code pointed out in the report is clearly wrong. This prevents feedback of "glorkum" (with plural verb since quantity of 0 isn't 1), but the potential stale value hasn't been dealt with.
This commit is contained in:
+2
-1
@@ -1,4 +1,4 @@
|
|||||||
$NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.1 $ $NHDT-Date: 1583445339 2020/03/05 21:55:39 $
|
$NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.2 $ $NHDT-Date: 1583606861 2020/03/07 18:47:41 $
|
||||||
|
|
||||||
fixes36.6 contains a terse summary of changes made to 3.6.5 in order to
|
fixes36.6 contains a terse summary of changes made to 3.6.5 in order to
|
||||||
produce 3.6.6 as well as any post-release fixes in binaries.
|
produce 3.6.6 as well as any post-release fixes in binaries.
|
||||||
@@ -12,6 +12,7 @@ formatting corpse names used internal buffers differently from formatting
|
|||||||
avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty
|
avoid divide by 0 crash if 'bogusmon' (file of bogus monster types) is empty
|
||||||
avoid #wizrumorcheck crash if either 'rumors.tru' or 'rumors.fal' or both
|
avoid #wizrumorcheck crash if either 'rumors.tru' or 'rumors.fal' or both
|
||||||
were empty when makedefs built 'rumors'
|
were empty when makedefs built 'rumors'
|
||||||
|
avoid "<mon>'s glorkum pass harmlessly through the shade" for weaponless mon
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes or Features
|
Platform- and/or Interface-Specific Fixes or Features
|
||||||
|
|||||||
+4
-10
@@ -1,4 +1,4 @@
|
|||||||
/* NetHack 3.6 mhitm.c $NHDT-Date: 1573773926 2019/11/14 23:25:26 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.118 $ */
|
/* NetHack 3.6 mhitm.c $NHDT-Date: 1583606861 2020/03/07 18:47:41 $ $NHDT-Branch: NetHack-3.6-Mar2020 $:$NHDT-Revision: 1.119 $ */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
/*-Copyright (c) Robert Patrick Rankin, 2011. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -860,7 +860,7 @@ mdamagem(magr, mdef, mattk)
|
|||||||
register struct monst *magr, *mdef;
|
register struct monst *magr, *mdef;
|
||||||
register struct attack *mattk;
|
register struct attack *mattk;
|
||||||
{
|
{
|
||||||
struct obj *obj, dmgwep;
|
struct obj *obj;
|
||||||
char buf[BUFSZ];
|
char buf[BUFSZ];
|
||||||
struct permonst *pa = magr->data, *pd = mdef->data;
|
struct permonst *pa = magr->data, *pd = mdef->data;
|
||||||
int armpro, num,
|
int armpro, num,
|
||||||
@@ -968,14 +968,8 @@ register struct attack *mattk;
|
|||||||
case AD_HEAL:
|
case AD_HEAL:
|
||||||
case AD_PHYS:
|
case AD_PHYS:
|
||||||
physical:
|
physical:
|
||||||
/* this shade check is necessary in case any attacks which
|
obj = (mattk->aatyp == AT_WEAP || mattk->aatyp == AT_CLAW) ? otmp : 0;
|
||||||
dish out physical damage bypass hitmm() to get here */
|
if (shade_miss(magr, mdef, obj, FALSE, TRUE)) {
|
||||||
if ((mattk->aatyp == AT_WEAP || mattk->aatyp == AT_CLAW) && otmp)
|
|
||||||
dmgwep = *otmp;
|
|
||||||
else
|
|
||||||
dmgwep = zeroobj;
|
|
||||||
|
|
||||||
if (shade_miss(magr, mdef, &dmgwep, FALSE, TRUE)) {
|
|
||||||
tmp = 0;
|
tmp = 0;
|
||||||
} else if (mattk->aatyp == AT_KICK && thick_skinned(pd)) {
|
} else if (mattk->aatyp == AT_KICK && thick_skinned(pd)) {
|
||||||
tmp = 0;
|
tmp = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user