From: nethack.allison Date: Thu, 9 Jan 2003 02:37:03 +0000 (+0000) Subject: more mimic follow-up bits X-Git-Tag: MOVE2GIT~2250 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5336419465c6e86fff6f4768190c667578fbe299;p=nethack more mimic follow-up bits Address some complaints about an earlier patch. --- diff --git a/src/mhitu.c b/src/mhitu.c index 49d0f34d2..00e0225b6 100644 --- a/src/mhitu.c +++ b/src/mhitu.c @@ -316,10 +316,6 @@ mattacku(mtmp) /* Might be attacking your image around the corner, or * invisible, or you might be blind.... */ - boolean mimickobj = (youmonst.m_ap_type == M_AP_OBJECT && - (youmonst.mappearance > STRANGE_OBJECT && - youmonst.mappearance < NUM_OBJECTS)); - /* you are mimicking an object */ if(!ranged) nomul(0); if(mtmp->mhp <= 0 || (Underwater && !is_swimmer(mtmp->data))) @@ -443,7 +439,7 @@ mattacku(mtmp) } /* player might be mimicking an object */ - if (mimickobj && !range2 && foundyou && !u.uswallow) { + if (youmonst.m_ap_type == M_AP_OBJECT && !range2 && foundyou && !u.uswallow) { if (!youseeit) pline("%s %s!", Something, (likes_gold(mtmp->data) && youmonst.mappearance == GOLD_PIECE) ? diff --git a/src/objnam.c b/src/objnam.c index 6bc5568f8..feb5c7dac 100644 --- a/src/objnam.c +++ b/src/objnam.c @@ -2671,14 +2671,12 @@ const char * mimic_obj_name(mtmp) struct monst *mtmp; { - boolean mimickobj = (mtmp->m_ap_type == M_AP_OBJECT && - (mtmp->mappearance > STRANGE_OBJECT && - mtmp->mappearance < NUM_OBJECTS)); - if (mimickobj) { - if (mtmp->mappearance == GOLD_PIECE) return "gold"; - else return obj_descr[objects[mtmp->mappearance].oc_descr_idx].oc_name; - } - return "whatcha-may-callit"; + if (mtmp->m_ap_type == M_AP_OBJECT && mtmp->mappearance != STRANGE_OBJECT) { + int idx = objects[mtmp->mappearance].oc_descr_idx; + if (mtmp->mappearance == GOLD_PIECE) return "gold"; + return obj_descr[idx].oc_name; + } + return "whatcha-may-callit"; } #endif /* OVLB */ diff --git a/src/polyself.c b/src/polyself.c index 7b7848f74..cca8ceab6 100644 --- a/src/polyself.c +++ b/src/polyself.c @@ -33,9 +33,8 @@ polyman(fmt, arg) const char *fmt, *arg; { boolean sticky = sticks(youmonst.data) && u.ustuck && !u.uswallow, - was_mimicking = (youmonst.m_ap_type == M_AP_OBJECT && - (youmonst.mappearance > STRANGE_OBJECT && - youmonst.mappearance < NUM_OBJECTS)); + was_mimicking = (youmonst.m_ap_type == M_AP_OBJECT); + boolean was_blind = !!Blind; if (Upolyd) { @@ -332,9 +331,6 @@ int mntmp; { boolean sticky = sticks(youmonst.data) && u.ustuck && !u.uswallow, was_blind = !!Blind, dochange = FALSE; - boolean was_mimicking = (youmonst.m_ap_type == M_AP_OBJECT && - (youmonst.mappearance > STRANGE_OBJECT && - youmonst.mappearance < NUM_OBJECTS)); int mlvl; if (mvitals[mntmp].mvflags & G_GENOD) { /* allow G_EXTINCT */ @@ -360,7 +356,7 @@ int mntmp; flags.female = u.mfemale; } - if (was_mimicking) { + if (youmonst.m_ap_type) { /* stop mimicking immediately */ if (multi < 0) unmul(""); } else if (mons[mntmp].mlet != S_MIMIC) { diff --git a/src/vault.c b/src/vault.c index 432bf9f69..a81322b1d 100644 --- a/src/vault.c +++ b/src/vault.c @@ -134,9 +134,6 @@ invault() #endif struct monst *guard; int trycount, vaultroom = (int)vault_occupied(u.urooms); - boolean mimickobj = (youmonst.m_ap_type == M_AP_OBJECT && - (youmonst.mappearance > STRANGE_OBJECT && - youmonst.mappearance < NUM_OBJECTS)); if(!vaultroom) { u.uinvault = 0; @@ -244,8 +241,9 @@ fnd: else pline("Someone else has entered the Vault."); newsym(guard->mx,guard->my); - if (mimickobj || u.uundetected) { - if (mimickobj && youmonst.mappearance != GOLD_PIECE) + if (youmonst.m_ap_type == M_AP_OBJECT || u.uundetected) { + if (youmonst.m_ap_type == M_AP_OBJECT && + youmonst.mappearance != GOLD_PIECE) verbalize("Hey! who left that %s in here?", mimic_obj_name(&youmonst)); /* You're mimicking some object or you're hidden. */ pline("Puzzled, %s turns around and leaves.", mhe(guard));