fix several issues caused by sustain notes no longer being removed after correctly hit

This commit is contained in:
MtH 2021-02-20 01:22:23 +01:00
parent f1d2fad105
commit 01e8800204
2 changed files with 14 additions and 25 deletions

View File

@ -171,16 +171,14 @@ class Note extends FlxSprite
if (mustPress)
{
// The * 0.5 us so that its easier to hit them too late, instead of too early
// The * 0.5 is so that it's easier to hit them too late, instead of too early
if (strumTime > Conductor.songPosition - Conductor.safeZoneOffset
&& strumTime < Conductor.songPosition + (Conductor.safeZoneOffset * 0.5))
{
canBeHit = true;
}
else
canBeHit = false;
if (strumTime < Conductor.songPosition - Conductor.safeZoneOffset)
if (strumTime < Conductor.songPosition - Conductor.safeZoneOffset && !wasGoodHit)
tooLate = true;
}
else
@ -188,9 +186,7 @@ class Note extends FlxSprite
canBeHit = false;
if (strumTime <= Conductor.songPosition)
{
wasGoodHit = true;
}
}
if (tooLate)

View File

@ -1563,27 +1563,18 @@ class PlayState extends MusicBeatState
if (daNote.y < -daNote.height)
{
if (daNote.isSustainNote && daNote.wasGoodHit)
if (daNote.tooLate || !daNote.wasGoodHit)
{
daNote.kill();
notes.remove(daNote, true);
daNote.destroy();
health -= 0.0475;
vocals.volume = 0;
}
else
{
if (daNote.tooLate || !daNote.wasGoodHit)
{
health -= 0.0475;
vocals.volume = 0;
}
daNote.active = false;
daNote.visible = false;
daNote.active = false;
daNote.visible = false;
daNote.kill();
notes.remove(daNote, true);
daNote.destroy();
}
daNote.kill();
notes.remove(daNote, true);
daNote.destroy();
}
});
}
@ -1864,7 +1855,7 @@ class PlayState extends MusicBeatState
notes.forEachAlive(function(daNote:Note)
{
if (daNote.canBeHit && daNote.mustPress && !daNote.tooLate)
if (daNote.canBeHit && daNote.mustPress && !daNote.tooLate && !daNote.wasGoodHit)
{
// the sorting probably doesn't need to be in here? who cares lol
possibleNotes.push(daNote);
@ -1940,13 +1931,15 @@ class PlayState extends MusicBeatState
if (upP || rightP || downP || leftP)
noteCheck(leftP, daNote);
}
*/
//this is already done in noteCheck / goodNoteHit
if (daNote.wasGoodHit)
{
daNote.kill();
notes.remove(daNote, true);
daNote.destroy();
}
*/
}
else
{