diff --git a/src/play_controller.cpp b/src/play_controller.cpp index b8bb8c9951d3..0df37db2528e 100644 --- a/src/play_controller.cpp +++ b/src/play_controller.cpp @@ -1376,6 +1376,10 @@ void play_controller::set_defeat_music_list(const std::string& list) void play_controller::check_victory() { + if(linger_) + { + return; + } std::set not_defeated; for (unit_map::const_iterator i = units_.begin(), i_end = units_.end(); i != i_end; ++i) diff --git a/src/playmp_controller.cpp b/src/playmp_controller.cpp index f3bbf75929cd..56b1d2ffc40d 100644 --- a/src/playmp_controller.cpp +++ b/src/playmp_controller.cpp @@ -629,8 +629,10 @@ bool playmp_controller::can_execute_command(const hotkey::hotkey_command& cmd, i switch (command){ case hotkey::HOTKEY_ENDTURN: if (linger_) - { - return is_host_; + { + bool has_next_scenario = !resources::gamedata->next_scenario().empty() && + resources::gamedata->next_scenario() != "null"; + return is_host_ || !has_next_scenario; } else {