diff --git a/Themes/_fallback/Scripts/04 SpecialScoring.lua b/Themes/_fallback/Scripts/04 SpecialScoring.lua index 31ffaea4bf..68775dbca8 100644 --- a/Themes/_fallback/Scripts/04 SpecialScoring.lua +++ b/Themes/_fallback/Scripts/04 SpecialScoring.lua @@ -63,10 +63,16 @@ r['DDR Extreme'] = function(params, pss) local radarValues = steps:GetRadarValues(params.Player); local baseScore = (steps:IsAnEdit() and 5 or steps:GetMeter()) * 1000000; - if not Shared.CurrentStep then Shared.CurrentStep = 0 end; - Shared.CurrentStep = Shared.CurrentStep + 1; local totalItems = GetTotalItems(radarValues); + if (not Shared.TotalItems) then + Shared.TotalItems = -1; + end; local singleStep = (1 + totalItems) * totalItems / 2; + if (Shared.TotalItems ~= totalItems) then + Shared.CurrentStep = 0 + end; + Shared.CurrentStep = Shared.CurrentStep + 1; + Shared.TotalItems = totalItems; local stepLast = math.floor(baseScore / singleStep) * (Shared.CurrentStep); local judgeScore = 0; if (params.HoldNoteScore == 'HoldNoteScore_Held') then