diff --git a/source/Character.hx b/source/Character.hx index 42c320cad..04a6dce24 100644 --- a/source/Character.hx +++ b/source/Character.hx @@ -44,7 +44,7 @@ class Character extends FlxSprite quickAnimAdd('singRIGHT', 'GF Right Note'); quickAnimAdd('singUP', 'GF Up Note'); quickAnimAdd('singDOWN', 'GF Down Note'); - animation.addByIndices('sad', 'gf sad', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "", 24, false); + animation.addByIndices('sad', 'gf sad', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "", 24, true); animation.addByIndices('danceLeft', 'GF Dancing Beat', [30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false); animation.addByIndices('danceRight', 'GF Dancing Beat', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false); animation.addByIndices('hairBlow', "GF Dancing Beat Hair blowing", [0, 1, 2, 3], "", 24); diff --git a/source/PlayState.hx b/source/PlayState.hx index 4abaf8b9f..df3933e17 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -901,6 +901,9 @@ class PlayState extends MusicBeatState function ughIntro() { + FlxG.sound.playMusic(Paths.music('DISTORTO'), 0); + FlxG.sound.music.fadeIn(5, 0, 0.5); + dad.visible = false; var tankCutscene:FlxSprite = new FlxSprite(-20, 320); tankCutscene.frames = Paths.getSparrowAtlas('cutsceneStuff/tankTalkSong1'); @@ -941,6 +944,8 @@ class PlayState extends MusicBeatState { FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom}, (Conductor.crochet / 1000) * 5, {ease: FlxEase.quadInOut}); + FlxG.sound.music.fadeOut((Conductor.crochet / 1000) * 5, 0); + new FlxTimer().start((Conductor.crochet / 1000) * 5, function(money:FlxTimer) { dad.visible = true; @@ -958,6 +963,11 @@ class PlayState extends MusicBeatState function gunsIntro() { + camHUD.visible = false; + + FlxG.sound.playMusic(Paths.music('DISTORTO'), 0); + FlxG.sound.music.fadeIn(5, 0, 0.5); + camFollow.y += 100; FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.3}, 4, {ease: FlxEase.quadInOut}); @@ -972,18 +982,27 @@ class PlayState extends MusicBeatState FlxG.sound.play(Paths.sound('tankSong2')); - FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.4}, 0.4, {ease: FlxEase.quadOut, startDelay: 4.1}); - FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.3}, 0.7, {ease: FlxEase.quadInOut, startDelay: 4.55}); + new FlxTimer().start(4.1, function(ugly:FlxTimer) + { + FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.4}, 0.4, {ease: FlxEase.quadOut}); + FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom * 1.3}, 0.7, {ease: FlxEase.quadInOut, startDelay: 0.45}); + + gf.playAnim('sad'); + }); new FlxTimer().start(11, function(tmr:FlxTimer) { - FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom}, (Conductor.crochet * 9) / 1000, {ease: FlxEase.quartInOut}); + FlxG.sound.music.fadeOut((Conductor.crochet / 1000) * 5, 0); + + FlxTween.tween(FlxG.camera, {zoom: defaultCamZoom}, (Conductor.crochet * 5) / 1000, {ease: FlxEase.quartIn}); startCountdown(); new FlxTimer().start((Conductor.crochet * 25) / 1000, function(daTim:FlxTimer) { dad.visible = true; gfCutsceneLayer.remove(tankCutscene); }); + + camHUD.visible = true; }); } @@ -998,6 +1017,16 @@ class PlayState extends MusicBeatState dummyLoader.y = FlxG.height - 20; } + dad.visible = false; + + var tankCutscene:FlxSprite = new FlxSprite(20, 320); + tankCutscene.frames = Paths.getSparrowAtlas('cutsceneStuff/tankTalkSong3'); + tankCutscene.animation.addByPrefix('tankyguy', 'GodEffing', 24, false); + tankCutscene.animation.addByPrefix('weed', 'sexAmbig', 24, false); + tankCutscene.animation.play('tankyguy'); + tankCutscene.antialiasing = true; + gfCutsceneLayer.add(tankCutscene); // add(); + camFollow.setPosition(gf.x + 350, gf.y + 560); var bfCatchGf:FlxSprite = new FlxSprite(boyfriend.x - 10, boyfriend.y - 90); @@ -1012,11 +1041,56 @@ class PlayState extends MusicBeatState cutsceneSound.play(); + FlxG.camera.zoom = defaultCamZoom * 1.15; + + camFollow.x -= 200; + // cutsceneSound.onComplete = startCountdown; + // Cunt 1 + new FlxTimer().start(30.5, function(cunt:FlxTimer) + { + camFollow.x += 400; + camFollow.y += 150; + FlxG.camera.zoom = defaultCamZoom * 1.4; + FlxTween.tween(FlxG.camera, {zoom: FlxG.camera.zoom + 0.1}, 0.5, {ease: FlxEase.elasticOut}); + FlxG.camera.focusOn(camFollow.getPosition()); + boyfriend.playAnim('singUPmiss'); + boyfriend.animation.finishCallback = function(animFinish:String) + { + camFollow.x -= 400; + camFollow.y -= 150; + FlxG.camera.zoom /= 1.4; + FlxG.camera.focusOn(camFollow.getPosition()); + + boyfriend.animation.finishCallback = null; + }; + }); + + // Cunt 2 + new FlxTimer().start(33.7, function(cunt:FlxTimer) + { + camFollow.x += 400; + camFollow.y += 180; + FlxG.camera.zoom = defaultCamZoom * 1.5; + FlxTween.tween(FlxG.camera, {zoom: FlxG.camera.zoom + 0.4}, 0.5, {ease: FlxEase.elasticOut}); + FlxG.camera.focusOn(camFollow.getPosition()); + boyfriend.playAnim('singDOWNmiss'); + boyfriend.animation.finishCallback = function(animFinish:String) + { + camFollow.x -= 400; + camFollow.y -= 180; + FlxG.camera.zoom = defaultCamZoom * 1.15; + FlxG.camera.focusOn(camFollow.getPosition()); + + boyfriend.animation.finishCallback = null; + }; + }); + new FlxTimer().start(15.1, function(tmr:FlxTimer) { camFollow.y -= 170; + camFollow.x += 200; FlxTween.tween(FlxG.camera, {zoom: FlxG.camera.zoom * 1.3}, 2.1, { ease: FlxEase.quadInOut, onComplete: function(twen:FlxTween) @@ -1027,7 +1101,9 @@ class PlayState extends MusicBeatState new FlxTimer().start(2.2, function(swagTimer:FlxTimer) { - camFollow.y += 170; + // camFollow.y -= 100; + camFollow.y += 200; + camFollow.x += 200; boyfriend.visible = false; bfCatchGf.visible = true; bfCatchGf.animation.play('catch'); @@ -1035,7 +1111,21 @@ class PlayState extends MusicBeatState { bfCatchGf.visible = false; boyfriend.visible = true; + + camFollow.y -= 250; + camFollow.x -= 200; }; + + new FlxTimer().start(2, function(weedShitBaby:FlxTimer) + { + camFollow.y += 180; + camFollow.x -= 80; + }); + + new FlxTimer().start(2.3, function(gayLol:FlxTimer) + { + tankCutscene.animation.play('weed'); + }); }); gf.visible = false; @@ -1044,6 +1134,8 @@ class PlayState extends MusicBeatState // add(cutsceneShit); new FlxTimer().start(20, function(alsoTmr:FlxTimer) { + dad.visible = true; + gfCutsceneLayer.remove(tankCutscene); startCountdown(); gfCutsceneLayer.remove(cutsceneShit); });