diff --git a/Project.xml b/Project.xml index 4534ff24da..9cff1bd4c1 100644 --- a/Project.xml +++ b/Project.xml @@ -2,7 +2,7 @@ - + diff --git a/source/states/gameplay/PlayState.hx b/source/states/gameplay/PlayState.hx index 3bbff1c118..d68cb5a67b 100644 --- a/source/states/gameplay/PlayState.hx +++ b/source/states/gameplay/PlayState.hx @@ -2055,7 +2055,7 @@ class PlayState extends MusicBeatState { notes.forEachAlive(function(note:Note) { - if (note.mustPress && FlxG.overlap(playerStrums, note) && note.y <= strumY) + if (note.mustPress && FlxG.overlap(playerStrums, note) && note.y <= strumY && !note.isSustainNote) { boyfriend.holdTimer = 0; // if all conditions are met, then we hit the note. @@ -2069,7 +2069,17 @@ class PlayState extends MusicBeatState popUpScore(timing); new FlxTimer().start(0.2, (_) -> { - playerStrums.members[note.noteData].animation.play("static"); + if (!FlxG.overlap(playerStrums.members[note.noteData], notes)) + playerStrums.members[note.noteData].animation.play("static"); + }); + } + else if (note.mustPress && FlxG.overlap(playerStrums, note) && note.isSustainNote) + { + goodNoteHit(note); + + new FlxTimer().start(0.2, (_) -> { + if (!FlxG.overlap(playerStrums.members[note.noteData], notes)) + playerStrums.members[note.noteData].animation.play("static"); }); } });