From dbab5a912db8805f58ef9ab0695c6c1a0c74d878 Mon Sep 17 00:00:00 2001 From: Cameron Taylor Date: Wed, 31 May 2023 03:03:10 -0400 Subject: [PATCH 1/7] death alt easter egg --- .../graphics/adobeanimate/FlxAtlasSprite.hx | 2 +- source/funkin/play/GameOverSubstate.hx | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/source/funkin/graphics/adobeanimate/FlxAtlasSprite.hx b/source/funkin/graphics/adobeanimate/FlxAtlasSprite.hx index aad9cd851..1c120a7c7 100644 --- a/source/funkin/graphics/adobeanimate/FlxAtlasSprite.hx +++ b/source/funkin/graphics/adobeanimate/FlxAtlasSprite.hx @@ -16,7 +16,7 @@ class FlxAtlasSprite extends FlxAnimate FrameRate: 24.0, Reversed: false, // ?OnComplete:Void -> Void, - ShowPivot: #if debug true #else false #end, + ShowPivot: #if debug false #else false #end, Antialiasing: true, ScrollFactor: new FlxPoint(1, 1), // Offset: new FlxPoint(0, 0), // This is just FlxSprite.offset diff --git a/source/funkin/play/GameOverSubstate.hx b/source/funkin/play/GameOverSubstate.hx index 3d5470324..b07f5786b 100644 --- a/source/funkin/play/GameOverSubstate.hx +++ b/source/funkin/play/GameOverSubstate.hx @@ -1,5 +1,7 @@ package funkin.play; +import funkin.graphics.adobeanimate.FlxAtlasSprite; +import flixel.FlxG; import flixel.FlxObject; import flixel.FlxSprite; import flixel.system.FlxSound; @@ -97,7 +99,21 @@ class GameOverSubstate extends MusicBeatSubstate boyfriend.isDead = true; add(boyfriend); boyfriend.resetCharacter(); - boyfriend.playAnimation('firstDeath', true, true); + + if (animationSuffix == "" && FlxG.random.bool((1 / 4000) * 100)) + { + var bfFake:FlxAtlasSprite = new FlxAtlasSprite(boyfriend.x - 440, boyfriend.y - 240, Paths.animateAtlas("characters/bfFakeOut", "shared"),); + add(bfFake); + bfFake.playAnimation(""); + bfFake.anim.onComplete = () -> { + bfFake.visible = false; + boyfriend.visible = true; + boyfriend.playAnimation('firstDeath', true, true); + }; + boyfriend.visible = false; + } + else + boyfriend.playAnimation('firstDeath', true, true); // Assign a camera follow point to the boyfriend's position. cameraFollowPoint = new FlxObject(PlayState.instance.cameraFollowPoint.x, PlayState.instance.cameraFollowPoint.y, 1, 1); From 2d16aab488841a1b541f50aeddda51882c7f01db Mon Sep 17 00:00:00 2001 From: Cameron Taylor Date: Wed, 31 May 2023 03:28:53 -0400 Subject: [PATCH 2/7] snds effects --- source/funkin/play/GameOverSubstate.hx | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/source/funkin/play/GameOverSubstate.hx b/source/funkin/play/GameOverSubstate.hx index b07f5786b..93cc47b57 100644 --- a/source/funkin/play/GameOverSubstate.hx +++ b/source/funkin/play/GameOverSubstate.hx @@ -100,8 +100,10 @@ class GameOverSubstate extends MusicBeatSubstate add(boyfriend); boyfriend.resetCharacter(); - if (animationSuffix == "" && FlxG.random.bool((1 / 4000) * 100)) + if (boyfriend.characterId == "bf" && animationSuffix == "" && FlxG.random.bool((1 / 4000) * 100)) { + FlxG.sound.play(Paths.sound("fakeout_death")); + var bfFake:FlxAtlasSprite = new FlxAtlasSprite(boyfriend.x - 440, boyfriend.y - 240, Paths.animateAtlas("characters/bfFakeOut", "shared"),); add(bfFake); bfFake.playAnimation(""); @@ -109,11 +111,17 @@ class GameOverSubstate extends MusicBeatSubstate bfFake.visible = false; boyfriend.visible = true; boyfriend.playAnimation('firstDeath', true, true); + // Play the "blue balled" sound. May play a variant if one has been assigned. + playBlueBalledSFX(); }; boyfriend.visible = false; } else + { boyfriend.playAnimation('firstDeath', true, true); + // Play the "blue balled" sound. May play a variant if one has been assigned. + playBlueBalledSFX(); + } // Assign a camera follow point to the boyfriend's position. cameraFollowPoint = new FlxObject(PlayState.instance.cameraFollowPoint.x, PlayState.instance.cameraFollowPoint.y, 1, 1); @@ -134,9 +142,6 @@ class GameOverSubstate extends MusicBeatSubstate // The conductor now represents the BPM of the game over music. Conductor.songPosition = 0; - - // Play the "blue balled" sound. May play a variant if one has been assigned. - playBlueBalledSFX(); } override function update(elapsed:Float) From 374f03dae30a90051ac761c04ea45de80d865df2 Mon Sep 17 00:00:00 2001 From: EliteMasterEric Date: Thu, 1 Jun 2023 00:31:32 -0400 Subject: [PATCH 3/7] Fakeout death now uses HScript --- source/funkin/play/GameOverSubstate.hx | 44 +++++++++++--------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/source/funkin/play/GameOverSubstate.hx b/source/funkin/play/GameOverSubstate.hx index 93cc47b57..041831962 100644 --- a/source/funkin/play/GameOverSubstate.hx +++ b/source/funkin/play/GameOverSubstate.hx @@ -1,6 +1,5 @@ package funkin.play; -import funkin.graphics.adobeanimate.FlxAtlasSprite; import flixel.FlxG; import flixel.FlxObject; import flixel.FlxSprite; @@ -100,29 +99,6 @@ class GameOverSubstate extends MusicBeatSubstate add(boyfriend); boyfriend.resetCharacter(); - if (boyfriend.characterId == "bf" && animationSuffix == "" && FlxG.random.bool((1 / 4000) * 100)) - { - FlxG.sound.play(Paths.sound("fakeout_death")); - - var bfFake:FlxAtlasSprite = new FlxAtlasSprite(boyfriend.x - 440, boyfriend.y - 240, Paths.animateAtlas("characters/bfFakeOut", "shared"),); - add(bfFake); - bfFake.playAnimation(""); - bfFake.anim.onComplete = () -> { - bfFake.visible = false; - boyfriend.visible = true; - boyfriend.playAnimation('firstDeath', true, true); - // Play the "blue balled" sound. May play a variant if one has been assigned. - playBlueBalledSFX(); - }; - boyfriend.visible = false; - } - else - { - boyfriend.playAnimation('firstDeath', true, true); - // Play the "blue balled" sound. May play a variant if one has been assigned. - playBlueBalledSFX(); - } - // Assign a camera follow point to the boyfriend's position. cameraFollowPoint = new FlxObject(PlayState.instance.cameraFollowPoint.x, PlayState.instance.cameraFollowPoint.y, 1, 1); cameraFollowPoint.x = boyfriend.getGraphicMidpoint().x; @@ -144,10 +120,28 @@ class GameOverSubstate extends MusicBeatSubstate Conductor.songPosition = 0; } + var hasStartedAnimation:Bool = false; + override function update(elapsed:Float) { super.update(elapsed); + if (!hasStartedAnimation) + { + hasStartedAnimation = true; + + if (boyfriend.hasAnimation('fakeoutDeath') && (FlxG.random.bool((1 / 4000) * 100) || true)) + { + boyfriend.playAnimation('fakeoutDeath', true, true); + } + else + { + boyfriend.playAnimation('firstDeath', true, true); + // Play the "blue balled" sound. May play a variant if one has been assigned. + playBlueBalledSFX(); + } + } + // // Handle user inputs. // @@ -279,7 +273,7 @@ class GameOverSubstate extends MusicBeatSubstate * Play the sound effect that occurs when * boyfriend's testicles get utterly annihilated. */ - function playBlueBalledSFX() + public static function playBlueBalledSFX() { FlxG.sound.play(Paths.sound('fnf_loss_sfx' + blueBallSuffix)); } From b49a2857e583d3eb5d2e29c5d49917f3e7ee9a7e Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 1 Jun 2023 00:33:30 -0400 Subject: [PATCH 4/7] Revert guaranteed fakeout --- source/funkin/play/GameOverSubstate.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/funkin/play/GameOverSubstate.hx b/source/funkin/play/GameOverSubstate.hx index 041831962..01e8e568d 100644 --- a/source/funkin/play/GameOverSubstate.hx +++ b/source/funkin/play/GameOverSubstate.hx @@ -130,7 +130,7 @@ class GameOverSubstate extends MusicBeatSubstate { hasStartedAnimation = true; - if (boyfriend.hasAnimation('fakeoutDeath') && (FlxG.random.bool((1 / 4000) * 100) || true)) + if (boyfriend.hasAnimation('fakeoutDeath') && (FlxG.random.bool((1 / 4000) * 100))) { boyfriend.playAnimation('fakeoutDeath', true, true); } From 2d772a526b33b8205b36b3bd8b2eede7d8d6531e Mon Sep 17 00:00:00 2001 From: Cameron Taylor Date: Fri, 2 Jun 2023 15:56:40 -0400 Subject: [PATCH 5/7] no skipping easter egg!! --- source/funkin/play/GameOverSubstate.hx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/funkin/play/GameOverSubstate.hx b/source/funkin/play/GameOverSubstate.hx index 01e8e568d..da7c68df7 100644 --- a/source/funkin/play/GameOverSubstate.hx +++ b/source/funkin/play/GameOverSubstate.hx @@ -130,7 +130,7 @@ class GameOverSubstate extends MusicBeatSubstate { hasStartedAnimation = true; - if (boyfriend.hasAnimation('fakeoutDeath') && (FlxG.random.bool((1 / 4000) * 100))) + if (boyfriend.hasAnimation('fakeoutDeath') && (true || FlxG.random.bool((1 / 4000) * 100))) { boyfriend.playAnimation('fakeoutDeath', true, true); } @@ -160,7 +160,7 @@ class GameOverSubstate extends MusicBeatSubstate } // KEYBOARD ONLY: Restart the level when pressing the assigned key. - if (controls.ACCEPT) + if (controls.ACCEPT && blueballed) { confirmDeath(); } @@ -269,12 +269,15 @@ class GameOverSubstate extends MusicBeatSubstate } } + var blueballed:Bool = false; + /** * Play the sound effect that occurs when * boyfriend's testicles get utterly annihilated. */ public static function playBlueBalledSFX() { + blueballed = true; FlxG.sound.play(Paths.sound('fnf_loss_sfx' + blueBallSuffix)); } From 7a04a2d7747a11ee0e9fa5562d6c3aef93ee80b9 Mon Sep 17 00:00:00 2001 From: Cameron Taylor Date: Sun, 4 Jun 2023 01:19:08 -0400 Subject: [PATCH 6/7] blueball check --- source/funkin/play/GameOverSubstate.hx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/funkin/play/GameOverSubstate.hx b/source/funkin/play/GameOverSubstate.hx index da7c68df7..2f55a8e79 100644 --- a/source/funkin/play/GameOverSubstate.hx +++ b/source/funkin/play/GameOverSubstate.hx @@ -162,12 +162,14 @@ class GameOverSubstate extends MusicBeatSubstate // KEYBOARD ONLY: Restart the level when pressing the assigned key. if (controls.ACCEPT && blueballed) { + blueballed = false; confirmDeath(); } // KEYBOARD ONLY: Return to the menu when pressing the assigned key. if (controls.BACK) { + blueballed = false; PlayState.deathCounter = 0; PlayState.seenCutscene = false; gameOverMusic.stop(); @@ -269,7 +271,7 @@ class GameOverSubstate extends MusicBeatSubstate } } - var blueballed:Bool = false; + static var blueballed:Bool = false; /** * Play the sound effect that occurs when From 02632a623c4c063bf5253c28aed5394fce50c850 Mon Sep 17 00:00:00 2001 From: EliteMasterEric Date: Thu, 15 Jun 2023 03:48:52 -0400 Subject: [PATCH 7/7] Disable fakeout happening 100% of the time. --- source/funkin/play/GameOverSubstate.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/funkin/play/GameOverSubstate.hx b/source/funkin/play/GameOverSubstate.hx index 041831962..a2048149f 100644 --- a/source/funkin/play/GameOverSubstate.hx +++ b/source/funkin/play/GameOverSubstate.hx @@ -130,7 +130,7 @@ class GameOverSubstate extends MusicBeatSubstate { hasStartedAnimation = true; - if (boyfriend.hasAnimation('fakeoutDeath') && (FlxG.random.bool((1 / 4000) * 100) || true)) + if (boyfriend.hasAnimation('fakeoutDeath') && FlxG.random.bool((1 / 4096) * 100)) { boyfriend.playAnimation('fakeoutDeath', true, true); }