Merge pull request #467 from PrincessMtH/susNotes

Fix oversights causing sustain notes to miss at random
This commit is contained in:
Cameron Taylor 2021-02-20 15:56:02 -05:00 committed by GitHub
commit c7088114f6
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,10 +186,8 @@ class Note extends FlxSprite
canBeHit = false;
if (strumTime <= Conductor.songPosition)
{
wasGoodHit = true;
}
}
if (tooLate)
{

View File

@ -1562,14 +1562,6 @@ class PlayState extends MusicBeatState
// daNote.y = (strumLine.y - (songTime - daNote.strumTime) * (0.45 * PlayState.SONG.speed));
if (daNote.y < -daNote.height)
{
if (daNote.isSustainNote && daNote.wasGoodHit)
{
daNote.kill();
notes.remove(daNote, true);
daNote.destroy();
}
else
{
if (daNote.tooLate || !daNote.wasGoodHit)
{
@ -1584,7 +1576,6 @@ class PlayState extends MusicBeatState
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
{