diff --git a/assets/data/characterList.txt b/assets/data/characterList.txt
index 0b526ec..dca94b8 100644
--- a/assets/data/characterList.txt
+++ b/assets/data/characterList.txt
@@ -13,4 +13,5 @@ gf-christmas
monster
bf-pixel
senpai
+senpai-angry
spirit
\ No newline at end of file
diff --git a/assets/data/introText.txt b/assets/data/introText.txt
index 63c967a..0c7c8d1 100644
--- a/assets/data/introText.txt
+++ b/assets/data/introText.txt
@@ -37,5 +37,4 @@ fashionably late--but here it is
yooooooooooo--yooooooooo
pico funny--pico funny
updates each friday--on time every time
-shoutouts to mason--for da homies
-references are an homage--but stealing is a crime
\ No newline at end of file
+shoutouts to mason--for da homies
\ No newline at end of file
diff --git a/assets/images/pauseAlt/bfLol.png b/assets/images/pauseAlt/bfLol.png
new file mode 100644
index 0000000..b24fef3
Binary files /dev/null and b/assets/images/pauseAlt/bfLol.png differ
diff --git a/assets/images/pauseAlt/bfLol.xml b/assets/images/pauseAlt/bfLol.xml
new file mode 100644
index 0000000..14a7f19
--- /dev/null
+++ b/assets/images/pauseAlt/bfLol.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/images/pauseAlt/pauseBG.png b/assets/images/pauseAlt/pauseBG.png
new file mode 100644
index 0000000..ba11b9f
Binary files /dev/null and b/assets/images/pauseAlt/pauseBG.png differ
diff --git a/assets/images/pauseAlt/pauseUI.png b/assets/images/pauseAlt/pauseUI.png
new file mode 100644
index 0000000..e9f8dd7
Binary files /dev/null and b/assets/images/pauseAlt/pauseUI.png differ
diff --git a/assets/images/pauseAlt/pauseUI.xml b/assets/images/pauseAlt/pauseUI.xml
new file mode 100644
index 0000000..a71de7c
--- /dev/null
+++ b/assets/images/pauseAlt/pauseUI.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/source/GitarooPause.hx b/source/GitarooPause.hx
new file mode 100644
index 0000000..b444fbf
--- /dev/null
+++ b/source/GitarooPause.hx
@@ -0,0 +1,88 @@
+package;
+
+import flixel.FlxG;
+import flixel.FlxSprite;
+import flixel.graphics.frames.FlxAtlasFrames;
+
+class GitarooPause extends MusicBeatState
+{
+ var replayButton:FlxSprite;
+ var cancelButton:FlxSprite;
+
+ var replaySelect:Bool = false;
+
+ public function new():Void
+ {
+ super();
+ }
+
+ override function create()
+ {
+ if (FlxG.sound.music != null)
+ FlxG.sound.music.stop();
+
+ var bg:FlxSprite = new FlxSprite().loadGraphic('assets/images/pauseAlt/pauseBG.png');
+ add(bg);
+
+ var bf:FlxSprite = new FlxSprite(0, 30);
+ bf.frames = FlxAtlasFrames.fromSparrow('assets/images/pauseAlt/bfLol.png', 'assets/images/pauseAlt/bfLol.xml');
+ bf.animation.addByPrefix('lol', "funnyThing", 13);
+ bf.animation.play('lol');
+ add(bf);
+ bf.screenCenter(X);
+
+ replayButton = new FlxSprite(FlxG.width * 0.28, FlxG.height * 0.7);
+ replayButton.frames = FlxAtlasFrames.fromSparrow('assets/images/pauseAlt/pauseUI.png', 'assets/images/pauseAlt/pauseUI.xml');
+ replayButton.animation.addByPrefix('selected', 'bluereplay', 0, false);
+ replayButton.animation.appendByPrefix('selected', 'yellowreplay');
+ replayButton.animation.play('selected');
+ add(replayButton);
+
+ cancelButton = new FlxSprite(FlxG.width * 0.58, replayButton.y);
+ cancelButton.frames = FlxAtlasFrames.fromSparrow('assets/images/pauseAlt/pauseUI.png', 'assets/images/pauseAlt/pauseUI.xml');
+ cancelButton.animation.addByPrefix('selected', 'bluecancel', 0, false);
+ cancelButton.animation.appendByPrefix('selected', 'cancelyellow');
+ cancelButton.animation.play('selected');
+ add(cancelButton);
+
+ changeThing();
+
+ super.create();
+ }
+
+ override function update(elapsed:Float)
+ {
+ if (controls.LEFT_P || controls.RIGHT_P)
+ changeThing();
+
+ if (controls.ACCEPT)
+ {
+ if (replaySelect)
+ {
+ FlxG.switchState(new PlayState());
+ }
+ else
+ {
+ FlxG.switchState(new MainMenuState());
+ }
+ }
+
+ super.update(elapsed);
+ }
+
+ function changeThing():Void
+ {
+ replaySelect = !replaySelect;
+
+ if (replaySelect)
+ {
+ cancelButton.animation.curAnim.curFrame = 0;
+ replayButton.animation.curAnim.curFrame = 1;
+ }
+ else
+ {
+ cancelButton.animation.curAnim.curFrame = 1;
+ replayButton.animation.curAnim.curFrame = 0;
+ }
+ }
+}
diff --git a/source/PlayState.hx b/source/PlayState.hx
index 64ce3b7..0af1b03 100644
--- a/source/PlayState.hx
+++ b/source/PlayState.hx
@@ -1470,7 +1470,14 @@ class PlayState extends MusicBeatState
vocals.stop();
FlxG.sound.music.stop();
- openSubState(new GameOverSubstate(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
+ // 1 / 1000 chance for Gitaroo Man easter egg
+ if (FlxG.random.bool(0.1))
+ {
+ // gitaroo man easter egg
+ FlxG.switchState(new GitarooPause());
+ }
+ else
+ openSubState(new GameOverSubstate(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
// FlxG.switchState(new GameOverState(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
}
@@ -1505,11 +1512,11 @@ class PlayState extends MusicBeatState
daNote.y = (strumLine.y - (Conductor.songPosition - daNote.strumTime) * (0.45 * FlxMath.roundDecimal(SONG.speed, 2)));
// i am so fucking sorry for this if condition
- if (daNote.isSustainNote && daNote.y + daNote.offset.y <= strumLine.y + Note.swagWidth/2
- && (!daNote.mustPress || (daNote.wasGoodHit ||
- (daNote.prevNote.wasGoodHit && !daNote.canBeHit))))
+ if (daNote.isSustainNote
+ && daNote.y + daNote.offset.y <= strumLine.y + Note.swagWidth / 2
+ && (!daNote.mustPress || (daNote.wasGoodHit || (daNote.prevNote.wasGoodHit && !daNote.canBeHit))))
{
- var swagRect = new FlxRect(0, strumLine.y + Note.swagWidth/2 - daNote.y, daNote.width * 2, daNote.height * 2);
+ var swagRect = new FlxRect(0, strumLine.y + Note.swagWidth / 2 - daNote.y, daNote.width * 2, daNote.height * 2);
swagRect.y /= daNote.scale.y;
swagRect.height -= swagRect.y;