state("A Fox Tale") { string25 activeScene: 0x0; int activeSceneIndex: 0x0; } startup { timer.CurrentTimingMethod = TimingMethod.GameTime; Assembly.Load(File.ReadAllBytes("Components/asl-help")).CreateInstance("Unity"); vars.Helper.GameName = "A Fox Tale"; vars.Helper.LoadSceneManager = true; vars.completedSplits = new HashSet(); vars.worldSplits = new List() {57, 102, 168, 218}; vars.finalSplit = false; } update { if(timer.CurrentPhase == TimerPhase.NotRunning){ vars.completedSplits.Clear(); vars.finalSplit = false; } current.activeScene = vars.Helper.Scenes.Active.Name == null ? current.activeScene : vars.Helper.Scenes.Active.Name; current.activeSceneIndex = vars.Helper.Scenes.Active.Index; if(current.activeSceneIndex == 272){ vars.finalSplit = true; } } start { return old.activeSceneIndex == 0 && current.activeSceneIndex == 1; } split { if (old.activeSceneIndex != current.activeSceneIndex && vars.worldSplits.Contains(current.activeSceneIndex) && !vars.completedSplits.Contains(current.activeSceneIndex) || current.activeSceneIndex == 269 && vars.finalSplit == true) { return vars.completedSplits.Add(current.activeSceneIndex); } }