Fix osu!mania hold notes snapping to judgement area too early on early hits

Closes https://github.com/ppy/osu/issues/23515.
This commit is contained in:
Dean Herbert 2023-06-01 16:06:34 +09:00
parent bbc5b86077
commit 98f35f7481
1 changed files with 4 additions and 1 deletions

View File

@ -245,7 +245,10 @@ protected override void Update()
// As the note is being held, adjust the size of the sizing container. This has two effects: // As the note is being held, adjust the size of the sizing container. This has two effects:
// 1. The contained masking container will mask the body and ticks. // 1. The contained masking container will mask the body and ticks.
// 2. The head note will move along with the new "head position" in the container. // 2. The head note will move along with the new "head position" in the container.
if (Head.IsHit && releaseTime == null && DrawHeight > 0) //
// As per stable, this should not apply for early hits, waiting until the object starts to touch the
// judgement area first.
if (Head.IsHit && releaseTime == null && DrawHeight > 0 && Time.Current >= HitObject.StartTime)
{ {
// How far past the hit target this hold note is. // How far past the hit target this hold note is.
float yOffset = Direction.Value == ScrollingDirection.Up ? -Y : Y; float yOffset = Direction.Value == ScrollingDirection.Up ? -Y : Y;