mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-07 20:35:36 +00:00
sync :next_level command
This commit is contained in:
parent
fb40721922
commit
035aa07506
@ -2952,17 +2952,7 @@ void console_handler::do_nosaves() {
|
||||
|
||||
void console_handler::do_next_level()
|
||||
{
|
||||
if (!get_data().empty())
|
||||
menu_handler_.gamedata().set_next_scenario(get_data());
|
||||
end_level_data e;
|
||||
e.transient.carryover_report = false;
|
||||
e.prescenario_save = true;
|
||||
e.transient.linger_mode = false;
|
||||
e.proceed_to_next_level = true;
|
||||
e.is_victory = true;
|
||||
menu_handler_.pc_.set_end_level_data(e);
|
||||
menu_handler_.pc_.force_end_turn();
|
||||
menu_handler_.pc_.maybe_throw_return_to_play_side();
|
||||
synced_context::run_and_throw("debug_next_level", config_of("next_level", get_data()));
|
||||
}
|
||||
|
||||
void console_handler::do_choose_level() {
|
||||
@ -3004,17 +2994,7 @@ void console_handler::do_choose_level() {
|
||||
return;
|
||||
|
||||
if (size_t(choice) < options.size()) {
|
||||
menu_handler_.gamedata().set_next_scenario(options[choice]);
|
||||
end_level_data e;
|
||||
e.transient.carryover_report = false;
|
||||
e.prescenario_save = true;
|
||||
e.transient.linger_mode = false;
|
||||
e.proceed_to_next_level = true;
|
||||
e.is_victory = true;
|
||||
menu_handler_.pc_.set_end_level_data(e);
|
||||
// This is for linger mode where end turn is actualy end scenario.
|
||||
menu_handler_.pc_.force_end_turn();
|
||||
menu_handler_.pc_.maybe_throw_return_to_play_side();
|
||||
synced_context::run_and_throw("debug_next_level", config_of("next_level", options[choice]));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -497,3 +497,29 @@ SYNCED_COMMAND_HANDLER_FUNCTION(debug_lua, child, use_undo, /*show*/, /*error_ha
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
SYNCED_COMMAND_HANDLER_FUNCTION(debug_next_level, 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(":next_level debug command was used during turn of $player", symbols), font::NORMAL_COLOR);
|
||||
|
||||
std::string next_level = child["next_level"];
|
||||
if (!next_level.empty())
|
||||
resources::gamedata->set_next_scenario(next_level);
|
||||
end_level_data e;
|
||||
e.transient.carryover_report = false;
|
||||
e.prescenario_save = true;
|
||||
e.transient.linger_mode = false;
|
||||
e.proceed_to_next_level = true;
|
||||
e.is_victory = true;
|
||||
|
||||
resources::controller->set_end_level_data(e);
|
||||
resources::controller->force_end_turn();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user