Debug actions to quick-launch core scenarios
This commit is contained in:
@@ -2438,8 +2438,26 @@ void show_debug_help() {
|
||||
debug_panel.run();
|
||||
}
|
||||
|
||||
void debug_launch_scen(std::string scen_name) {
|
||||
if(recording){
|
||||
record_action("debug_launch_scen", scen_name);
|
||||
}
|
||||
// Start by using the default party
|
||||
if(!party_in_memory){
|
||||
// TODO: Could add a debug party preference like the scenario editor has
|
||||
start_new_game(true);
|
||||
}
|
||||
// Take party out of scenario they're in
|
||||
if(univ.party.is_in_scenario()){
|
||||
// TODO: Confirm
|
||||
handle_victory(true);
|
||||
}
|
||||
// Force party into the scenario, skipping the intro:
|
||||
put_party_in_scen(scen_name, true);
|
||||
}
|
||||
|
||||
// Non-comprehensive list of unused keys:
|
||||
// chjklnoqvy @#$-_+[]{},.'"`\|;:
|
||||
// chjklnoqvy -_+[]{},.'"`\|;:
|
||||
// We want to keep lower-case for normal gameplay.
|
||||
void init_debug_actions() {
|
||||
// optional `true` argument means you can use this action in the startup menu.
|
||||
@@ -2479,6 +2497,12 @@ void init_debug_actions() {
|
||||
add_debug_action({'<'}, "Make one day pass", debug_increase_age);
|
||||
add_debug_action({'>'}, "Reset towns (excludes the one you're in, if any)", debug_towns_forget);
|
||||
add_debug_action({'!'}, "Toggle Special Node Step-through Mode", debug_step_through);
|
||||
|
||||
// Enter core scenarios, skipping intro:
|
||||
add_debug_action({'@'}, "Quick-launch The Valley of Dying Things", []() -> void {debug_launch_scen("valleydy.boes");}, true);
|
||||
add_debug_action({'#'}, "Quick-launch A Small Rebellion", []() -> void {debug_launch_scen("stealth.boes");}, true);
|
||||
add_debug_action({'$'}, "Quick-launch The Za-Khazi Run", []() -> void {debug_launch_scen("zakhazi.boes");}, true);
|
||||
|
||||
// std::bind won't work here for reasons
|
||||
add_debug_action({'%'}, "Fight wandering encounter from this section", []() -> void {debug_fight_encounter(true);});
|
||||
add_debug_action({'^'}, "Fight special encounter from this section", []() -> void {debug_fight_encounter(false);});
|
||||
|
@@ -105,6 +105,7 @@ void debug_increase_age();
|
||||
void debug_towns_forget();
|
||||
void debug_heal_plus_extra();
|
||||
void debug_heal();
|
||||
void debug_launch_scen(std::string scen_name);
|
||||
void handle_print_pc_hp(int which_pc, bool& need_reprint);
|
||||
void handle_print_pc_sp(int which_pc, bool& need_reprint);
|
||||
void handle_trade_places(int which_pc, bool& need_reprint);
|
||||
|
@@ -790,6 +790,9 @@ static void replay_action(Element& action) {
|
||||
}else if(t == "toggle_debug_mode"){
|
||||
toggle_debug_mode();
|
||||
return;
|
||||
}else if(t == "debug_launch_scen"){
|
||||
debug_launch_scen(action.GetText());
|
||||
return;
|
||||
}else if(t == "debug_give_item"){
|
||||
debug_give_item();
|
||||
return;
|
||||
|
Reference in New Issue
Block a user