Merge remote-tracking branch 'origin/NetHack-3.6.0'

This commit is contained in:
keni
2017-01-15 12:56:28 -05:00
8 changed files with 58 additions and 6 deletions

View File

@@ -2859,6 +2859,8 @@ Boldface monsters and ``\fB--More--\fP'' (default off). Persistent.
.lp statushilites
Enable coloring of status fields (default off).
See ``Configuring Status Hilites'' for further information.
.lp status_updates
Allow updates to the status lines at the bottom of the screen (default true).
.lp suppress_alert
This option may be set to a NetHack version level to suppress
alert notification messages about feature changes for that
@@ -3707,6 +3709,10 @@ was interrupted.
.lp whatis_coord:compass
When targeting with cursor, describe the cursor position with coordinates
relative to your character.
.lp nostatus_updates
Prevent updates to the status lines at the bottom of the screen, if
your screen-reader reads those lines. The same information can be
seen via the #attributes command.
.hn 2
Global Configuration for System Administrators
.pg

View File

@@ -3479,6 +3479,9 @@ Boldface monsters and ``{\tt --More--}'' (default off). Persistent.
Enable coloring of status fields (default off).
See ``{\it Configuring Status Hilites\/}'' for further information.
%.lp
\item[\ib{status\verb+_+updates}]
Allow updates to the status lines at the bottom of the screen (default true).
%.lp
\item[\ib{suppress\verb+_+alert}]
This option may be set to a NetHack version level to suppress
alert notification messages about feature changes for that
@@ -4509,6 +4512,11 @@ was interrupted.
\item[\ib{whatis\verb+_+coord:compass}]
When targeting with cursor, describe the cursor position with coordinates
relative to your character.
%.lp
\item[\ib{nostatus\verb+_+updates}]
Prevent updates to the status lines at the bottom of the screen, if
your screen-reader reads those lines. The same information can be
seen via the #attributes command.
\elist
%.hn2

View File

@@ -364,6 +364,8 @@ some death by the-poison-was-deadly situations left stale non-zero HP shown
on the status line during final disclosure
when sitting at a trap spot: You sit down. You step on a level teleporter.
(likewise for polymorph trap, and similar issue for web)
show all statusline information in #attributes
add option status_updates to prevent bottom of screen status line updates
Fixes to Post-3.6.0 Problems that Were Exposed Via git Repository

View File

@@ -232,6 +232,7 @@ struct instance_flags {
boolean echo; /* 1 to echo characters */
boolean use_menu_color; /* use color in menus; only if wc_color */
boolean use_status_hilites; /* use color in status line */
boolean status_updates; /* allow updates to bottom status lines */
boolean use_background_glyph; /* use background glyph when appropriate */
boolean hilite_pile; /* mark piles of objects with a hilite */
boolean autodescribe; /* autodescribe mode in getpos() */

View File

@@ -213,7 +213,7 @@ bot2()
void
bot()
{
if (youmonst.data) {
if (youmonst.data && iflags.status_updates) {
bot1();
bot2();
}
@@ -436,7 +436,7 @@ bot()
if (!blinit)
panic("bot before init.");
if (!youmonst.data) {
if (!youmonst.data || !iflags.status_updates) {
context.botl = context.botlx = 0;
update_all = FALSE;
return;

View File

@@ -1592,10 +1592,44 @@ characteristics_enlightenment(mode, final)
int mode;
int final;
{
char buf[BUFSZ];
int hp = Upolyd ? u.mh : u.uhp;
int hpmax = Upolyd ? u.mhmax : u.uhpmax;
putstr(en_win, 0, ""); /* separator after background */
putstr(en_win, 0,
final ? "Final Characteristics:" : "Current Characteristics:");
if (hp < 0)
hp = 0;
Sprintf(buf, "%d hit points (max:%d)", hp, hpmax);
you_have(buf, "");
Sprintf(buf, "%d magic power (max:%d)", u.uen, u.uenmax);
you_have(buf, "");
Sprintf(buf, "%d", u.uac);
enl_msg("Your armor class ", "is ", "was ", buf, "");
if (Upolyd) {
Sprintf(buf, "%d hit dice", mons[u.umonnum].mlevel);
} else {
/* flags.showexp does not matter */
/* experience level is already shown in the Background section */
Sprintf(buf, "%-1ld experience point%s",
u.uexp, u.uexp == 1 ? "" : "s");
}
you_have(buf, "");
Sprintf(buf, " You entered the dungeon %ld turn%s ago",
moves, moves == 1 ? "" : "s");
putstr(en_win, 0, buf);
#ifdef SCORE_ON_BOTL
Sprintf(buf, "%ld", botl_score());
enl_msg("Your score ", "is ", "was ", buf, "");
#endif
/* bottom line order */
one_characteristic(mode, final, A_STR); /* strength */
one_characteristic(mode, final, A_DEX); /* dexterity */

View File

@@ -2518,8 +2518,8 @@ struct monst *mtmp;
/* mnearto()
* Put monster near (or at) location if possible.
* Returns:
* 1 - if a monster was moved from x, y to put mtmp at x, y.
* 0 - in most cases.
* true if relocation was successful
* false otherwise
*/
boolean
mnearto(mtmp, x, y, move_other)
@@ -2532,7 +2532,7 @@ boolean move_other; /* make sure mtmp gets to x, y! so move m_at(x, y) */
coord mm;
if (mtmp->mx == x && mtmp->my == y)
return FALSE;
return TRUE;
if (move_other && (othermon = m_at(x, y)) != 0) {
if (othermon->wormno)
@@ -2570,7 +2570,7 @@ boolean move_other; /* make sure mtmp gets to x, y! so move m_at(x, y) */
}
}
return FALSE;
return TRUE;
}
/* monster responds to player action; not the same as a passive attack;

View File

@@ -208,6 +208,7 @@ static struct Bool_Opt {
#else
{ "statushilites", &iflags.use_status_hilites, FALSE, DISP_IN_GAME },
#endif
{ "status_updates", &iflags.status_updates, TRUE, DISP_IN_GAME },
{ "tiled_map", &iflags.wc_tiled_map, PREFER_TILED, DISP_IN_GAME }, /*WC*/
{ "time", &flags.time, FALSE, SET_IN_GAME },
#ifdef TIMED_DELAY