mirror of
https://github.com/ppy/osu.git
synced 2026-05-18 02:09:52 +08:00
Fix issue with processing LN orders
Related Issue: https://github.com/ppy/osu/issues/22756 The trigger in question happens when (1) in a chord: a longer LN, then a shorter LN is processed respectively. (2) in a chord: a long LN, then a note is processed respectively. however, given the opposite processing step, it will fail to trigger. We observe that both situations have the same pattern, however has undeterministic results, which only depends on the order the mapper placed each note.
This commit is contained in:
@@ -53,7 +53,8 @@ namespace osu.Game.Rulesets.Mania.Difficulty.Skills
|
||||
isOverlapping |= Precision.DefinitelyBigger(endTimes[i], startTime, 1) && Precision.DefinitelyBigger(endTime, endTimes[i], 1);
|
||||
|
||||
// We give a slight bonus to everything if something is held meanwhile
|
||||
if (Precision.DefinitelyBigger(endTimes[i], endTime, 1))
|
||||
if (Precision.DefinitelyBigger(endTimes[i], endTime, 1) &&
|
||||
Precision.DefinitelyBigger(startTime, startTimes[i], 1))
|
||||
holdFactor = 1.25;
|
||||
|
||||
closestEndTime = Math.Min(closestEndTime, Math.Abs(endTime - endTimes[i]));
|
||||
|
||||
Reference in New Issue
Block a user