-$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
produce 3.6.6 as well as any post-release fixes in binaries.
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
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
-/* 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) Robert Patrick Rankin, 2011. */
/* NetHack may be freely redistributed. See license for details. */
register struct monst *magr, *mdef;
register struct attack *mattk;
{
- struct obj *obj, dmgwep;
+ struct obj *obj;
char buf[BUFSZ];
struct permonst *pa = magr->data, *pd = mdef->data;
int armpro, num,
case AD_HEAL:
case AD_PHYS:
physical:
- /* this shade check is necessary in case any attacks which
- dish out physical damage bypass hitmm() to get here */
- if ((mattk->aatyp == AT_WEAP || mattk->aatyp == AT_CLAW) && otmp)
- dmgwep = *otmp;
- else
- dmgwep = zeroobj;
-
- if (shade_miss(magr, mdef, &dmgwep, FALSE, TRUE)) {
+ obj = (mattk->aatyp == AT_WEAP || mattk->aatyp == AT_CLAW) ? otmp : 0;
+ if (shade_miss(magr, mdef, obj, FALSE, TRUE)) {
tmp = 0;
} else if (mattk->aatyp == AT_KICK && thick_skinned(pd)) {
tmp = 0;