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;