From: PatR Date: Thu, 2 Jun 2016 01:45:52 +0000 (-0700) Subject: obscure polyself message X-Git-Tag: NetHack-3.6.1_RC01~713 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a5d57430be2ede01e150276e7bd660f6f14eb9a3;p=nethack obscure polyself message Hero was poly'd into a hider monster and was swallowed by something. Attempting to hide via '#monster' gave "You can't hide while you're being held." It correctly blocked hiding due to u.ustuck but the feedback ignored the possibility of u.ustuck+u.uswallow. --- diff --git a/doc/fixes36.1 b/doc/fixes36.1 index 26967c078..8cfd5880a 100644 --- a/doc/fixes36.1 +++ b/doc/fixes36.1 @@ -278,6 +278,8 @@ describe detected door traps and chest traps as trapped door and trapped chest instead of bear trap; bear trap tile is still used on map though thrown potion that killed peaceful monster would cause "the gets argry" after the message about it being killed +when poly'd into a hider and engulfed, attempt to hide via #monster was blocked + but feedback said "can't hide while held" rather than "while engulfed" Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository diff --git a/src/polyself.c b/src/polyself.c index b67cc133a..d4c2afdf1 100644 --- a/src/polyself.c +++ b/src/polyself.c @@ -1399,11 +1399,12 @@ dohide() (except for floor hiders [trapper or mimic] in pits) */ if (u.ustuck || (u.utrap && (u.utraptype != TT_PIT || on_ceiling))) { You_cant("hide while you're %s.", - !u.ustuck ? "trapped" : !sticks(youmonst.data) - ? "being held" - : humanoid(u.ustuck->data) - ? "holding someone" - : "holding that creature"); + !u.ustuck ? "trapped" + : u.uswallow ? (is_animal(u.ustuck->data) ? "swallowed" + : "engulfed") + : !sticks(youmonst.data) ? "being held" + : (humanoid(u.ustuck->data) ? "holding someone" + : "holding that creature")); if (u.uundetected || (ismimic && youmonst.m_ap_type != M_AP_NOTHING)) { u.uundetected = 0;