From f180daef411e2af65a8320c2dd8d58ddbd048d82 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 10 Jan 2026 07:29:38 -0500 Subject: Added option to track number of falls --- Manifold Garden.asl | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'Manifold Garden.asl') diff --git a/Manifold Garden.asl b/Manifold Garden.asl index c2e86c0..daf3d38 100644 --- a/Manifold Garden.asl +++ b/Manifold Garden.asl @@ -45,7 +45,9 @@ startup { settings.Add("raymarchitecture", true, "Split on Raymarchitecture (ending cutscene)"); settings.Add("norepeats",false,"Split only on the first encounter of each level"); - settings.Add("gravChanges",false, "Override first text component with a Gravity Changes count"); + settings.Add("first_text",false, "Override first text component with (these options are mutually exclusive)"); + settings.Add("gravChanges",false, "Gravity Changes count", "first_text"); + settings.Add("numFalls",false, "Number of falls", "first_text"); settings.Add("planted",false,"Split when a god cube is planted"); settings.Add("every",true,"Split on every level change"); settings.Add("fall",false,"Including all ending falling scenes","every"); @@ -161,6 +163,7 @@ init { var rigidCon = mono.GetClass("RigidbodyController"); vars.Helper["gravity"] = gameMan.Make("playerController", rigidCon["_gravityDirection"]); + vars.Helper["fallDist"] = gameMan.Make("playerController", rigidCon["_DistanceFallen"]); var mandalaMan = mono.GetClass("MandalaManager"); vars.Helper["godCubesPlanted"] = gameMan.MakeList("s_instance", "mandalaManager", mandalaMan["PlacedGodCubes"]); @@ -188,7 +191,7 @@ init { } vars.updateText = false; - if (settings["gravChanges"]) { + if (settings["first_text"]) { foreach (LiveSplit.UI.Components.IComponent component in timer.Layout.Components) { if (component.GetType().Name == "TextComponent") { vars.tc = component; @@ -234,6 +237,7 @@ update { } if (!current.onMandalaScene) { current.gravity = vars.Helper["gravity"].Current; + current.fallDist = vars.Helper["fallDist"].Current; } if (!vars.studioScreenDone) { vars.studioScreenDone = !current.isLoadingGameFromUI; @@ -244,6 +248,12 @@ update { vars.tcs.Text2 = vars.gravChanges.ToString(); } } + if (current.fallDist > 0.1 && old.fallDist <= 0.1) { + vars.numFalls += 1; + if (settings["numFalls"] && vars.updateText) { + vars.tcs.Text2 = vars.numFalls.ToString(); + } + } current.godCubesPlanted = vars.Helper["godCubesPlanted"].Current.Count; } } @@ -279,6 +289,11 @@ start { vars.tcs.Text1 = "Gravity Changes:"; vars.tcs.Text2 = "0"; } + vars.numFalls = 0; + if (settings["numFalls"] && vars.updateText) { + vars.tcs.Text1 = "Falls:"; + vars.tcs.Text2 = "0"; + } return true; } } -- cgit 1.4.1