From 6aac95f090fe141e48e730c84195c80e678e4108 Mon Sep 17 00:00:00 2001 From: nhaar <38634785+nhaar@users.noreply.github.com> Date: Fri, 1 Nov 2024 13:11:36 +0000 Subject: [PATCH] Version 5.1.1 (#11) * fix RNG rigging improper patch * prevent splits timer mode from permacrashing the game * add fast crit pattern RNG option * update version --- build_scripts/build-template.bat | 4 +-- src/mod/all_chapters/config/rng/rng.gml | 4 ++- .../obj_attackpress_DUPE_Create_0.gml | 27 +++++++++++++++---- src/mod/all_chapters/labels/mod_version.gml | 4 +-- .../option_menu/obj_mod_options_Draw_64.gml | 13 ++++++++- .../all_chapters/option_menu/option_menu.gml | 4 ++- 6 files changed, 44 insertions(+), 12 deletions(-) diff --git a/build_scripts/build-template.bat b/build_scripts/build-template.bat index c25bb17..b462f7f 100644 --- a/build_scripts/build-template.bat +++ b/build_scripts/build-template.bat @@ -19,8 +19,8 @@ set umt_path= set flips_path= :: Versions -set demo_version=5.1.0 -set sp_version=5.10.0 +set demo_version=5.1.1 +set sp_version=5.1.1 set batch_path=%~dp0 set dist_path=%batch_path%..\dist\ diff --git a/src/mod/all_chapters/config/rng/rng.gml b/src/mod/all_chapters/config/rng/rng.gml index 128e111..5ea6de4 100644 --- a/src/mod/all_chapters/config/rng/rng.gml +++ b/src/mod/all_chapters/config/rng/rng.gml @@ -5,7 +5,8 @@ function get_rng_options() { return create_array( "susie_death", - "spelling_bee" + "spelling_bee", + "fast_attack" ); } @@ -16,6 +17,7 @@ function get_rng_option_options(name) { case "susie_death": return create_array(false, true); case "spelling_bee": return create_array(false, true); + case "fast_attack": return create_array(false, true); default: show_message("Error occured: could not find rng option named \"" + name + "\""); e += "crash"; diff --git a/src/mod/all_chapters/crit_practice/obj_attackpress_DUPE_Create_0.gml b/src/mod/all_chapters/crit_practice/obj_attackpress_DUPE_Create_0.gml index 787b88d..a1aad28 100644 --- a/src/mod/all_chapters/crit_practice/obj_attackpress_DUPE_Create_0.gml +++ b/src/mod/all_chapters/crit_practice/obj_attackpress_DUPE_Create_0.gml @@ -1,16 +1,33 @@ /// PATCH // rigging attacks /// AFTER + else lastbolt = choose(diff, (diff * 1.5)) } + else + lastbolt = choose(diff, (diff * 1.5)) /// CODE // bolttotal is the number of cursors // if 1, always the same -if (i_ex(obj_crit_practice) && !global.random_pattern && bolttotal != 1) +if (bolttotal != 1) { - pattern_array = bolttotal == 2 ? global.double_patterns : global.triple_patterns - for (i = 0; i < bolttotal; i += 1) - // TO-DO: Check why triple pattern is for both? - boltframe[i] = pattern_array[global.triple_pattern][i] + if (i_ex(obj_crit_practice) && !global.random_pattern) + { + var pattern_array = bolttotal == 2 ? global.double_patterns : global.triple_patterns + for (i = 0; i < bolttotal; i += 1) + { + // TO-DO: Check why triple pattern is for both? + boltframe[i] = pattern_array[global.triple_pattern][i] + } + } + else if (read_rng_value("fast_attack")) + { + var pattern_array = bolttotal == 2 ? global.double_patterns : global.triple_patterns + var pattern_number = bolttotal == 2 ? 0 : 3; + for (i = 0; i < bolttotal; i += 1) + { + boltframe[i] = pattern_array[pattern_number][i] + } + } } /// END \ No newline at end of file diff --git a/src/mod/all_chapters/labels/mod_version.gml b/src/mod/all_chapters/labels/mod_version.gml index b524485..c87cdfe 100644 --- a/src/mod/all_chapters/labels/mod_version.gml +++ b/src/mod/all_chapters/labels/mod_version.gml @@ -3,8 +3,8 @@ function get_mod_version() { #if SURVEY_PROGRAM - return "5.1.0-SP" + return "5.1.1-SP" #else - return "5.1.0-DEMO"; + return "5.1.1-DEMO"; #endif } \ No newline at end of file diff --git a/src/mod/all_chapters/option_menu/obj_mod_options_Draw_64.gml b/src/mod/all_chapters/option_menu/obj_mod_options_Draw_64.gml index a2c1e1d..c582b81 100644 --- a/src/mod/all_chapters/option_menu/obj_mod_options_Draw_64.gml +++ b/src/mod/all_chapters/option_menu/obj_mod_options_Draw_64.gml @@ -312,7 +312,14 @@ for (var i = 0; i < button_amount; i++) // splits else if (i == 2) { - change_to_timer_splits_mode(); + if (get_current_preset() == -1) + { + show_message("Please create and/or pick a split preset first!"); + } + else + { + change_to_timer_splits_mode(); + } } get_timer_mod_options(); break; @@ -462,6 +469,10 @@ for (var i = 0; i < button_amount; i++) { update_rng_value("spelling_bee", read_rng_value("spelling_bee") ? false : true); } + else if (i == 2) + { + update_rng_value("fast_attack", read_rng_value("fast_attack") ? false : true); + } get_rng_settings_mod_options(); break; case "debug_keybinds": diff --git a/src/mod/all_chapters/option_menu/option_menu.gml b/src/mod/all_chapters/option_menu/option_menu.gml index 52a7152..55d63fd 100644 --- a/src/mod/all_chapters/option_menu/option_menu.gml +++ b/src/mod/all_chapters/option_menu/option_menu.gml @@ -452,10 +452,12 @@ function get_rng_settings_mod_options() { var susie_state = read_rng_value("susie_death") ? "ON" : "OFF"; var spelling_state = read_rng_value("spelling_bee") ? "ON" : "OFF"; + var attack_state = read_rng_value("fast_attack") ? "ON" : "OFF"; get_buttons_from_array( "Susie always targeted in K. Round [" + susie_state + "]", - "Always optimal spelling bee word (language sensitive) [" + spelling_state +"]" + "Always optimal spelling bee word (language sensitive) [" + spelling_state +"]", + "Always get the fastest crit pattern [" + attack_state + "]" ); menu_desc = "Click each button to turn on/off a RNG setting"