diff --git a/doc/fixes35.0 b/doc/fixes35.0 index 614bbe57f..ad8117820 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -877,6 +877,7 @@ charge for a boulder that fills a pit in shop abuse wisdom in keeping with Rider eating message message inconsistency: death message "swallowed whole" was preceded by "You bite into" +improve the messaging when a monster you can't see is causing an obstruction Platform- and/or Interface-Specific Fixes diff --git a/src/lock.c b/src/lock.c index 91e0f0728..b57d9eb85 100644 --- a/src/lock.c +++ b/src/lock.c @@ -627,13 +627,16 @@ register int x, y; boolean quietly; { register struct monst *mtmp = m_at(x, y); + boolean is_worm_tail = ((mtmp->mx != x) || (mtmp->my != y)); if(mtmp && mtmp->m_ap_type != M_AP_FURNITURE) { if (mtmp->m_ap_type == M_AP_OBJECT) goto objhere; - if (!quietly) pline("%s stands in the way!", !canspotmon(mtmp) ? - "Some creature" : Monnam(mtmp)); + if (!quietly) pline("%s %s in the way!", + is_worm_tail ? "Something" : + !canspotmon(mtmp) ? "Some creature" : Monnam(mtmp), + slithy(mtmp->data) ? "is situated" : "stands"); if (!canspotmon(mtmp)) - map_invisible(mtmp->mx, mtmp->my); + map_invisible(x, y); return(TRUE); } if (OBJ_AT(x, y)) {