1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 09:32:55 +08:00

Adjust slider judgement logic to allow tracking anywhere after last tick

This commit is contained in:
Dean Herbert 2023-09-29 16:08:28 +09:00
parent 135d2497e7
commit e3695d2be0
2 changed files with 9 additions and 3 deletions

View File

@ -256,7 +256,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
protected override void CheckForResult(bool userTriggered, double timeOffset)
{
if (userTriggered || Time.Current < HitObject.EndTime)
if (userTriggered || !TailCircle.Judged)
return;
// If only the nested hitobjects are judged, then the slider's own judgement is ignored for scoring purposes.

View File

@ -8,6 +8,7 @@ using JetBrains.Annotations;
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Objects.Types;
using osu.Game.Skinning;
@ -125,8 +126,13 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
protected override void CheckForResult(bool userTriggered, double timeOffset)
{
if (!userTriggered && timeOffset >= 0)
ApplyResult(r => r.Type = Tracking ? r.Judgement.MaxResult : r.Judgement.MinResult);
if (userTriggered)
return;
if (timeOffset >= 0 && Tracking)
ApplyResult(r => r.Type = r.Judgement.MaxResult);
else if (timeOffset >= -SliderEventGenerator.LAST_TICK_OFFSET)
ApplyResult(r => r.Type = r.Judgement.MinResult);
}
protected override void OnApply()