From: Pasi Kallinen Date: Sun, 29 Jan 2023 12:25:01 +0000 (+0200) Subject: Fix teleported eel hiding in dry land X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=394a46ab1333fffb8099efe090457b5a99df416c;p=nethack Fix teleported eel hiding in dry land --- diff --git a/src/mon.c b/src/mon.c index a7f45c4f6..718b4def4 100644 --- a/src/mon.c +++ b/src/mon.c @@ -4067,18 +4067,18 @@ restrap(struct monst *mtmp) return FALSE; } -/* reveal a monster at x,y hiding under an object, - if there are no objects there */ +/* reveal a hiding monster at x,y, either under nonexistent object, + or an eel out of water. */ void maybe_unhide_at(coordxy x, coordxy y) { struct monst *mtmp; - if (OBJ_AT(x, y)) - return; if ((mtmp = m_at(x, y)) == 0 && u_at(x, y)) mtmp = &gy.youmonst; - if (mtmp && mtmp->mundetected && hides_under(mtmp->data)) + if (mtmp && mtmp->mundetected + && ((hides_under(mtmp->data) && !OBJ_AT(x, y)) + || (mtmp->data->mlet == S_EEL && !is_pool(x, y)))) (void) hideunder(mtmp); }