Sliderhead late hit leniency can prevent sliderticks from being hit when the sliderhead is missed
Type
Game behaviour
Bug description
Because late hit leniency on sliderheads prevents sliderticks from being judged until the head is judged via a hit or reaching the end of the hit window, missing the sliderhead can cause sliderticks to be unhittable temporarily. This results in the tick being missed if the cursor is no longer on it when the sliderhead is judged.
The map and replays in the provided videos provided here: Sliderhead Leniency Test.zip
This behaviour may be causing the notelock in #26150, but it doesn't explain why it's inconsistent in that issue.
Screenshots or videos
Intended stable behaviour:
https://github.com/ppy/osu/assets/92956514/80dbed44-f900-4dbe-bac3-52ea87342ac7
https://github.com/ppy/osu/assets/92956514/5a8150c9-e478-471d-a7ab-a97e3a244583
Observed lazer behaviour:
https://github.com/ppy/osu/assets/92956514/38038c0d-5516-446f-92be-2235139a4e87
https://github.com/ppy/osu/assets/92956514/3fe84c3d-1d19-4f7c-a41c-accf763f2d03
Version
2024-131.0-lazer
Logs
Just to throw an idea out there:
A potential fix for the slidertick issue is to queue any sliderticks that have been successfully tracked and only judge them after the sliderhead is judged (this keeps the behaviour of being able to hit notes out of order, but judges them in order through a queue system)
And for the notelock issue, a solution would be to force miss the previous notes, as long as 2 conditions are met:
- All previous active notes are sliders
- The time of hit on the current note is after the end time of the previous slider
Implementing these 2 ideas locally fixed these test cases and some other affected replays, seemingly without touching any unaffected replays. Though, it would require more testing anyway to make sure nothing slips through the cracks