Merge branch 'pr573' into NetHack-3.7

This commit is contained in:
nhmall
2021-10-16 10:53:40 -04:00
2 changed files with 7 additions and 5 deletions
+1
View File
@@ -1298,6 +1298,7 @@ delete extra lines in Guidebook.mn (pr #590 by argrath)
supply missing changes on Guidebook.tex (pr #591 by argrath) supply missing changes on Guidebook.tex (pr #591 by argrath)
fix out-of-bounds access of xdir and ydir in farlook (pr #592 by copperwater) fix out-of-bounds access of xdir and ydir in farlook (pr #592 by copperwater)
variation of imp's period-speak (pr #602 by Vivit-R) variation of imp's period-speak (pr #602 by Vivit-R)
fix m-prefix movement into warning symbol (pr #573 by entrez)
Code Cleanup and Reorganization Code Cleanup and Reorganization
+5 -4
View File
@@ -1487,7 +1487,7 @@ domove_core(void)
register struct rm *tmpr; register struct rm *tmpr;
register xchar x, y; register xchar x, y;
struct trap *trap = NULL; struct trap *trap = NULL;
int wtcap; int wtcap, glyph;
boolean on_ice; boolean on_ice;
xchar chainx = 0, chainy = 0, xchar chainx = 0, chainy = 0,
ballx = 0, bally = 0; /* ball&chain new positions */ ballx = 0, bally = 0; /* ball&chain new positions */
@@ -1705,6 +1705,7 @@ domove_core(void)
g.bhitpos.x = x; g.bhitpos.x = x;
g.bhitpos.y = y; g.bhitpos.y = y;
tmpr = &levl[x][y]; tmpr = &levl[x][y];
glyph = glyph_at(x, y);
/* attack monster */ /* attack monster */
if (mtmp) { if (mtmp) {
@@ -1729,7 +1730,8 @@ domove_core(void)
* different message and makes the player remember the monster. * different message and makes the player remember the monster.
*/ */
if (g.context.nopick && !g.context.travel if (g.context.nopick && !g.context.travel
&& (canspotmon(mtmp) || glyph_is_invisible(levl[x][y].glyph))) { && (canspotmon(mtmp) || glyph_is_invisible(glyph)
|| glyph_is_warning(glyph))) {
if (M_AP_TYPE(mtmp) && !Protection_from_shape_changers if (M_AP_TYPE(mtmp) && !Protection_from_shape_changers
&& !sensemon(mtmp)) && !sensemon(mtmp))
stumble_onto_mimic(mtmp); stumble_onto_mimic(mtmp);
@@ -1782,11 +1784,10 @@ domove_core(void)
/* specifying 'F' with no monster wastes a turn */ /* specifying 'F' with no monster wastes a turn */
if (g.context.forcefight if (g.context.forcefight
/* remembered an 'I' && didn't use a move command */ /* remembered an 'I' && didn't use a move command */
|| (glyph_is_invisible(levl[x][y].glyph) && !g.context.nopick)) { || (glyph_is_invisible(glyph) && !g.context.nopick)) {
struct obj *boulder = 0; struct obj *boulder = 0;
boolean explo = (Upolyd && attacktype(g.youmonst.data, AT_EXPL)), boolean explo = (Upolyd && attacktype(g.youmonst.data, AT_EXPL)),
solid = !accessible(x, y); solid = !accessible(x, y);
int glyph = glyph_at(x, y); /* might be monster */
char buf[BUFSZ]; char buf[BUFSZ];
if (!Underwater) { if (!Underwater) {