Tweak tourist xp gain from new monsters

Remove the XP gain for tourist seeing a new type of monster
nearby, as it apparently made tourists a bit harder by forcing
early level gains.

Monsters next to hero are still marked as seen close-up, but
fix the code so it doesn't count undetected monsters.

Tourists still gain XP from "taking photos" of new types of monsters,
but only if they haven't seen the monster close up before.
(No actual photos are taken.)
This commit is contained in:
Pasi Kallinen
2025-01-01 21:37:28 +02:00
parent 35f2ca44e2
commit 0a58b7a540
2 changed files with 5 additions and 8 deletions

View File

@@ -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

View File

@@ -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;
}
}