From e8fa54e53e40565058b9233e5aa6db99cca71eb2 Mon Sep 17 00:00:00 2001 From: JHDev2006 Date: Mon, 22 Sep 2025 19:57:45 +0100 Subject: [PATCH] fixed a bug where full marathon times, were not being saved correctly, if 8-4 already had a single level run recorded --- Scripts/Classes/Singletons/SpeedrunHandler.gd | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Scripts/Classes/Singletons/SpeedrunHandler.gd b/Scripts/Classes/Singletons/SpeedrunHandler.gd index faf9bf1..c2427ed 100644 --- a/Scripts/Classes/Singletons/SpeedrunHandler.gd +++ b/Scripts/Classes/Singletons/SpeedrunHandler.gd @@ -276,9 +276,18 @@ func run_finished() -> void: if Global.current_game_mode == Global.GameMode.BOO_RACE: pass else: - var best = best_level_warpless_times[Global.world_num - 1][Global.level_num - 1] - if is_warp_run: - best = best_level_any_times.get(str(Global.world_num) + "-" + str(Global.level_num), -1) + var best := -1 + if Global.current_game_mode == Global.GameMode.MARATHON_PRACTICE: + if is_warp_run: + best = best_level_any_times.get(str(Global.world_num) + "-" + str(Global.level_num), -1) + else: + best = best_level_warpless_times[Global.world_num - 1][Global.level_num - 1] + else: + if is_warp_run: + best = marathon_best_any_time + else: + best = marathon_best_warpless_time + if best <= 0 or best > timer: if Global.current_game_mode == Global.GameMode.MARATHON_PRACTICE: save_recording()