From ad29017482a3eba6d7d566ae553b0456c345ebcc Mon Sep 17 00:00:00 2001 From: PatR Date: Tue, 11 Apr 2017 17:58:14 -0700 Subject: [PATCH] fix #H5333 - overview annotation for quest summons The automatic annotations supplied for various special levels were treating the quest leader's summons as being mutually exclusive with the other things of interest. It's not, so wasn't shown if the entry portal was on either the bigroom level or the rogue level. Handle it differently from the rest so that it can stack with annotations for those levels. (The annotation for the portal itself, which doesn't get added until traversed, was already handled differently and shown correctly on those levels.) --- doc/fixes36.1 | 2 ++ src/dungeon.c | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/fixes36.1 b/doc/fixes36.1 index ce42dc224..5e6707bf8 100644 --- a/doc/fixes36.1 +++ b/doc/fixes36.1 @@ -370,6 +370,8 @@ g.cubes would eat globs of green slime without harm; engulf those instead fix up true rumor about rock moles vs boots Bell of Opening could trigger segfault attempting to open some types of traps if hero was mounted +automatic #overview annotation for quest summons wasn't shown if the quest + entry portal was on same level as bigroom or rogue level Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository diff --git a/src/dungeon.c b/src/dungeon.c index d3b603143..5b5e7c369 100644 --- a/src/dungeon.c +++ b/src/dungeon.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 dungeon.c $NHDT-Date: 1470275509 2016/08/04 01:51:49 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.76 $ */ +/* NetHack 3.6 dungeon.c $NHDT-Date: 1491958681 2017/04/12 00:58:01 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.79 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -2951,8 +2951,6 @@ boolean printdun; Sprintf(buf, "%sA very big room.", PREFIX); } else if (mptr->flags.roguelevel) { Sprintf(buf, "%sA primitive area.", PREFIX); - } else if (mptr->flags.quest_summons) { - Sprintf(buf, "%sSummoned by %s.", PREFIX, ldrname()); } else if (on_level(&mptr->lev, &qstart_level)) { Sprintf(buf, "%sHome%s.", PREFIX, mptr->flags.unreachable ? " (no way back...)" : ""); @@ -2974,6 +2972,11 @@ boolean printdun; } if (*buf) putstr(win, 0, buf); + /* quest entrance is not mutually-exclusive with bigroom or rogue level */ + if (mptr->flags.quest_summons) { + Sprintf(buf, "%sSummoned by %s.", PREFIX, ldrname()); + putstr(win, 0, buf); + } /* print out branches */ if (mptr->br) {