From 41c484a8c85814cd672dc382b9e3920b26afed39 Mon Sep 17 00:00:00 2001 From: TaikoZhong <108016253+GanYiZhong@users.noreply.github.com> Date: Thu, 17 Sep 2026 12:19:06 +0800 Subject: [PATCH] result: the gold gauge cell follows the cleared state, not the cell count The first gold cell was lit from the cell count (39 of 50 for oni) while the game clears on soul >= norma (8000); a failed run at 7800..7999 soul grew a gold cell. Draw the transition piece and the gold strip only when gauge_state >= 1, like the HUD gauge. Co-Authored-By: Claude Fable 5.1 --- Scripts/result/result_player.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Scripts/result/result_player.lua b/Scripts/result/result_player.lua index 119cc56..b7a0d56 100644 --- a/Scripts/result/result_player.lua +++ b/Scripts/result/result_player.lua @@ -662,11 +662,16 @@ function ResultPlayer:draw_gauge() local n = math.min(gl_int, clear_pt - 1) tex.draw_texture(self.t_gauge_bar, { scale = scale, x2 = (n - 1) * u, fade = base_fade, index = p_idx }) end - if gl_int >= clear_pt - 1 and self.t_gauge_bar_clear_transition then + -- The transition piece is the first gold cell (the rounded cap of the clear zone). + -- Light it only when the run is cleared, like the HUD gauge (Gauge::get_is_clear): + -- the norma sits inside that cell (oni 8000 = cell 40.0 of 50, but a failed run at + -- 7800..7999 soul already shows 39 cells), so a cell-count test lit it a cell early + -- and a failed result grew a gold cell. + if gl_int >= clear_pt - 1 and self.gauge_state >= 1 and self.t_gauge_bar_clear_transition then tex.draw_texture(self.t_gauge_bar_clear_transition, { scale = scale, x = (clear_pt - 1) * u, fade = base_fade, index = p_idx }) end - if gl_int > clear_pt then + if gl_int > clear_pt and self.gauge_state >= 1 then local extra = (gl_int - clear_pt - 1) * u if self.t_gauge_bar_clear_top then tex.draw_texture(self.t_gauge_bar_clear_top, -- 2.54.0