FunkinCrew / Funkin

A rhythm game made with HaxeFlixel
https://www.newgrounds.com/portal/view/770371
Other
2.84k stars 2.25k forks source link

Enhancement: Sudden Death mode #2854

Open N1ckn1ght opened 1 month ago

N1ckn1ght commented 1 month ago

It'd be awesome to have a sudden death option, where you get instantly blueballed if you get any BAD or lower. It's difficult (impossible) to trace through the level if you've got any BAD marks. It's worse when you play weeks, since the only feedback will be after the 3rd (4th) song.

JackXson-Real commented 1 month ago

I agree 100x with this, its needed badly especially for people tryna get P ranks

Willio2000 commented 1 month ago

imagine theres just a lag spike for a second and you just perish

AbnormalPoof commented 3 weeks ago

Here's a script I wrote that replicates this

import funkin.modding.module.Module;
import funkin.modding.events.ScriptEvent;
import funkin.ui.options.OptionsState;
import flixel.util.FlxSave;
import Std;

class FullComboModule extends Module {

    var suddenDeath:Bool;

    function new() {
        super("FullComboModule");
        save = new FlxSave();
        if (save.bind("fcordie", "kagaminerinlen")) {
                suddenDeath = save.data.fcordie != null ? save.data.fcordie : false;
        }
    }

    function onNoteMiss(event) {
        if (suddenDeath) {
            event.healthChange = -5;
        }
    }

    function onNoteHit(event) {
        if (suddenDeath && event.isComboBreak) {
            event.healthChange = -5;
        }
    }

    override function onStateChangeEnd(event) {
        super.onStateChangeEnd(event);
        if (Std.isOfType(event.targetState, OptionsState)) {
            var prefs = event.targetState.pages.get("preferences");
            if (prefs != null) {
                save.bind("fcordie", "kagaminerinlen");
                prefs.createPrefItemCheckbox("Full Combo or DIE", "Enable the Full Combo or DIE mod.", (value) -> {
                    save.data.fcordie = value;
                    suddenDeath = value;
                    save.flush();
                }, save.data.fcordie);
                save.flush();
            }
        }
    }
}
EliteMasterEric commented 2 weeks ago

I personally have always liked the idea of modifiers and feel they would fit the game well. They may take a while for us to get around to implementing them, as they require a lot of art and UI work to implement to our standards.