]> granicus.if.org Git - nethack/commitdiff
more hiding monsters vs traps (trunk only)
authornethack.rankin <nethack.rankin>
Sat, 27 May 2006 03:58:35 +0000 (03:58 +0000)
committernethack.rankin <nethack.rankin>
Sat, 27 May 2006 03:58:35 +0000 (03:58 +0000)
     Previous patch only handled hides-under monsters and the hero; this
takes care of other hiding monsters.

src/mon.c

index 2931bacbbb142aeede8e0a30055454d2856f4100..f8f917c33b6002afe012d80d6f03e10569adda07 100644 (file)
--- a/src/mon.c
+++ b/src/mon.c
@@ -2344,8 +2344,13 @@ STATIC_OVL boolean
 restrap(mtmp)
 register struct monst *mtmp;
 {
+       struct trap *t;
+
        if((mtmp->cham >= LOW_PM) || mtmp->mcan || mtmp->m_ap_type ||
           cansee(mtmp->mx, mtmp->my) || rn2(3) || (mtmp == u.ustuck) ||
+          /* can't hide while trapped except in pits */
+          (mtmp->mtrapped && (t = t_at(mtmp->mx, mtmp->my)) != 0 &&
+               !(t->ttyp == PIT || t->ttyp == SPIKED_PIT)) ||
           (sensemon(mtmp) && distu(mtmp->mx, mtmp->my) <= 2))
                return(FALSE);