diff options
author | Matthew Cline <zelgadis@sourceforge.net> | 2009-10-30 01:23:33 -0700 |
---|---|---|
committer | Matthew Cline <zelgadis@sourceforge.net> | 2009-10-30 01:23:33 -0700 |
commit | 5b1a28616877a2f8f3b1b2562c02fca645fcc99f (patch) | |
tree | 1549976d13ba5266439e676b9c027b29093518e6 /crawl-ref/source/state.cc | |
parent | c6fc0f21471b48180fb592ff38c0526be1dece11 (diff) | |
download | crawl-ref-5b1a28616877a2f8f3b1b2562c02fca645fcc99f.tar.gz crawl-ref-5b1a28616877a2f8f3b1b2562c02fca645fcc99f.zip |
Interrupt less often when repeating wiz commands
Interrupt/cancel command repetition less often when repeating a wizard
command.
Diffstat (limited to 'crawl-ref/source/state.cc')
-rw-r--r-- | crawl-ref/source/state.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/crawl-ref/source/state.cc b/crawl-ref/source/state.cc index c13c2321e9..2c994cd094 100644 --- a/crawl-ref/source/state.cc +++ b/crawl-ref/source/state.cc @@ -86,6 +86,23 @@ void game_state::cancel_cmd_repeat(std::string reason) if (!is_repeating_cmd()) return; + if (repeat_cmd == CMD_WIZARD) + { + // Don't interrupt wizard testing of religion. + if (is_god_acting()) + return; + + // Don't interrupt wizard testing just because we can't + // move. + if (you.cannot_act()) + return; + + // We've probably just recovered from being unable to act; + // again, don't interrupt. + if (you.turn_is_over) + return; + } + if (is_replaying_keys() || cmd_repeat_start) flush_input_buffer(FLUSH_KEY_REPLAY_CANCEL); |