From 1e70829799f5ec378aac77f583356cb8e7e5f0ba Mon Sep 17 00:00:00 2001
From: Cameron Taylor <cameron.taylor.ninja@gmail.com>
Date: Mon, 6 Dec 2021 22:35:14 -0500
Subject: [PATCH] funny note tween on restart!

---
 source/Note.hx      |  1 +
 source/PlayState.hx | 20 +++++++++++++++-----
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/source/Note.hx b/source/Note.hx
index bc79d832b..84efa89a3 100644
--- a/source/Note.hx
+++ b/source/Note.hx
@@ -19,6 +19,7 @@ class Note extends FlxSprite
 	public var strumTime:Float = 0;
 
 	public var mustPress:Bool = false;
+	public var followsTime:Bool = true; // used if you want the note to follow the time shit!
 	public var noteData:Int = 0;
 	public var canBeHit:Bool = false;
 	public var tooLate:Bool = false;
diff --git a/source/PlayState.hx b/source/PlayState.hx
index c461c238b..50e1eafea 100644
--- a/source/PlayState.hx
+++ b/source/PlayState.hx
@@ -1565,9 +1565,16 @@ class PlayState extends MusicBeatState
 
 		notes.forEach(function(nt)
 		{
-			nt.kill();
-			notes.remove(nt, true);
-			nt.destroy();
+			nt.followsTime = false;
+			FlxTween.tween(nt, {y: FlxG.height + nt.y}, 0.4, {
+				ease: FlxEase.expoIn,
+				onComplete: function(twn)
+				{
+					nt.kill();
+					notes.remove(nt, true);
+					nt.destroy();
+				}
+			});
 		});
 
 		var noteData:Array<SwagSection>;
@@ -2135,7 +2142,9 @@ class PlayState extends MusicBeatState
 				}
 
 				var strumLineMid = strumLine.y + Note.swagWidth / 2;
-				daNote.y = (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(SongLoad.getSpeed(), 2));
+
+				if (daNote.followsTime)
+					daNote.y = (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(SongLoad.getSpeed(), 2));
 
 				if (PreferencesMenu.getPref('downscroll'))
 				{
@@ -2156,7 +2165,8 @@ class PlayState extends MusicBeatState
 				}
 				else
 				{
-					daNote.y = strumLine.y - daNote.y;
+					if (daNote.followsTime)
+						daNote.y = strumLine.y - daNote.y;
 					if (daNote.isSustainNote
 						&& (!daNote.mustPress || (daNote.wasGoodHit || (daNote.prevNote.wasGoodHit && !daNote.canBeHit)))
 						&& daNote.y + daNote.offset.y * daNote.scale.y <= strumLineMid)