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

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