state("Christmas Hell") { byte started: 0x23D20BC; byte isLoading: 0x23DFD7C; byte mainMenu: 0x23D48C8, 0x0; byte missionAccomplished: 0x23CE238, 0x538, 0x24; byte presentCounter: 0x023D7BC0, 0x100, 0x108, 0x10, 0x58, 0x20, 0x8; } startup { Assembly.Load(File.ReadAllBytes("Components/asl-help")).CreateInstance("Basic"); vars.Helper.GameName = "Christmas Hell"; vars.currentLevel = 0; vars.Helper.AlertLoadless(); } start { return old.started == 0 && current.started != 0; } isLoading { return current.isLoading == 1; } reset { return old.mainMenu != 4 && current.mainMenu == 4; } split { return (old.missionAccomplished != 21 && current.missionAccomplished == 21) || (vars.currentLevel == 6 && current.presentCounter == 3); } onSplit { vars.currentLevel++; } onStart { vars.currentLevel = 1; } onReset { vars.currentLevel = 0; }