summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/player.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/player.cc')
-rw-r--r--crawl-ref/source/player.cc12
1 files changed, 5 insertions, 7 deletions
diff --git a/crawl-ref/source/player.cc b/crawl-ref/source/player.cc
index 4cdf592454..e13ba99ba5 100644
--- a/crawl-ref/source/player.cc
+++ b/crawl-ref/source/player.cc
@@ -2994,6 +2994,9 @@ void gain_exp( unsigned int exp_gained, unsigned int* actual_gain,
void level_change(bool skip_attribute_increase)
{
+ const bool wiz_cmd = crawl_state.prev_cmd == CMD_WIZARD
+ || crawl_state.repeat_cmd == CMD_WIZARD;
+
// necessary for the time being, as level_change() is called
// directly sometimes {dlb}
you.redraw_experience = true;
@@ -3003,14 +3006,9 @@ void level_change(bool skip_attribute_increase)
{
bool skip_more = false;
- if (!skip_attribute_increase)
+ if (!skip_attribute_increase && !wiz_cmd)
{
- if (crawl_state.is_replaying_keys()
- || crawl_state.is_repeating_cmd())
- {
- crawl_state.cancel_cmd_repeat();
- crawl_state.cancel_cmd_again();
- }
+ crawl_state.cancel_cmd_all();
if (is_processing_macro())
flush_input_buffer(FLUSH_ABORT_MACRO);