private void B_RandEvo_Click(object sender, EventArgs e) { SaveCurrent(); var settings = (SpeciesSettings)PG_Evolution.SelectedObject; if (ROM.Info.GG) { settings.Gen2 = settings.Gen3 = settings.Gen4 = settings.Gen5 = settings.Gen6 = settings.Gen7 = settings.Gen8 = false; } var rand = new EvolutionRandomizer(ROM.Info, Editor.Evolve.LoadAll(), Editor.Personal); int[] ban = Array.Empty <int>(); if (ROM.Info.SWSH) { var pt = ROM.Data.PersonalData; ban = pt.Table.Take(ROM.Info.MaxSpeciesID + 1) .Select((z, i) => new { Species = i, Present = ((PersonalInfoSWSH)z).IsPresentInGame }) .Where(z => !z.Present).Select(z => z.Species).ToArray(); } rand.RandSpec.Initialize(settings, ban); rand.Execute(); LoadIndex(CB_Species.SelectedIndex); System.Media.SystemSounds.Asterisk.Play(); }
private void B_TradeEvo_Click(object sender, EventArgs e) { SaveCurrent(); var settings = (SpeciesSettings)PG_Evolution.SelectedObject; settings.Gen2 = settings.Gen3 = settings.Gen4 = settings.Gen5 = settings.Gen6 = settings.Gen7 = false; var rand = new EvolutionRandomizer(ROM.Info, Editor.Evolve.LoadAll(), Editor.Personal); rand.Randomizer.Initialize(settings); rand.ExecuteTrade(); LoadIndex(CB_Species.SelectedIndex); System.Media.SystemSounds.Asterisk.Play(); }
private void B_Trade_Click(object sender, EventArgs e) { if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Remove all trade evolutions?", "Evolution methods will be altered so that evolutions will be possible with only one game.")) { return; } setList(); var evos = files.Select(z => new EvolutionSet6(z)).ToArray(); var evoRand = new EvolutionRandomizer(Main.Config, evos); evoRand.Randomizer.Initialize(); evoRand.ExecuteTrade(); evos.Select(z => z.Write()).ToArray().CopyTo(files, 0); getList(); WinFormsUtil.Alert("All trade evolutions have been removed!", "Trade evolutions will now occur after reaching a certain Level, or after leveling up while holding its appropriate trade item."); }
private void B_RandAll_Click(object sender, EventArgs e) { if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Randomize all resulting species?", "Evolution methods and parameters will stay the same.")) { return; } setList(); // Set up advanced randomization options var evos = files.Select(z => new EvolutionSet6(z)).ToArray(); var evoRand = new EvolutionRandomizer(Main.Config, evos); evoRand.Randomizer.rBST = CHK_BST.Checked; evoRand.Randomizer.rEXP = CHK_Exp.Checked; evoRand.Randomizer.rType = CHK_Type.Checked; evoRand.Randomizer.Initialize(); evoRand.Execute(); evos.Select(z => z.Write()).ToArray().CopyTo(files, 0); getList(); WinFormsUtil.Alert("All Pokémon's Evolutions have been randomized!"); }
private void B_EveryLevel_Click(object sender, EventArgs e) { if (DialogResult.Yes != WinFormsUtil.Prompt(MessageBoxButtons.YesNo, "Modify evolutions?", "This will make it to where your Pokémon will evolve into something random every time it levels up.")) { return; } SetList(); var evos = files.Select(z => new EvolutionSet7(z)).ToArray(); var evoRand = new EvolutionRandomizer(Main.Config, evos); evoRand.Randomizer.rBST = CHK_BST.Checked; evoRand.Randomizer.rEXP = CHK_Exp.Checked; evoRand.Randomizer.rType = CHK_Type.Checked; evoRand.Randomizer.L = CHK_L.Checked; evoRand.Randomizer.E = CHK_E.Checked; evoRand.Randomizer.Initialize(); evoRand.ExecuteEvolveEveryLevel(); evoRand.Execute(); // randomize right after evos.Select(z => z.Write()).ToArray().CopyTo(files, 0); GetList(); SystemSounds.Asterisk.Play(); }