From 4069d087fb8cdccbfc19c6a07f17edf768137799 Mon Sep 17 00:00:00 2001 From: haggys22 Date: Fri, 10 Jul 2020 03:01:06 +0200 Subject: [PATCH] Pick Basic Starters of Same Gen (Gen6) --- pk3DS/Subforms/Gen6/StarterEditor6.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pk3DS/Subforms/Gen6/StarterEditor6.cs b/pk3DS/Subforms/Gen6/StarterEditor6.cs index b31fa71..0049812 100644 --- a/pk3DS/Subforms/Gen6/StarterEditor6.cs +++ b/pk3DS/Subforms/Gen6/StarterEditor6.cs @@ -64,6 +64,7 @@ public StarterEditor6() private readonly int Count = Main.Config.ORAS ? 4 : 2; private int offset; private static int[] BasicStarter; + private static int[] BasicStarterPerGen; private void B_Save_Click(object sender, EventArgs e) { @@ -85,6 +86,7 @@ private void loadData() if (!Main.Config.ORAS) // XY have 0x10 bytes of zeroes offset += 0x10; BasicStarter = Legal.BasicStarters_6; + BasicStarterPerGen = Legal.BasicStarters; for (int i = 0; i < Count; i++) { Labels[i].Visible = true; @@ -177,8 +179,15 @@ private void B_Randomize_Click(object sender, EventArgs e) int oldSpecies = BitConverter.ToUInt16(Data, offset + (((i * 3) + j) * 0x54)); if (CHK_BasicStarter.Checked) { - int basic() => (int)(Util.rnd32() % BasicStarter.Length); - Choices[i][j].SelectedIndex = BasicStarter[basic()]; + if (CHK_Gen.Checked) + { + int basic() => (int)(Util.rnd32() % BasicStarterPerGen[gen - 1].Length); + Choices[i][j].SelectedIndex = BasicStarterPerGen[gen - 1][basic()]; + } + else { + int basic() => (int)(Util.rnd32() % BasicStarter.Length); + Choices[i][j].SelectedIndex = BasicStarter[basic()]; + } } else Choices[i][j].SelectedIndex = rand.GetRandomSpecies(i); @@ -192,4 +201,4 @@ private void B_Randomize_Click(object sender, EventArgs e) } } } -} \ No newline at end of file +}