Prevent searching or waiting next to a hostile

Generally speaking there's no reason to wait or search next to
a hostile monster, so let's just prevent those actions. You can
still do those commands by prefixing them with the 'm' prefix.
This commit is contained in:
Pasi Kallinen
2020-04-12 17:21:23 +03:00
parent 47fb7e5ee5
commit ac94c44b0b
6 changed files with 21 additions and 3 deletions

View File

@@ -674,7 +674,8 @@ For ports with mouse
support, the command is also invoked when a mouse-click takes place on a
location other than the current position.
.lp .
Wait or rest, do nothing for one turn.
Wait or rest, do nothing for one turn. Precede with the \(oqm\(cq prefix
to wait for a turn even next to a hostile monster.
.lp a
Apply (use) a tool (pick-axe, key, lamp...).
.lp ""
@@ -882,6 +883,8 @@ Redraw the screen.
.lp s
Search for secret doors and traps around you.
It usually takes several tries to find something.
Precede with the \(oqm\(cq prefix to search for a turn
even next to a hostile monster.
.lp ""
Can also be used to figure out whether there is still a monster at
an adjacent \(lqremembered, unseen monster\(rq marker.

View File

@@ -768,7 +768,8 @@ support, the command is also invoked when a mouse-click takes place on a
location other than the current position.
%.lp
\item[\tb{.}]
Wait or rest, do nothing for one turn.
Wait or rest, do nothing for one turn. Precede with the `{\tt m}' prefix
to wait for a turn even next to a hostile monster.
%.lp
\item[\tb{a}]
Apply (use) a tool (pick-axe, key, lamp \ldots).\\
@@ -965,7 +966,9 @@ Redraw the screen.
%.lp
\item[\tb{s}]
Search for secret doors and traps around you.
It usually takes several tries to find something.\\
It usually takes several tries to find something.
Precede with the `{\tt m}' prefix to wait for a turn
even next to a hostile monster.\\
%.lp ""
Can also be used to figure out whether there is still a monster at
an adjacent ``remembered, unseen monster'' marker.

View File

@@ -126,6 +126,7 @@ it's possible to wish for tins of the Riders in wizard mode; eating one is
fatal but if you're life-saved or decline to die, the game crashed
revival via undead turning of corpse carried by hero said "your <mon> corpse
comes alive" even when revived monster was undead
prevent searching or waiting next to a hostile monster - override with 'm'
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository

View File

@@ -2995,6 +2995,8 @@ int NDECL((*cmd_func));
|| cmd_func == doloot
/* travel: pop up a menu of interesting targets in view */
|| cmd_func == dotravel
/* wait and search: allow even if next to a hostile monster */
|| cmd_func == donull || cmd_func == dosearch
/* wizard mode ^V and ^T */
|| cmd_func == wiz_level_tele || cmd_func == dotelecmd
/* 'm' prefix allowed for some extended commands */

View File

@@ -1782,6 +1782,10 @@ register int aflag; /* intrinsic autosearch vs explicit searching */
int
dosearch()
{
if (!iflags.menu_requested && !g.multi && monster_nearby()) {
Norep("You already found a monster.");
return 0;
}
return dosearch0(0);
}

View File

@@ -1970,6 +1970,11 @@ long timeout UNUSED;
int
donull()
{
if (!iflags.menu_requested && !g.multi && monster_nearby()) {
Norep("Are you waiting to get hit?");
return 0;
}
return 1; /* Do nothing, but let other things happen */
}