diff --git a/assets/data/tutorial/Tutorial.json b/assets/data/tutorial/Tutorial.json index aec5e2803..b5a64ec3a 100644 Binary files a/assets/data/tutorial/Tutorial.json and b/assets/data/tutorial/Tutorial.json differ diff --git a/source/Character.hx b/source/Character.hx index 0f881814a..aa9cfe4da 100644 --- a/source/Character.hx +++ b/source/Character.hx @@ -125,6 +125,23 @@ class Character extends FlxSprite { offset.set(daOffset[0], daOffset[1]); } + + if (curCharacter == 'gf') + { + if (AnimName == 'singLEFT') + { + danced = true; + } + else if (AnimName == 'singRIGHT') + { + danced = false; + } + + if (AnimName == 'singUP' || AnimName == 'singDOWN') + { + danced = !danced; + } + } } public function addOffset(name:String, x:Float = 0, y:Float = 0) diff --git a/source/ChartingState.hx b/source/ChartingState.hx index 9483b506b..ace35de74 100644 --- a/source/ChartingState.hx +++ b/source/ChartingState.hx @@ -267,7 +267,7 @@ class ChartingState extends MusicBeatState if (FlxG.sound.music != null) FlxG.sound.music.stop(); - FlxG.sound.playMusic('assets/music/' + daSong + '.mp3', 0.6); + FlxG.sound.playMusic('assets/music/' + daSong + TitleState.soundExt, 0.6); FlxG.sound.music.pause(); FlxG.sound.music.onComplete = function() { diff --git a/source/GameOverSubstate.hx b/source/GameOverSubstate.hx index 5028fb036..32e608346 100644 --- a/source/GameOverSubstate.hx +++ b/source/GameOverSubstate.hx @@ -4,6 +4,8 @@ import flixel.FlxG; import flixel.FlxObject; import flixel.FlxSubState; import flixel.math.FlxPoint; +import flixel.util.FlxColor; +import flixel.util.FlxTimer; class GameOverSubstate extends FlxSubState { @@ -34,6 +36,11 @@ class GameOverSubstate extends FlxSubState { super.update(elapsed); + if (FlxG.keys.justPressed.ENTER) + { + endBullshit(); + } + if (bf.animation.curAnim.name == 'firstDeath' && bf.animation.curAnim.curFrame == 12) { FlxG.camera.follow(camFollow, LOCKON, 0.01); @@ -44,4 +51,24 @@ class GameOverSubstate extends FlxSubState FlxG.sound.playMusic('assets/music/gameOver' + TitleState.soundExt); } } + + var isEnding:Bool = false; + + function endBullshit():Void + { + if (!isEnding) + { + isEnding = true; + bf.playAnim('deathConfirm', true); + FlxG.sound.music.stop(); + FlxG.sound.play('assets/music/gameOverEnd' + TitleState.soundExt); + new FlxTimer().start(0.7, function(tmr:FlxTimer) + { + FlxG.camera.fade(FlxColor.BLACK, 2, false, function() + { + FlxG.switchState(new PlayState()); + }); + }); + } + } } diff --git a/source/PlayState.hx b/source/PlayState.hx index 5e3846652..6b131d284 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -213,6 +213,10 @@ class PlayState extends MusicBeatState startTimer = new FlxTimer().start(Conductor.crochet / 1000, function(tmr:FlxTimer) { + dad.dance(); + gf.dance(); + boyfriend.playAnim('idle'); + switch (swagCounter) { case 0: @@ -471,8 +475,6 @@ class PlayState extends MusicBeatState } } - var sectionScored:Bool = false; - override function openSubState(SubState:FlxSubState) { if (paused) @@ -581,16 +583,6 @@ class PlayState extends MusicBeatState // Conductor.lastSongPos = FlxG.sound.music.time; } - var playerTurn:Int = 0; - if (sectionLengths.length > curSection) - playerTurn = totalBeats % (sectionLengths[curSection] * 8); - - if (playerTurn == (sectionLengths[curSection] * 8) - 1 && !sectionScored) - { - // popUpScore(); - sectionScored = true; - } - if (generatedMusic && PlayState.SONG.notes[Std.int(curStep / 16)] != null) { if (curBeat % 4 == 0) @@ -625,11 +617,6 @@ class PlayState extends MusicBeatState FlxG.camera.zoom = FlxMath.lerp(1.05, FlxG.camera.zoom, 0.96); } - if (playerTurn < 4) - { - sectionScored = false; - } - FlxG.watch.addQuick("beatShit", totalBeats); if (curSong == 'Fresh') @@ -887,72 +874,6 @@ class PlayState extends MusicBeatState var downR = controls.DOWN_R; var leftR = controls.LEFT_R; - /* - var gamepad = FlxG.gamepads.lastActive; - if (gamepad != null) - { - if (gamepad.anyPressed(["DPAD_LEFT", "LEFT_STICK_DIGITAL_LEFT", X])) - { - left = true; - } - - if (gamepad.anyPressed(["DPAD_RIGHT", "LEFT_STICK_DIGITAL_RIGHT", B])) - { - right = true; - } - - if (gamepad.anyPressed(['DPAD_UP', "LEFT_STICK_DIGITAL_UP", Y])) - { - up = true; - } - - if (gamepad.anyPressed(["DPAD_DOWN", "LEFT_STICK_DIGITAL_DOWN", A])) - { - down = true; - } - - if (gamepad.anyJustPressed(["DPAD_LEFT", "LEFT_STICK_DIGITAL_LEFT", X])) - { - leftP = true; - } - - if (gamepad.anyJustPressed(["DPAD_RIGHT", "LEFT_STICK_DIGITAL_RIGHT", B])) - { - rightP = true; - } - - if (gamepad.anyJustPressed(['DPAD_UP', "LEFT_STICK_DIGITAL_UP", Y])) - { - upP = true; - } - - if (gamepad.anyJustPressed(["DPAD_DOWN", "LEFT_STICK_DIGITAL_DOWN", A])) - { - downP = true; - } - - if (gamepad.anyJustReleased(["DPAD_LEFT", "LEFT_STICK_DIGITAL_LEFT", X])) - { - leftR = true; - } - - if (gamepad.anyJustReleased(["DPAD_RIGHT", "LEFT_STICK_DIGITAL_RIGHT", B])) - { - rightR = true; - } - - if (gamepad.anyJustReleased(['DPAD_UP', "LEFT_STICK_DIGITAL_UP", Y])) - { - upR = true; - } - - if (gamepad.anyJustReleased(["DPAD_DOWN", "LEFT_STICK_DIGITAL_DOWN", A])) - { - downR = true; - } - } - */ - // FlxG.watch.addQuick('asdfa', upP); if ((upP || rightP || downP || leftP) && !boyfriend.stunned && generatedMusic) { @@ -1163,8 +1084,11 @@ class PlayState extends MusicBeatState { if (!note.wasGoodHit) { - popUpScore(note.strumTime); - combo += 1; + if (!note.isSustainNote) + { + popUpScore(note.strumTime); + combo += 1; + } if (note.noteData >= 0) health += 0.03; @@ -1240,5 +1164,15 @@ class PlayState extends MusicBeatState if (!boyfriend.animation.curAnim.name.startsWith("sing")) boyfriend.playAnim('idle'); + + if (totalBeats % 8 == 6) + { + boyfriend.playAnim('hey', true); + + if (SONG.song == 'Tutorial' && dad.curCharacter == 'gf') + { + dad.playAnim('cheer', true); + } + } } }