diff -ur nethack-3.4.3/include/flag.h nethack-3.4.3.eric/include/flag.h --- nethack-3.4.3/include/flag.h 2003-12-08 00:39:13.000000000 +0100 +++ nethack-3.4.3.eric/include/flag.h 2009-08-11 21:21:07.000000000 +0200 @@ -280,6 +280,7 @@ #define MAX_ALTKEYHANDLER 25 char altkeyhandler[MAX_ALTKEYHANDLER]; #endif + boolean justmove; /* treat all moves like 'm' moves */ }; /* diff -ur nethack-3.4.3/src/hack.c nethack-3.4.3.eric/src/hack.c --- nethack-3.4.3/src/hack.c 2003-12-08 00:39:13.000000000 +0100 +++ nethack-3.4.3.eric/src/hack.c 2009-08-11 22:49:42.000000000 +0200 @@ -1061,7 +1061,7 @@ * invisible monster--then, we fall through to attack() and * attack_check(), which still wastes a turn, but prints a * different message and makes the player remember the monster. */ - if(flags.nopick && + if((flags.nopick || (iflags.justmove && !flags.forcefight)) && (canspotmon(mtmp) || glyph_is_invisible(levl[x][y].glyph))){ if(mtmp->m_ap_type && !Protection_from_shape_changers && !sensemon(mtmp)) diff -ur nethack-3.4.3/src/options.c nethack-3.4.3.eric/src/options.c --- nethack-3.4.3/src/options.c 2003-12-08 00:39:13.000000000 +0100 +++ nethack-3.4.3.eric/src/options.c 2009-08-11 21:21:04.000000000 +0200 @@ -195,6 +195,7 @@ #endif {"verbose", &flags.verbose, TRUE, SET_IN_GAME}, {"wraptext", &iflags.wc2_wraptext, FALSE, SET_IN_GAME}, + {"justmove", &iflags.justmove, FALSE, SET_IN_GAME}, {(char *)0, (boolean *)0, FALSE, 0} };