state("Escape PS2 Hagrid", "1.2") { float BossHealth : "UnityPlayer.dll", 0x019FF440, 0x20, 0x0, 0x130, 0x88, 0x30, 0x18, 0x48; } startup { Assembly.Load(File.ReadAllBytes("Components/asl-help")).CreateInstance("Unity"); vars.Helper.LoadSceneManager = true; settings.Add("Version", true, "End split on V1.2"); } init { current.activeScene = ""; current.loadingScene = ""; } update { current.activeScene = vars.Helper.Scenes.Active.Name ?? current.activeScene; current.loadingScene = vars.Helper.Scenes.Loaded[0].Name ?? current.loadingScene; if(old.activeScene != current.activeScene) print(old.activeScene + "->" + current.activeScene); if(old.loadingScene != current.loadingScene) print(old.loadingScene + "->" + current.loadingScene); if(old.BossHealth != current.BossHealth) print(old.BossHealth + "-" + current.BossHealth); } start { return old.activeScene == "MainMenu" && current.activeScene == "Azkaban"; } split { return ((old.activeScene != current.activeScene) && (old.activeScene != "MainMenu") && (current.activeScene != "HagridBoss") && (current.activeScene != "AstronomyTower") && (current.activeScene != "MainMenu")) || (current.BossHealth <= 0 && old.BossHealth > 0); } reset { return old.activeScene == "MainMenu" && current.activeScene == "Azkaban"; } isLoading { return current.activeScene != current.loadingScene; }