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.)
This commit is contained in:
PatR
2017-04-11 17:58:14 -07:00
parent 3fbcce5e87
commit ad29017482
2 changed files with 8 additions and 3 deletions

View File

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

View File

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