private void SeedChecker_Load(object sender, EventArgs e) { CheckerInstance = Utility.CloneTrackerInstance(LogicObjects.MainTrackerInstance); if (!Utility.CheckforSpoilerLog(CheckerInstance.Logic)) { var file = Utility.FileSelect("Select A Spoiler Log", "Spoiler Log (*.txt;*html)|*.txt;*html"); if (file == "") { return; } LogicEditing.WriteSpoilerLogToLogic(CheckerInstance, file); if (!Utility.CheckforSpoilerLog(CheckerInstance.Logic, true)) { MessageBox.Show("Not all items have spoiler data. Your results may be incorrect."); } } else if (!Utility.CheckforSpoilerLog(CheckerInstance.Logic, true)) { MessageBox.Show("Not all items have spoiler data. Your results may be incorrect."); } var GameClearEntry = CheckerInstance.Logic.Find(x => x.DictionaryName == "MMRTGameClear"); int GameclearID = -1; if (GameClearEntry != null) { GameClearEntry.DictionaryName = (CheckerInstance.IsMM()) ? "Defeat Majora" : "Beat the Game"; LBNeededItems.Items.Add(new LogicObjects.ListItem { DisplayName = GameClearEntry.DictionaryName, PathID = GameClearEntry.ID }); } else if (CheckerInstance.IsMM()) { Console.WriteLine("Adding MMRTGameClear"); GameclearID = PlaythroughGenerator.GetGameClearEntry(CheckerInstance.Logic, CheckerInstance.IsEntranceRando()); if (!CheckerInstance.ItemInRange(GameclearID)) { return; } CheckerInstance.Logic[GameclearID].DictionaryName = "Defeat Majora"; LBNeededItems.Items.Add(new LogicObjects.ListItem { DisplayName = "Defeat Majora", PathID = GameclearID }); } listBox2.DataSource = CheckerInstance.Logic.Select(x => x.LocationName ?? x.DictionaryName).ToList(); GameClearEntry = CheckerInstance.Logic.Find(x => x.DictionaryName == "MMRTGameClear" || x.DictionaryName == "Beat the Game" || x.DictionaryName == "Defeat Majora"); if (GameClearEntry != null) { listBox2.SelectedIndex = GameClearEntry.ID; } else { listBox2.SelectedIndex = 0; } WriteSpoilerItemsToBox(); }