From 88eb33f198c26651671d41929878664df66298a9 Mon Sep 17 00:00:00 2001 From: nhmall Date: Thu, 4 Sep 2025 22:38:49 -0400 Subject: [PATCH] more #1441 Address the second part of the GitHub issue: "Finally, when a wand of striking (or a shift+F melee attack for that matter, but the latter gives no tactical advantage compared to just bumping them) misses a disguised mimic, it is revealed. I don't know what to make of it" --- src/zap.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/zap.c b/src/zap.c index 73666008f..f7001d2ac 100644 --- a/src/zap.c +++ b/src/zap.c @@ -190,14 +190,16 @@ bhitm(struct monst *mtmp, struct obj *otmp) /*FALLTHRU*/ case SPE_FORCE_BOLT: reveal_invis = TRUE; - if (disguised_mimic) - seemimic(mtmp); learn_it = cansee(gb.bhitpos.x, gb.bhitpos.y); if (resists_magm(mtmp)) { /* match effect on player */ + if (mimic_disguised_as_non_mon(mtmp)) + seemimic(mtmp); shieldeff(mtmp->mx, mtmp->my); pline("Boing!"); /* 3.7: used to 'break' to avoid setting learn_it here */ } else if (u.uswallow || rnd(20) < 10 + find_mac(mtmp)) { + if (disguised_mimic) + seemimic(mtmp); dmg = d(2, 12); if (dbldam) dmg *= 2; @@ -206,7 +208,8 @@ bhitm(struct monst *mtmp, struct obj *otmp) hit(zap_type_text, mtmp, exclam(dmg)); (void) resist(mtmp, otmp->oclass, dmg, TELL); } else { - miss(zap_type_text, mtmp); + if (!disguised_mimic) + miss(zap_type_text, mtmp); learn_it = FALSE; } break;