diff --git a/source/GameOverState.hx b/source/GameOverState.hx index 905500d..373fc5c 100644 --- a/source/GameOverState.hx +++ b/source/GameOverState.hx @@ -61,6 +61,16 @@ class GameOverState extends FlxTransitionableState var gamepad:FlxGamepad = FlxG.gamepads.lastActive; + if(FlxG.save.data.InstantRespawn) + { + fading = true; + FlxG.sound.music.fadeOut(0.5, 0, function(twn:FlxTween) + { + FlxG.sound.music.stop(); + LoadingState.loadAndSwitchState(new PlayState()); + }); + } + if (gamepad != null) { if (gamepad.justPressed.ANY) diff --git a/source/GameOverSubstate.hx b/source/GameOverSubstate.hx index 5cef652..182ce8c 100644 --- a/source/GameOverSubstate.hx +++ b/source/GameOverSubstate.hx @@ -59,6 +59,11 @@ class GameOverSubstate extends MusicBeatSubstate endBullshit(); } + if(FlxG.save.data.InstantRespawn) + { + LoadingState.loadAndSwitchState(new PlayState()); + } + if (controls.BACK) { FlxG.sound.music.stop(); diff --git a/source/KadeEngineData.hx b/source/KadeEngineData.hx index b6edf9d..9131199 100644 --- a/source/KadeEngineData.hx +++ b/source/KadeEngineData.hx @@ -81,6 +81,9 @@ class KadeEngineData if (FlxG.save.data.resetButton == null) FlxG.save.data.resetButton = false; + + if (FlxG.save.data.InstantRespawn == null) + FlxG.save.data.InstantRespawn = false; if (FlxG.save.data.botplay == null) FlxG.save.data.botplay = false; diff --git a/source/Options.hx b/source/Options.hx index 0a7f8ef..4994443 100644 --- a/source/Options.hx +++ b/source/Options.hx @@ -307,6 +307,27 @@ class ResetButtonOption extends Option } } +class InstantRespawn extends Option +{ + public function new(desc:String) + { + super(); + description = desc; + } + + public override function press():Bool + { + FlxG.save.data.InstantRespawn = !FlxG.save.data.InstantRespawn; + display = updateDisplay(); + return true; + } + + private override function updateDisplay():String + { + return "Instant Respawn " + (!FlxG.save.data.InstantRespawn ? "off" : "on"); + } +} + class FlashingLightsOption extends Option { public function new(desc:String) diff --git a/source/OptionsMenu.hx b/source/OptionsMenu.hx index cf5199e..95454c8 100644 --- a/source/OptionsMenu.hx +++ b/source/OptionsMenu.hx @@ -36,6 +36,7 @@ class OptionsMenu extends MusicBeatState new ScrollSpeedOption("Change your scroll speed. (1 = Chart dependent)"), new AccuracyDOption("Change how accuracy is calculated. (Accurate = Simple, Complex = Milisecond Based)"), new ResetButtonOption("Toggle pressing R to gameover."), + new InstantRespawn("Toggle if you instantly respawn after dying."), // new OffsetMenu("Get a note offset based off of your inputs!"), new CustomizeGameplay("Drag and drop gameplay modules to your prefered positions!") ]),