When you hit a small hidden monster (by eg. force-fighting)
that got moved by the strike, the monster stayed hidden, possibly
causing a sanity checking error.
Reveal the monster before hurtling it.
if (dx && dy && NODIAG(monsndx(mon->data)))
return;
+ /* undetected monster can be moved by your strike */
+ if (mon->mundetected) {
+ mon->mundetected = 0;
+ newsym(mon->mx, mon->my);
+ }
+ if (M_AP_TYPE(mon))
+ seemimic(mon);
+
/* Send the monster along the path */
mc.x = mon->mx;
mc.y = mon->my;