diff --git a/src/menu_events.cpp b/src/menu_events.cpp index 32d9bac2d56..8583599d480 100644 --- a/src/menu_events.cpp +++ b/src/menu_events.cpp @@ -3007,19 +3007,13 @@ void console_handler::do_turn() if (!data.empty()) { turn = lexical_cast_default(data, 1); } - tod_man.set_turn(turn, menu_handler_.gamedata()); - - menu_handler_.gui_->new_turn(); - menu_handler_.gui_->redraw_everything(); + synced_context::run_and_throw("debug_turn_limit", config_of("turn", turn)); } void console_handler::do_turn_limit() { - tod_manager& tod_man = menu_handler_.gamestate().tod_manager_; - int limit = - get_data().empty() ? -1 : lexical_cast_default(get_data(), 1); - tod_man.set_number_of_turns(limit); - menu_handler_.gui_->redraw_everything(); + int limit = get_data().empty() ? -1 : lexical_cast_default(get_data(), 1); + synced_context::run_and_throw("debug_turn_limit", config_of("turn_limit", limit)); } void console_handler::do_debug() { diff --git a/src/synced_commands.cpp b/src/synced_commands.cpp index 852fa9891e7..c2cb071fe22 100644 --- a/src/synced_commands.cpp +++ b/src/synced_commands.cpp @@ -523,3 +523,35 @@ SYNCED_COMMAND_HANDLER_FUNCTION(debug_next_level, child, use_undo, /*show*/, /*e return true; } + +SYNCED_COMMAND_HANDLER_FUNCTION(debug_turn_limit, child, use_undo, /*show*/, /*error_handler*/) +{ + if(use_undo) { + resources::undo_stack->clear(); + } + + utils::string_map symbols; + symbols["player"] = resources::controller->current_team().current_player(); + resources::screen->announce(vgettext(":turn_limit debug command was used during turn of $player", symbols), font::NORMAL_COLOR); + resources::tod_manager->set_number_of_turns(child["turn_limit"].to_int(-1)); + resources::screen->redraw_everything(); + return true; +} + +SYNCED_COMMAND_HANDLER_FUNCTION(debug_turn_limit, child, use_undo, /*show*/, /*error_handler*/) +{ + if(use_undo) { + resources::undo_stack->clear(); + } + + utils::string_map symbols; + symbols["player"] = resources::controller->current_team().current_player(); + resources::screen->announce(vgettext(":turn debug command was used during turn of $player", symbols), font::NORMAL_COLOR); + + resources::tod_manager->set_turn(child["turn"].to_int(1), *resources::gamedata); + + resources::screen->new_turn(); + resources::screen->redraw_everything(); + + return true; +}