diff --git a/src/play_controller.cpp b/src/play_controller.cpp index 5156346eed97..4b3af566780c 100644 --- a/src/play_controller.cpp +++ b/src/play_controller.cpp @@ -153,6 +153,7 @@ play_controller::play_controller(const config& level, , statistics_context_(new statistics::scenario_context(level["name"])) , replay_(new replay(state_of_game.get_replay())) , skip_replay_(skip_replay) + , skip_story_(state_of_game.skip_story()) , linger_(false) , init_side_done_now_(false) , map_start_() diff --git a/src/play_controller.hpp b/src/play_controller.hpp index 3738e6517a26..66aa9e8350ac 100644 --- a/src/play_controller.hpp +++ b/src/play_controller.hpp @@ -242,6 +242,8 @@ class play_controller : public controller_base, public events::observer, public void do_autosave(); + bool is_skipping_story() const { return skip_story_; } + void do_consolesave(const std::string& filename); events::mouse_handler& get_mouse_handler_base() override; @@ -451,6 +453,7 @@ class play_controller : public controller_base, public events::observer, public std::unique_ptr replay_; bool skip_replay_; + bool skip_story_; bool linger_; /** diff --git a/src/playsingle_controller.cpp b/src/playsingle_controller.cpp index d75b44a50cd1..f8331a19d79c 100644 --- a/src/playsingle_controller.cpp +++ b/src/playsingle_controller.cpp @@ -227,7 +227,7 @@ LEVEL_RESULT playsingle_controller::play_scenario(const config& level) } sound::commit_music_changes(); - if(!this->is_skipping_replay() && !saved_game_.skip_story()) { + if(!this->is_skipping_replay() && !this->is_skipping_story()) { // Combine all the [story] tags into a single config. Handle this here since // storyscreen::controller doesn't have a default constructor. config cfg;