From: PatR Date: Thu, 9 Jun 2016 18:42:34 +0000 (-0700) Subject: fix #H4383 - blasted twice by Excalibur X-Git-Tag: NetHack-3.6.1_RC01~688 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ebd6bb62f58acb68d4032392eea1ae1cc16cc4af;p=nethack fix #H4383 - blasted twice by Excalibur ...when alignment was toggled by helm of opposite alignment. The touch/retouch code is quite convoluted, but I think this simple change is the right fix. --- diff --git a/doc/fixes36.1 b/doc/fixes36.1 index 1ebb8fdf5..7a87418db 100644 --- a/doc/fixes36.1 +++ b/doc/fixes36.1 @@ -286,6 +286,8 @@ show in inventory which monster a leash is attached to using /? to look up something by name, supplying multiple spaces (with no other characters) as the name triggered impossible "singular of null?" add support for the 'altmeta' option to the 'what-does' command ('&' or '?f') +when wielded weapon becomes untouchable (after alignment change or polymorph) + hero could be 'blasted by its power' twice in succession Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository diff --git a/src/artifact.c b/src/artifact.c index 39525b8d0..113843e78 100644 --- a/src/artifact.c +++ b/src/artifact.c @@ -1888,7 +1888,7 @@ boolean loseit; /* whether to drop it if hero can longer touch it */ bane = bane_applies(get_artifact(obj), &youmonst); /* nothing else to do if hero can successfully handle this object */ - if (!ag && !bane) + if (!ag && !bane && !touch_blasted) return 1; /* hero can't handle this object, but didn't get touch_artifact()'s