diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index 4fa4c3d7f..5944b188e 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -2749,7 +2749,7 @@ enlightenment/attribute disclosure for saving-grace: include a line for have "X " for explore mode, or "D " for debug mode if any of the games shown in its menu weren't saved during normal play; if they're all normal play, the prefix is suppressed -tourists gain experience by seeing new types of creatures up close, and +tourists gain experience by "taking photos" of new creatures, and going to new dungeon levels healers gain experience by healing pets blessed scroll of destroy armor asks which armor to destroy diff --git a/src/mon.c b/src/mon.c index 93aad677a..545283c8d 100644 --- a/src/mon.c +++ b/src/mon.c @@ -5804,7 +5804,8 @@ adj_erinys(unsigned abuse) pm->difficulty = min(10 + (u.ualign.abuse / 3), 25); } -/* mark monster type as seen from close-up */ +/* mark monster type as seen from close-up, + if we haven't seen it nearby before */ void see_monster_closeup(struct monst *mtmp) { @@ -5823,17 +5824,13 @@ see_nearby_monsters(void) { coordxy x, y; - /* currently used only for tourists ... */ - if (Blind || !Role_if(PM_TOURIST)) - return; - for (x = u.ux - 1; x <= u.ux + 1; x++) for (y = u.uy - 1; y <= u.uy + 1; y++) if (isok(x, y) && MON_AT(x, y)) { struct monst *mtmp = m_at(x, y); - if (canseemon(mtmp)) - see_monster_closeup(mtmp); + if (canspotmon(mtmp) && !mtmp->mundetected && !M_AP_TYPE(mtmp)) + svm.mvitals[monsndx(mtmp->data)].seen_close = TRUE; } }