state("LiveSplit") {} startup { Assembly.Load(File.ReadAllBytes("Components/emu-help-v2")).CreateInstance("PS1"); } init { vars.Helper.Load = (Func)(emu => { emu.Make("Start", 0x801ff550); emu.Make("Map", 0x8005a345); emu.Make("TournamentWon", 0x8005a31c); emu.Make("LevelWin", 0x8005a320); return true; }); vars.CarnivalMapLoaded = false; } start { return old.Start == 6 && current.Start == 0; } update { if (old.Map != current.Map && current.Map == 14) { vars.CarnivalMapLoaded = true; } } split { if (current.Map != 14 && old.LevelWin == 0 && current.LevelWin == 1) { return true; } if (vars.CarnivalMapLoaded == true && old.TournamentWon == 0 && current.TournamentWon == 1) { return true; } } onReset { vars.CarnivalMapLoaded = false; }