diff --git a/PokeViewer.NET/MainViewer.cs b/PokeViewer.NET/MainViewer.cs index 53c4ee0..1a60793 100644 --- a/PokeViewer.NET/MainViewer.cs +++ b/PokeViewer.NET/MainViewer.cs @@ -15,8 +15,8 @@ namespace PokeViewer.NET public partial class MainViewer : Form { public ViewerExecutor Executor = null!; - private const string ViewerVersion = "2.5.1"; - private const int AzureBuildID = 437; + private const string ViewerVersion = "2.5.2"; + private const int AzureBuildID = 438; private readonly bool[] FormLoaded = new bool[8]; private int GameType; private SimpleTrainerInfo TrainerInfo = new(); diff --git a/PokeViewer.NET/SubForms/MiscView.Designer.cs b/PokeViewer.NET/SubForms/MiscView.Designer.cs index 7c7fa22..e4d373b 100644 --- a/PokeViewer.NET/SubForms/MiscView.Designer.cs +++ b/PokeViewer.NET/SubForms/MiscView.Designer.cs @@ -41,14 +41,14 @@ private void InitializeComponent() OpenMapKitakami = new Button(); UptimeLabel = new Label(); DaySkipTotal = new Label(); - DaySkipStats = new Label(); + StatusLabel = new Label(); OverShootUpDown = new NumericUpDown(); Form = new Label(); RemoveSpecies = new Button(); SpeciesBox = new ComboBox(); AddSpecies = new Button(); FormBox = new NumericUpDown(); - Apply0To61 = new CheckBox(); + Apply0To77 = new CheckBox(); EnableWebhook = new CheckBox(); HardStopOutbreak = new CheckBox(); progressBar1 = new ProgressBar(); @@ -108,6 +108,7 @@ private void InitializeComponent() ClearList = new Button(); SaveList = new Button(); ViewList = new Button(); + ScanForEventOutbreak = new CheckBox(); ReadValues = new Button(); VivForm = new Label(); ChangeFormButton = new Button(); @@ -180,14 +181,14 @@ private void InitializeComponent() groupBox1.Controls.Add(OpenMapKitakami); groupBox1.Controls.Add(UptimeLabel); groupBox1.Controls.Add(DaySkipTotal); - groupBox1.Controls.Add(DaySkipStats); + groupBox1.Controls.Add(StatusLabel); groupBox1.Controls.Add(OverShootUpDown); groupBox1.Controls.Add(Form); groupBox1.Controls.Add(RemoveSpecies); groupBox1.Controls.Add(SpeciesBox); groupBox1.Controls.Add(AddSpecies); groupBox1.Controls.Add(FormBox); - groupBox1.Controls.Add(Apply0To61); + groupBox1.Controls.Add(Apply0To77); groupBox1.Controls.Add(EnableWebhook); groupBox1.Controls.Add(HardStopOutbreak); groupBox1.Controls.Add(OutbreakSearch); @@ -199,6 +200,7 @@ private void InitializeComponent() groupBox1.Controls.Add(BlueberryGroup); groupBox1.Controls.Add(groupBox4); groupBox1.Controls.Add(label9); + groupBox1.Controls.Add(ScanForEventOutbreak); groupBox1.Location = new Point(12, 3); groupBox1.Name = "groupBox1"; groupBox1.Size = new Size(458, 432); @@ -296,14 +298,14 @@ private void InitializeComponent() DaySkipTotal.TabIndex = 40; DaySkipTotal.Text = "Day Skips:"; // - // DaySkipStats + // StatusLabel // - DaySkipStats.AutoSize = true; - DaySkipStats.Location = new Point(107, 19); - DaySkipStats.Name = "DaySkipStats"; - DaySkipStats.Size = new Size(42, 15); - DaySkipStats.TabIndex = 39; - DaySkipStats.Text = "Status:"; + StatusLabel.AutoSize = true; + StatusLabel.Location = new Point(107, 19); + StatusLabel.Name = "StatusLabel"; + StatusLabel.Size = new Size(42, 15); + StatusLabel.TabIndex = 39; + StatusLabel.Text = "Status:"; // // OverShootUpDown // @@ -363,15 +365,15 @@ private void InitializeComponent() FormBox.Size = new Size(61, 23); FormBox.TabIndex = 43; // - // Apply0To61 + // Apply0To77 // - Apply0To61.AutoSize = true; - Apply0To61.Location = new Point(5, 41); - Apply0To61.Name = "Apply0To61"; - Apply0To61.Size = new Size(94, 19); - Apply0To61.TabIndex = 40; - Apply0To61.Text = "Apply 0 - 61?"; - Apply0To61.UseVisualStyleBackColor = true; + Apply0To77.AutoSize = true; + Apply0To77.Location = new Point(5, 41); + Apply0To77.Name = "Apply0To77"; + Apply0To77.Size = new Size(94, 19); + Apply0To77.TabIndex = 40; + Apply0To77.Text = "Apply 0 - 77?"; + Apply0To77.UseVisualStyleBackColor = true; // // EnableWebhook // @@ -931,9 +933,9 @@ private void InitializeComponent() // ClearList // ClearList.BackColor = Color.Transparent; - ClearList.Location = new Point(146, 20); + ClearList.Location = new Point(158, 17); ClearList.Name = "ClearList"; - ClearList.Size = new Size(66, 23); + ClearList.Size = new Size(74, 23); ClearList.TabIndex = 48; ClearList.Text = "Clear All"; ClearList.UseVisualStyleBackColor = false; @@ -942,9 +944,9 @@ private void InitializeComponent() // SaveList // SaveList.BackColor = Color.Transparent; - SaveList.Location = new Point(78, 20); + SaveList.Location = new Point(81, 17); SaveList.Name = "SaveList"; - SaveList.Size = new Size(63, 23); + SaveList.Size = new Size(74, 23); SaveList.TabIndex = 47; SaveList.Text = "Save"; SaveList.UseVisualStyleBackColor = false; @@ -953,14 +955,24 @@ private void InitializeComponent() // ViewList // ViewList.BackColor = Color.Transparent; - ViewList.Location = new Point(6, 20); + ViewList.Location = new Point(4, 17); ViewList.Name = "ViewList"; - ViewList.Size = new Size(66, 23); + ViewList.Size = new Size(74, 23); ViewList.TabIndex = 42; ViewList.Text = "View"; ViewList.UseVisualStyleBackColor = false; ViewList.Click += button1_Click; // + // ScanForEventOutbreak + // + ScanForEventOutbreak.AutoSize = true; + ScanForEventOutbreak.Location = new Point(110, 94); + ScanForEventOutbreak.Name = "ScanForEventOutbreak"; + ScanForEventOutbreak.Size = new Size(79, 19); + ScanForEventOutbreak.TabIndex = 67; + ScanForEventOutbreak.Text = "Event OB?"; + ScanForEventOutbreak.UseVisualStyleBackColor = true; + // // ReadValues // ReadValues.Location = new Point(0, 0); @@ -1065,13 +1077,13 @@ private void InitializeComponent() private ComboBox V_ComboBox; private ProgressBar progressBar1; private NumericUpDown OverShootUpDown; - private Label DaySkipStats; + private Label StatusLabel; private Label DaySkipTotal; private Label UptimeLabel; private NumericUpDown DPADUpDown; private RadioButton DDOWNButton; private RadioButton OverShootButton; - private CheckBox Apply0To61; + private CheckBox Apply0To77; private Button OpenMapPaldea; private Button ViewList; private NumericUpDown FormBox; @@ -1123,5 +1135,6 @@ private void InitializeComponent() private Label ObCount15; private Label ObCount14; private Label ObCount13; + private CheckBox ScanForEventOutbreak; } } \ No newline at end of file diff --git a/PokeViewer.NET/SubForms/MiscView.cs b/PokeViewer.NET/SubForms/MiscView.cs index bb2a494..a1604be 100644 --- a/PokeViewer.NET/SubForms/MiscView.cs +++ b/PokeViewer.NET/SubForms/MiscView.cs @@ -16,9 +16,12 @@ public partial class MiscView : Form private static ulong BaseBlockKeyPointer = 0; public ulong CountCacheP; public ulong CountCacheK; + public ulong CountCacheBCP; + public ulong CountCacheBCK; private DateTime StartTime; private System.Timers.Timer timer = new(); public List OutbreakCache = new(); + public List BCATOutbreakCache = new(); private List MapSpritesP = new(); private List MapPOSP = new(); private List MapSpritesK = new(); @@ -114,6 +117,8 @@ private void SelectedIndex_IsChanged(object sender, EventArgs e) LoadOutbreakCache(); CountCacheP = 0; CountCacheK = 0; + CountCacheBCP = 0; + CountCacheBCK = 0; Settings.Default.MapSetting = comboBox1.SelectedIndex; Settings.Default.Save(); } @@ -134,23 +139,39 @@ private async Task SearchForOutbreak(CancellationToken token) List ImgP = new(); List ImgK = new(); + List ImgObP = new(); + List ImgObK = new(); List POSlistP = new(); List POSlistK = new(); + List POSlistObP = new(); + List POSlistObK = new(); List kolistP = new(); List kolistK = new(); + List kolistObP = new(); + List kolistObK = new(); List totallistP = new(); List totallistK = new(); + List totallistObP = new(); + List totallistObK = new(); List stringsP = new(); List stringsK = new(); + List stringsObP = new(); + List stringsObK = new(); List CountlistP = new(); List CountlistK = new(); + List CountlistObP = new(); + List CountlistObK = new(); List monsP = new(); List monsK = new(); + List monsObP = new(); + List monsObK = new(); DisableAssets(); int dayskip = 0; int OutbreaktotalP = 0; int OutbreaktotalK = 0; + int OutbreaktotalBCP = 0; + int OutbreaktotalBCK = 0; while (!token.IsCancellationRequested) { dayskip++; @@ -160,6 +181,8 @@ private async Task SearchForOutbreak(CancellationToken token) LoadOutbreakCache(); CountCacheP = 0; CountCacheK = 0; + CountCacheBCP = 0; + CountCacheBCK = 0; await ResetGame(token, false).ConfigureAwait(false); } @@ -181,10 +204,10 @@ private async Task SearchForOutbreak(CancellationToken token) KList[i].Text = string.Empty; } - DaySkipStats.Text = "Status: Saving..."; + StatusLabel.Text = "Status: Saving..."; UpdateProgress(10, 100); await SVSaveGameOverworld(token).ConfigureAwait(false); - DaySkipStats.Text = "Status: Scanning..."; + StatusLabel.Text = "Status: Scanning..."; var block = Blocks.KOutbreakSpecies1; var koblock = Blocks.KMassOutbreakKO1; @@ -296,8 +319,6 @@ private async Task SearchForOutbreak(CancellationToken token) OutbreakCache[i].SpeciesFormLoaded = fofs; var (obpos, bofs) = await ReadEncryptedBlockArray(pos, OutbreakCache[i].SpeciesCenterPOSLoaded, token).ConfigureAwait(false); OutbreakCache[i].SpeciesCenterPOSLoaded = bofs; - var (obdos, dofs) = await ReadEncryptedBlockArray(pos, OutbreakCache[i].SpeciesDummyPOSLoaded, token).ConfigureAwait(false); - OutbreakCache[i].SpeciesDummyPOSLoaded = dofs; PK9 pk = new() { @@ -317,9 +338,160 @@ private async Task SearchForOutbreak(CancellationToken token) } } + if (ScanForEventOutbreak.Checked) + { + var BCATObEnabled = await ReadEncryptedBlockBool(Blocks.KBCATOutbreakEnabled, token).ConfigureAwait(false); + if (BCATObEnabled) + { + var BCOspecies = Blocks.KOutbreakBC01MainSpecies; + var BCOko = Blocks.KOutbreakBC01MainNumKOed; + var BCOtotal = Blocks.KOutbreakBC01MainTotalSpawns; + var BCOform = Blocks.KOutbreakBC01MainForm; + var BCOcenter = Blocks.KOutbreakBC01MainCenterPos; + for (int i = 0; i < 20; i++) + BCATOutbreakCache.Add(new()); + + if (comboBox1.SelectedIndex is 0 or 1) + { + var dataBCP = await ReadEncryptedBlockByte(Blocks.KOutbreakBCMainNumActive, CountCacheBCP, token).ConfigureAwait(false); + if (CountCacheBCP == 0) + CountCacheBCP = dataBCP.Item2; + + OutbreaktotalBCP = Convert.ToInt32(dataBCP.Item1); + if (OutbreaktotalBCP > 10) + { + BaseBlockKeyPointer = await Executor.SwitchConnection.PointerAll(Offsets.BlockKeyPointer, token).ConfigureAwait(false); + // Rerun in case of bad pointer + BCATOutbreakCache = new(); + LoadOutbreakCache(); + CountCacheBCP = 0; + continue; + } + + for (int i = 0; i < 10; i++) + { + switch (i) + { + case 0: break; + case 1: BCOcenter = Blocks.KOutbreakBC02MainCenterPos; break; + case 2: BCOcenter = Blocks.KOutbreakBC03MainCenterPos; break; + case 3: BCOcenter = Blocks.KOutbreakBC04MainCenterPos; break; + case 4: BCOcenter = Blocks.KOutbreakBC05MainCenterPos; break; + case 5: BCOcenter = Blocks.KOutbreakBC06MainCenterPos; break; + case 6: BCOcenter = Blocks.KOutbreakBC07MainCenterPos; break; + case 7: BCOcenter = Blocks.KOutbreakBC08MainCenterPos; break; + case 8: BCOcenter = Blocks.KOutbreakBC09MainCenterPos; break; + case 9: BCOcenter = Blocks.KOutbreakBC10MainCenterPos; break; + } + if (i > OutbreaktotalBCP) + continue; + + var (kocount, lofs) = await ReadEncryptedBlockUint(BCOko, BCATOutbreakCache[i].SpeciesKOCountLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesKOCountLoaded = lofs; + var (totalcount, tofs) = await ReadEncryptedBlockUint(BCOtotal, BCATOutbreakCache[i].SpeciesTotalCountLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesTotalCountLoaded = tofs; + var (species, sofs) = await ReadEncryptedBlockUint(BCOspecies, BCATOutbreakCache[i].SpeciesLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesLoaded = sofs; + var (form, fofs) = await ReadEncryptedBlockByte(BCOform, BCATOutbreakCache[i].SpeciesFormLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesFormLoaded = fofs; + var (obpos, bofs) = await ReadEncryptedBlockArray(BCOcenter, BCATOutbreakCache[i].SpeciesCenterPOSLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesCenterPOSLoaded = bofs; + + PK9 pk = new() + { + Species = SpeciesConverter.GetNational9((ushort)species), + Form = form, + }; + CommonEdits.SetIsShiny(pk, false); + string pkform = form is 0 ? "" : $"-{form}"; + stringsObP.Add($"{(Species)pk.Species}{pkform}"); + CountlistObP.Add($"{kocount}/{totalcount}"); + var img = SpriteUtil.SB8a.GetSprite(pk.Species, pk.Form, 0, 0, 0, false, Shiny.Never, EntityContext.Gen9); + ImgObP.Add(img); + monsObP.Add(pk); + POSlistObP.Add(obpos); + kolistObP.Add(kocount); + totallistObP.Add(totalcount); + } + } + + if (comboBox1.SelectedIndex is 0 or 2) + { + var dataBCK = await ReadEncryptedBlockByte(Blocks.KOutbreakBCDLC1NumActive, CountCacheBCK, token).ConfigureAwait(false); + if (CountCacheBCK == 0) + CountCacheBCK = dataBCK.Item2; + + OutbreaktotalBCK = Convert.ToInt32(dataBCK.Item1); + if (OutbreaktotalBCK > 10) + { + BaseBlockKeyPointer = await Executor.SwitchConnection.PointerAll(Offsets.BlockKeyPointer, token).ConfigureAwait(false); + // Rerun in case of bad pointer + BCATOutbreakCache = new(); + LoadOutbreakCache(); + CountCacheBCK = 0; + continue; + } + + BCOspecies = Blocks.KOutbreakBC01DLC1Species; + BCOko = Blocks.KOutbreakBC01DLC1NumKOed; + BCOtotal = Blocks.KOutbreakBC01DLC1TotalSpawns; + BCOform = Blocks.KOutbreakBC01DLC1Form; + BCOcenter = Blocks.KOutbreakBC01DLC1CenterPos; + + for (int i = 10; i < 20; i++) + { + switch (i) + { + case 10: break; + case 11: BCOcenter = Blocks.KOutbreakBC02DLC1CenterPos; break; + case 12: BCOcenter = Blocks.KOutbreakBC03DLC1CenterPos; break; + case 13: BCOcenter = Blocks.KOutbreakBC04DLC1CenterPos; break; + case 14: BCOcenter = Blocks.KOutbreakBC05DLC1CenterPos; break; + case 15: BCOcenter = Blocks.KOutbreakBC06DLC1CenterPos; break; + case 16: BCOcenter = Blocks.KOutbreakBC07DLC1CenterPos; break; + case 17: BCOcenter = Blocks.KOutbreakBC08DLC1CenterPos; break; + case 18: BCOcenter = Blocks.KOutbreakBC09DLC1CenterPos; break; + case 19: BCOcenter = Blocks.KOutbreakBC10DLC1CenterPos; break; + } + if (i > OutbreaktotalBCK + 10) + continue; + + var (kocount, lofs) = await ReadEncryptedBlockUint(BCOko, BCATOutbreakCache[i].SpeciesKOCountLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesKOCountLoaded = lofs; + var (totalcount, tofs) = await ReadEncryptedBlockUint(BCOtotal, BCATOutbreakCache[i].SpeciesTotalCountLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesTotalCountLoaded = tofs; + var (species, sofs) = await ReadEncryptedBlockUint(BCOspecies, BCATOutbreakCache[i].SpeciesLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesLoaded = sofs; + var (form, fofs) = await ReadEncryptedBlockByte(BCOform, BCATOutbreakCache[i].SpeciesFormLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesFormLoaded = fofs; + var (obpos, bofs) = await ReadEncryptedBlockArray(BCOcenter, BCATOutbreakCache[i].SpeciesCenterPOSLoaded, token).ConfigureAwait(false); + BCATOutbreakCache[i].SpeciesCenterPOSLoaded = bofs; + + PK9 pk = new() + { + Species = SpeciesConverter.GetNational9((ushort)species), + Form = form, + }; + CommonEdits.SetIsShiny(pk, false); + string pkform = form is 0 ? "" : $"-{form}"; + stringsObK.Add($"{(Species)pk.Species}{pkform}"); + CountlistObK.Add($"{kocount}/{totalcount}"); + var img = SpriteUtil.SB8a.GetSprite(pk.Species, pk.Form, 0, 0, 0, false, Shiny.Never, EntityContext.Gen9); + ImgObK.Add(img); + monsObK.Add(pk); + POSlistObK.Add(obpos); + kolistObK.Add(kocount); + totallistObK.Add(totalcount); + } + } + } + } + UpdateProgress(100, 100); - OpenMapPaldea.Text = $"Paldea: {OutbreaktotalP}"; - OpenMapKitakami.Text = $"Kitakami: {OutbreaktotalK}"; + var textp = ScanForEventOutbreak.Checked ? OutbreaktotalBCP + OutbreaktotalP : OutbreaktotalP; + var textk = ScanForEventOutbreak.Checked ? OutbreaktotalBCK + OutbreaktotalK : OutbreaktotalK; + OpenMapPaldea.Text = $"Paldea: {textp}"; + OpenMapKitakami.Text = $"Kitakami: {textk}"; for (int i = 0; i < ImgP.Count; i++) { @@ -349,6 +521,21 @@ private async Task SearchForOutbreak(CancellationToken token) foreach (var kps in POSlistK) MapPOSK.Add(kps); + if (ScanForEventOutbreak.Checked) + { + foreach (var pips in ImgObP) + MapSpritesP.Add(pips); + foreach (var pps in POSlistObP) + MapPOSP.Add(pps); + + await Task.Delay(0_500, token).ConfigureAwait(false); + + foreach (var kips in ImgObK) + MapSpritesK.Add(kips); + foreach (var kps in POSlistObK) + MapPOSK.Add(kps); + } + for (int i = 0; i < monsP.Count; i++) { bool hunted = false; @@ -364,11 +551,11 @@ private async Task SearchForOutbreak(CancellationToken token) EnableAssets(); timer.Stop(); - if (Apply0To61.Checked) + if (Apply0To77.Checked) { - DaySkipStats.Text = "Status: 0 -> 61..."; + StatusLabel.Text = "Status: 0 -> 77..."; await ResetGame(token, true).ConfigureAwait(false); - DaySkipStats.Text = "Status:"; + StatusLabel.Text = "Status:"; } if (EnableWebhook.Checked) @@ -406,12 +593,80 @@ private async Task SearchForOutbreak(CancellationToken token) EnableAssets(); timer.Stop(); - if (Apply0To61.Checked) + if (Apply0To77.Checked) + { + StatusLabel.Text = "Status: 0 -> 77..."; + await ResetGame(token, true).ConfigureAwait(false); + StatusLabel.Text = "Status:"; + } + return; + } + } + + for (int i = 0; i < monsObP.Count; i++) + { + bool hunted = false; + foreach (var p in pkList) + { + if (p.Species == monsObP[i].Species && p.Form == monsObP[i].Form) + hunted = true; + } + if (hunted is true && OutbreakSearch.Checked) + { + timer.Stop(); + string msg = $"{(Species)monsObP[i].Species} outbreak found!"; + EnableAssets(); + timer.Stop(); + + if (Apply0To77.Checked) + { + StatusLabel.Text = "Status: 0 -> 77..."; + await ResetGame(token, true).ConfigureAwait(false); + StatusLabel.Text = "Status:"; + } + + if (EnableWebhook.Checked) + { + var sprite = PokeImg(monsObP[i], false); + SendNotifications(msg, sprite); + } + else + MessageBox.Show(msg); + + return; + } + } + + for (int i = 0; i < monsObK.Count; i++) + { + bool hunted = false; + foreach (var p in pkList) + { + if (p.Species == monsObK[i].Species && p.Form == monsObK[i].Form) + hunted = true; + } + if (hunted is true && OutbreakSearch.Checked) + { + timer.Stop(); + string msg = $"{(Species)monsObK[i].Species} outbreak found!"; + EnableAssets(); + timer.Stop(); + + if (Apply0To77.Checked) { - DaySkipStats.Text = "Status: 0 -> 61..."; + StatusLabel.Text = "Status: 0 -> 77..."; await ResetGame(token, true).ConfigureAwait(false); - DaySkipStats.Text = "Status:"; + StatusLabel.Text = "Status:"; } + + if (EnableWebhook.Checked) + { + var sprite = PokeImg(monsObK[i], false); + SendNotifications(msg, sprite); + } + else + MessageBox.Show(msg); + return; } } @@ -448,7 +703,7 @@ private async Task SearchForOutbreak(CancellationToken token) } if (OutbreakSearch.Checked) { - DaySkipStats.Text = "Status: Skipping..."; + StatusLabel.Text = "Status: Skipping..."; await DaySkip(token).ConfigureAwait(false); await Task.Delay(2_000, token).ConfigureAwait(false); } @@ -473,7 +728,7 @@ private async Task ResetGame(CancellationToken token, bool knockout) await CloseGame(token).ConfigureAwait(false); await StartGameScreen(token).ConfigureAwait(false); if (knockout is true) - await KOToSixty_Click(token).ConfigureAwait(false); + await KOToSeventy_Click(token).ConfigureAwait(false); await Click(A, 15_000, token).ConfigureAwait(false); } @@ -501,17 +756,23 @@ public async Task StartGameScreen(CancellationToken token) await Task.Delay(19_000, token).ConfigureAwait(false); } - private async Task KOToSixty_Click(CancellationToken token) + private async Task KOToSeventy_Click(CancellationToken token) { + OutbreakScan.Enabled = false; BaseBlockKeyPointer = await Executor.SwitchConnection.PointerAll(Offsets.BlockKeyPointer, token).ConfigureAwait(false); var (validOutbreaksP, _) = await ReadEncryptedBlockByte(Blocks.KMassOutbreakTotalPaldea, 0, token).ConfigureAwait(false); var (validOutbreaksK, _) = await ReadEncryptedBlockByte(Blocks.KMassOutbreakTotalKitakami, 0, token).ConfigureAwait(false); + var (validOutbreaksBCP, _) = await ReadEncryptedBlockByte(Blocks.KOutbreakBC01MainTotalSpawns, 0, token).ConfigureAwait(false); + var (validOutbreaksBCK, _) = await ReadEncryptedBlockByte(Blocks.KOutbreakBC01DLC1TotalSpawns, 0, token).ConfigureAwait(false); + var OutbreaktotalP = Convert.ToInt32(validOutbreaksP); var OutbreaktotalK = Convert.ToInt32(validOutbreaksK); + var OutbreaktotalBCP = Convert.ToInt32(validOutbreaksBCP); + var OutbreaktotalBCK = Convert.ToInt32(validOutbreaksBCK); var koblock = Blocks.KMassOutbreakKO1; for (int i = 0; i < 8; i++) { - OutbreakScan.Text = $"{8 * i + 1}%"; + StatusLabel.Text = $"KOing Paldea: {8 * i + 1}%"; switch (i) { case 0: break; @@ -526,26 +787,71 @@ private async Task KOToSixty_Click(CancellationToken token) if (i > OutbreaktotalP - 1) continue; var (currentcount, _) = await ReadEncryptedBlockInt32(koblock, 0, token).ConfigureAwait(false); - uint inj = 61; + uint inj = 77; await WriteBlock(inj, koblock, token, (uint)currentcount).ConfigureAwait(false); } - for (int i = 8; i < 12; i++) + for (int i = 0; i < 4; i++) { - OutbreakScan.Text = $"{8 * i + 1}%"; + StatusLabel.Text = $"KOing Kitakami: {8 * i + 1}%"; switch (i) { - case 8: koblock = Blocks.KMassOutbreakKO9; break; - case 9: koblock = Blocks.KMassOutbreakKO10; break; - case 10: koblock = Blocks.KMassOutbreakKO11; break; - case 11: koblock = Blocks.KMassOutbreakKO12; break; + case 0: koblock = Blocks.KMassOutbreakKO9; break; + case 1: koblock = Blocks.KMassOutbreakKO10; break; + case 2: koblock = Blocks.KMassOutbreakKO11; break; + case 3: koblock = Blocks.KMassOutbreakKO12; break; } - if (i > OutbreaktotalK + 8 - 1) + if (i > OutbreaktotalK - 1) continue; var (currentcount, _) = await ReadEncryptedBlockInt32(koblock, 0, token).ConfigureAwait(false); - uint inj = 61; + uint inj = 77; await WriteBlock(inj, koblock, token, (uint)currentcount).ConfigureAwait(false); } - OutbreakScan.Text = "Scan"; + for (int i = 0; i < 10; i++) + { + StatusLabel.Text = $"KOing PaldeaEvent: {10 * i}%"; + switch (i) + { + case 0: koblock = Blocks.KOutbreakBC01MainNumKOed; break; + case 1: koblock = Blocks.KOutbreakBC02MainNumKOed; break; + case 2: koblock = Blocks.KOutbreakBC03MainNumKOed; break; + case 3: koblock = Blocks.KOutbreakBC04MainNumKOed; break; + case 4: koblock = Blocks.KOutbreakBC05MainNumKOed; break; + case 5: koblock = Blocks.KOutbreakBC06MainNumKOed; break; + case 6: koblock = Blocks.KOutbreakBC07MainNumKOed; break; + case 7: koblock = Blocks.KOutbreakBC08MainNumKOed; break; + case 8: koblock = Blocks.KOutbreakBC09MainNumKOed; break; + case 9: koblock = Blocks.KOutbreakBC10MainNumKOed; break; + } + if (i > OutbreaktotalBCP - 1) + continue; + var (currentcount, _) = await ReadEncryptedBlockInt32(koblock, 0, token).ConfigureAwait(false); + uint inj = 77; + await WriteBlock(inj, koblock, token, (uint)currentcount).ConfigureAwait(false); + } + for (int i = 0; i < 10; i++) + { + StatusLabel.Text = $"KOing KitakamiEvent: {10 * i}%"; + switch (i) + { + case 0: koblock = Blocks.KOutbreakBC01DLC1NumKOed; break; + case 1: koblock = Blocks.KOutbreakBC02DLC1NumKOed; break; + case 2: koblock = Blocks.KOutbreakBC03DLC1NumKOed; break; + case 3: koblock = Blocks.KOutbreakBC04DLC1NumKOed; break; + case 4: koblock = Blocks.KOutbreakBC05DLC1NumKOed; break; + case 5: koblock = Blocks.KOutbreakBC06DLC1NumKOed; break; + case 6: koblock = Blocks.KOutbreakBC07DLC1NumKOed; break; + case 7: koblock = Blocks.KOutbreakBC08DLC1NumKOed; break; + case 8: koblock = Blocks.KOutbreakBC09DLC1NumKOed; break; + case 9: koblock = Blocks.KOutbreakBC10DLC1NumKOed; break; + } + if (i > OutbreaktotalBCK - 1) + continue; + var (currentcount, _) = await ReadEncryptedBlockInt32(koblock, 0, token).ConfigureAwait(false); + uint inj = 77; + await WriteBlock(inj, koblock, token, (uint)currentcount).ConfigureAwait(false); + } + StatusLabel.Text = "Status:"; + OutbreakScan.Enabled = true; } private async void button5_Click(object sender, EventArgs e) @@ -572,615 +878,6 @@ public class OutbreakStash public ulong SpeciesTotalCountLoaded { get; set; } = 0; public ulong SpeciesKOCountLoaded { get; set; } = 0; public ulong SpeciesCenterPOSLoaded { get; set; } = 0; - public ulong SpeciesDummyPOSLoaded { get; set; } = 0; - } - - public class DataBlock - { - public string? Name { get; set; } - public uint Key { get; set; } - public SCTypeCode Type { get; set; } - public SCTypeCode SubType { get; set; } - public IReadOnlyList? Pointer { get; set; } - public bool IsEncrypted { get; set; } - public int Size { get; set; } - } - - public static class Blocks - { - public static DataBlock KMassOutbreakTotalPaldea = new() - { - Name = "KMassOutbreakTotalPaldea", - Key = 0x6C375C8A, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakTotalKitakami = new() - { - Name = "KMassOutbreakTotalKitakami", - Key = 0xBD7C2A04, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - #region Outbreak1 - public static DataBlock KOutbreakSpecies1 = new() - { - Name = "KOutbreakSpecies1", - Key = 0x76A2F996, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak01Form = new() - { - Name = "KMassOutbreak01Form", - Key = 0x29B4615D, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO1 = new() - { - Name = "KMassOutbreak01NumKOed", - Key = 0x4B16FBC2, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak01TotalSpawns = new() - { - Name = "KMassOutbreak01TotalSpawns", - Key = 0xB7DC495A, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak01CenterPos = new() - { - Name = "KMassOutbreak01CenterPos", - Key = 0x2ED42F4D, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak01DummyPos = new() - { - Name = "KMassOutbreak01DummyPos", - Key = 0x4A13BE7C, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak2 - public static DataBlock KOutbreakSpecies2 = new() - { - Name = "KOutbreakSpecies2", - Key = 0x76A0BCF3, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak02Form = new() - { - Name = "KMassOutbreak02Form", - Key = 0x29B84368, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO2 = new() - { - Name = "KMassOutbreak02NumKOed", - Key = 0x4B14BF1F, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak02TotalSpawns = new() - { - Name = "KMassOutbreak02TotalSpawns", - Key = 0xB7DA0CB7, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak02CenterPos = new() - { - Name = "KMassOutbreak02CenterPos", - Key = 0x2ED5F198, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak02DummyPos = new() - { - Name = "KMassOutbreak02DummyPos", - Key = 0x4A118F71, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak3 - public static DataBlock KOutbreakSpecies3 = new() - { - Name = "KOutbreakSpecies3", - Key = 0x76A97E38, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak03Form = new() - { - Name = "KMassOutbreak03Form", - Key = 0x29AF8223, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO3 = new() - { - Name = "KMassOutbreak03NumKOed", - Key = 0x4B1CA6E4, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak03TotalSpawns = new() - { - Name = "KMassOutbreak03TotalSpawns", - Key = 0xB7E1F47C, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak03CenterPos = new() - { - Name = "KMassOutbreak03CenterPos", - Key = 0x2ECE09D3, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak03DummyPos = new() - { - Name = "KMassOutbreak03DummyPos", - Key = 0x4A0E135A, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak4 - public static DataBlock KOutbreakSpecies4 = new() - { - Name = "KOutbreakSpecies4", - Key = 0x76A6E26D, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak04Form = new() - { - Name = "KMassOutbreak04Form", - Key = 0x29B22B86, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO4 = new() - { - Name = "KMassOutbreak04NumKOed", - Key = 0x4B1A77D9, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak04TotalSpawns = new() - { - Name = "KMassOutbreak04TotalSpawns", - Key = 0xB7DFC571, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak04CenterPos = new() - { - Name = "KMassOutbreak04CenterPos", - Key = 0x2ED04676, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak04DummyPos = new() - { - Name = "KMassOutbreak04DummyPos", - Key = 0x4A0BD6B7, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak5 - public static DataBlock KOutbreakSpecies5 = new() - { - Name = "KOutbreakSpecies5", - Key = 0x76986F3A, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak05Form = new() - { - Name = "KMassOutbreak05Form", - Key = 0x29A9D701, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO5 = new() - { - Name = "KMassOutbreak05NumKOed", - Key = 0x4B23391E, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak05TotalSpawns = new() - { - Name = "KMassOutbreak05TotalSpawns", - Key = 0xB7E886B6, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak05CenterPos = new() - { - Name = "KMassOutbreak05CenterPos", - Key = 0x2EC78531, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak05DummyPos = new() - { - Name = "KMassOutbreak05DummyPos", - Key = 0x4A1FFBD8, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak6 - public static DataBlock KOutbreakSpecies6 = new() - { - Name = "KOutbreakSpecies6", - Key = 0x76947F97, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak06Form = new() - { - Name = "KMassOutbreak06Form", - Key = 0x29AB994C, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO6 = new() - { - Name = "KMassOutbreak06NumKOed", - Key = 0x4B208FBB, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak06TotalSpawns = new() - { - Name = "KMassOutbreak06TotalSpawns", - Key = 0xB7E49713, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak06CenterPos = new() - { - Name = "KMassOutbreak06CenterPos", - Key = 0x2ECB673C, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak06DummyPos = new() - { - Name = "KMassOutbreak06DummyPos", - Key = 0x4A1C868D, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak7 - public static DataBlock KOutbreakSpecies7 = new() - { - Name = "KOutbreakSpecies7", - Key = 0x769D40DC, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak07Form = new() - { - Name = "KMassOutbreak07Form", - Key = 0x29A344C7, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO7 = new() - { - Name = "KMassOutbreak07NumKOed", - Key = 0x4B28E440, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak07TotalSpawns = new() - { - Name = "KMassOutbreak07TotalSpawns", - Key = 0xB7EE31D8, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak07CenterPos = new() - { - Name = "KMassOutbreak07CenterPos", - Key = 0x2EC1CC77, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak07DummyPos = new() - { - Name = "KMassOutbreak07DummyPos", - Key = 0x4A1A50B6, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak8 - public static DataBlock KOutbreakSpecies8 = new() - { - Name = "KOutbreakSpecies8", - Key = 0x769B11D1, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak08Form = new() - { - Name = "KMassOutbreak08Form", - Key = 0x29A5EE2A, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO8 = new() - { - Name = "KMassOutbreak08NumKOed", - Key = 0xB29D7978, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak08TotalSpawns = new() - { - Name = "KMassOutbreak08TotalSpawns", - Key = 0xB7EABC8D, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak08CenterPos = new() - { - Name = "KMassOutbreak08CenterPos", - Key = 0x2EC5BC1A, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak08DummyPos = new() - { - Name = "KMassOutbreak08DummyPos", - Key = 0x4A166113, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak9 - public static DataBlock KOutbreakSpecies9 = new() - { - Name = "KOutbreakSpecies9", - Key = 0x37E55F64, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak09Form = new() - { - Name = "KMassOutbreak09Form", - Key = 0x69A930AB, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO9 = new() - { - Name = "KMassOutbreak09NumKOed", - Key = 0xB29D7978, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak09TotalSpawns = new() - { - Name = "KMassOutbreak09TotalSpawns", - Key = 0x9E0CEC77, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak09CenterPos = new() - { - Name = "KMassOutbreak09CenterPos", - Key = 0x411A0C07, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak09DummyPos = new() - { - Name = "KMassOutbreak09DummyPos", - Key = 0x632EFBFE, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak10 - public static DataBlock KOutbreakSpecies10 = new() - { - Name = "KOutbreakSpecies10", - Key = 0x37E33059, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak10Form = new() - { - Name = "KMassOutbreak10Form", - Key = 0x69AD204E, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO10 = new() - { - Name = "KMassOutbreak10NumKOed", - Key = 0xB29ADDAD, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak10TotalSpawns = new() - { - Name = "KMassOutbreak10TotalSpawns", - Key = 0x9E10DC1A, - Type = SCTypeCode.Int32, - Size = 4, - }; - public static DataBlock KMassOutbreak10CenterPos = new() - { - Name = "KMassOutbreak10CenterPos", - Key = 0x411CB56A, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak10DummyPos = new() - { - Name = "KMassOutbreak10DummyPos", - Key = 0x632D2C1B, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak11 - public static DataBlock KOutbreakSpecies11 = new() - { - Name = "KOutbreakSpecies11", - Key = 0x37DFB442, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak11Form = new() - { - Name = "KMassOutbreak11Form", - Key = 0x69AEE965, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO11 = new() - { - Name = "KMassOutbreak11NumKOed", - Key = 0xB298A7D6, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak11TotalSpawns = new() - { - Name = "KMassOutbreak11TotalSpawns", - Key = 0x9E12A531, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak11CenterPos = new() - { - Name = "KMassOutbreak11CenterPos", - Key = 0x411EEB41, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak11DummyPos = new() - { - Name = "KMassOutbreak11DummyPos", - Key = 0x633580A0, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion - #region Outbreak12 - public static DataBlock KOutbreakSpecies12 = new() - { - Name = "KOutbreakSpecies12", - Key = 0x37DD779F, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak12Form = new() - { - Name = "KMassOutbreak12Form", - Key = 0x69B2CB70, - Type = SCTypeCode.Byte, - IsEncrypted = true, - Size = 1, - }; - public static DataBlock KMassOutbreakKO12 = new() - { - Name = "KMassOutbreakKO12", - Key = 0xB294B833, - Type = SCTypeCode.UInt32, - IsEncrypted = true, - Size = 4, - }; - public static DataBlock KMassOutbreak12TotalSpawns = new() - { - Name = "KMassOutbreak12TotalSpawns", - Key = 0x9E16873C, - Type = SCTypeCode.Int32, - }; - public static DataBlock KMassOutbreak12CenterPos = new() - { - Name = "KMassOutbreak12CenterPos", - Key = 0x4122608C, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - public static DataBlock KMassOutbreak12DummyPos = new() - { - Name = "KMassOutbreak12DummyPos", - Key = 0x6332E4D5, - Type = SCTypeCode.Array, - IsEncrypted = true, - Size = 12, - }; - #endregion } public new async Task Click(SwitchButton b, int delay, CancellationToken token) @@ -1572,22 +1269,22 @@ private void EnableAssets() OutbreakScan.Enabled = true; OutbreakScan.Text = "Scan"; OutbreakSearch.Enabled = true; - Apply0To61.Enabled = true; + Apply0To77.Enabled = true; OpenMapPaldea.Enabled = true; OpenMapKitakami.Enabled = true; + ScanForEventOutbreak.Enabled = true; } private void DisableAssets() { OutbreakScan.Enabled = false; OutbreakSearch.Enabled = false; - Apply0To61.Enabled = false; + Apply0To77.Enabled = false; OpenMapPaldea.Enabled = false; OpenMapKitakami.Enabled = false; + ScanForEventOutbreak.Enabled = false; } - private IReadOnlyList CollisionPointer { get; } = new long[] { 0x46445D8, 0x2A8, 0x0, 0x08, 0x80 }; - private void button1_Click(object sender, EventArgs e) { string r = string.Empty; diff --git a/PokeViewer.NET/SubForms/WideViewerSV.Designer.cs b/PokeViewer.NET/SubForms/WideViewerSV.Designer.cs index 541bc4f..99e30e4 100644 --- a/PokeViewer.NET/SubForms/WideViewerSV.Designer.cs +++ b/PokeViewer.NET/SubForms/WideViewerSV.Designer.cs @@ -109,9 +109,9 @@ private void InitializeComponent() // button1 // button1.BackColor = Color.Transparent; - button1.Location = new Point(339, 597); + button1.Location = new Point(300, 597); button1.Name = "button1"; - button1.Size = new Size(75, 23); + button1.Size = new Size(138, 23); button1.TabIndex = 0; button1.Text = "Scan!"; button1.UseVisualStyleBackColor = false; @@ -128,6 +128,7 @@ private void InitializeComponent() // // textBox1 // + textBox1.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox1.Location = new Point(12, 78); textBox1.Multiline = true; textBox1.Name = "textBox1"; @@ -163,6 +164,7 @@ private void InitializeComponent() // // textBox2 // + textBox2.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox2.Location = new Point(156, 78); textBox2.Multiline = true; textBox2.Name = "textBox2"; @@ -171,6 +173,7 @@ private void InitializeComponent() // // textBox3 // + textBox3.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox3.Location = new Point(300, 78); textBox3.Multiline = true; textBox3.Name = "textBox3"; @@ -179,6 +182,7 @@ private void InitializeComponent() // // textBox4 // + textBox4.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox4.Location = new Point(444, 78); textBox4.Multiline = true; textBox4.Name = "textBox4"; @@ -187,6 +191,7 @@ private void InitializeComponent() // // textBox5 // + textBox5.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox5.Location = new Point(588, 78); textBox5.Multiline = true; textBox5.Name = "textBox5"; @@ -267,6 +272,7 @@ private void InitializeComponent() // // textBox6 // + textBox6.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox6.Location = new Point(12, 272); textBox6.Multiline = true; textBox6.Name = "textBox6"; @@ -275,6 +281,7 @@ private void InitializeComponent() // // textBox7 // + textBox7.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox7.Location = new Point(156, 272); textBox7.Multiline = true; textBox7.Name = "textBox7"; @@ -319,6 +326,7 @@ private void InitializeComponent() // // textBox8 // + textBox8.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox8.Location = new Point(300, 272); textBox8.Multiline = true; textBox8.Name = "textBox8"; @@ -345,6 +353,7 @@ private void InitializeComponent() // // textBox9 // + textBox9.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox9.Location = new Point(444, 272); textBox9.Multiline = true; textBox9.Name = "textBox9"; @@ -353,6 +362,7 @@ private void InitializeComponent() // // textBox10 // + textBox10.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox10.Location = new Point(588, 272); textBox10.Multiline = true; textBox10.Name = "textBox10"; @@ -469,6 +479,7 @@ private void InitializeComponent() // // textBox11 // + textBox11.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox11.Location = new Point(12, 466); textBox11.Multiline = true; textBox11.Name = "textBox11"; @@ -477,6 +488,7 @@ private void InitializeComponent() // // textBox12 // + textBox12.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox12.Location = new Point(156, 466); textBox12.Multiline = true; textBox12.Name = "textBox12"; @@ -485,6 +497,7 @@ private void InitializeComponent() // // textBox13 // + textBox13.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox13.Location = new Point(300, 466); textBox13.Multiline = true; textBox13.Name = "textBox13"; @@ -493,6 +506,7 @@ private void InitializeComponent() // // textBox14 // + textBox14.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox14.Location = new Point(444, 466); textBox14.Multiline = true; textBox14.Name = "textBox14"; @@ -501,6 +515,7 @@ private void InitializeComponent() // // textBox15 // + textBox15.Font = new Font("Segoe UI", 8.25F, FontStyle.Regular, GraphicsUnit.Point); textBox15.Location = new Point(588, 466); textBox15.Multiline = true; textBox15.Name = "textBox15"; diff --git a/PokeViewer.NET/SubForms/WideViewerSV.cs b/PokeViewer.NET/SubForms/WideViewerSV.cs index 7d850b5..812b49e 100644 --- a/PokeViewer.NET/SubForms/WideViewerSV.cs +++ b/PokeViewer.NET/SubForms/WideViewerSV.cs @@ -85,6 +85,7 @@ private async Task ScanOverworld(CancellationToken token) outputBox[i].Text = string.Empty; } + button1.Enabled = false; await SVSaveGameOverworld(token).ConfigureAwait(false); button1.Text = "Scanning..."; var test = await ReadBlock(Blocks.Overworld, token).ConfigureAwait(false); @@ -99,7 +100,7 @@ private async Task ScanOverworld(CancellationToken token) outputBox[i].Text = "No Pokémon present."; sprite = "https://raw.githubusercontent.com/kwsch/PKHeX/master/PKHeX.Drawing.PokeSprite/Resources/img/Pokemon%20Sprite%20Overlays/starter.png"; boxes[i].Load(sprite); - button1.Text = "Done"; + button1.Text = "Scan"; return; } string pid = $"{Environment.NewLine}PID: {pk.PID:X8}"; @@ -114,7 +115,8 @@ private async Task ScanOverworld(CancellationToken token) } var hasMark = HasMark(pk, out RibbonIndex mark); string msg = hasMark ? $"{Environment.NewLine}Mark: {mark.ToString().Replace("Mark", "")}" : ""; - string output = $"{(pk.ShinyXor == 0 ? "■ - " : pk.ShinyXor <= 16 ? "★ - " : "")}{(Species)pk.Species}{form}{gender}{pid}{ec}{Environment.NewLine}Nature: {(Nature)pk.Nature}{Environment.NewLine}Ability: {(Ability)pk.Ability}{Environment.NewLine}IVs: {pk.IV_HP}/{pk.IV_ATK}/{pk.IV_DEF}/{pk.IV_SPA}/{pk.IV_SPD}/{pk.IV_SPE}{msg}"; + string scale = $"{Environment.NewLine}Scale: {PokeSizeDetailedUtil.GetSizeRating(pk.Scale)} ({pk.Scale})"; + string output = $"{(pk.ShinyXor == 0 ? "■ - " : pk.ShinyXor <= 16 ? "★ - " : "")}{(Species)pk.Species}{form}{gender}{pid}{ec}{Environment.NewLine}Nature: {(Nature)pk.Nature}{Environment.NewLine}Ability: {(Ability)pk.Ability}{Environment.NewLine}IVs: {pk.IV_HP}/{pk.IV_ATK}/{pk.IV_DEF}/{pk.IV_SPA}/{pk.IV_SPD}/{pk.IV_SPE}{scale}{msg}"; outputBox[i].Text = output; sprite = PokeImg(pk, false); boxes[i].Load(sprite); @@ -130,7 +132,8 @@ private async Task ScanOverworld(CancellationToken token) } } await Click(B, 1_000, token).ConfigureAwait(false); - button1.Text = "Done"; + button1.Text = "Scan"; + button1.Enabled = true; return; } diff --git a/PokeViewer.NET/Util/ViewerUtil.cs b/PokeViewer.NET/Util/ViewerUtil.cs index 5159c96..5437f60 100644 --- a/PokeViewer.NET/Util/ViewerUtil.cs +++ b/PokeViewer.NET/Util/ViewerUtil.cs @@ -141,4 +141,1757 @@ public class ViewerOffsets public readonly uint TrainerDataLGPE = 0x53582030; public readonly int TrainerSizeLGPE = 0x168; } + + public class DataBlock + { + public string? Name { get; set; } + public uint Key { get; set; } + public SCTypeCode Type { get; set; } + public SCTypeCode SubType { get; set; } + public IReadOnlyList? Pointer { get; set; } + public bool IsEncrypted { get; set; } + public int Size { get; set; } + } + + public static class Blocks + { + public static DataBlock KMassOutbreakTotalPaldea = new() + { + Name = "KMassOutbreakTotalPaldea", + Key = 0x6C375C8A, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakTotalKitakami = new() + { + Name = "KMassOutbreakTotalKitakami", + Key = 0xBD7C2A04, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBCMainNumActive = new() + { + Name = "KOutbreakBCMainNumActive", + Key = 0x7478FD9A, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBCDLC1NumActive = new() + { + Name = "KOutbreakBCDLC1NumActive", + Key = 0x0D326604, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBCDLC2NumActive = new() + { + Name = "KOutbreakBCDLC2NumActive", + Key = 0x1B4ECAC3, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KBCATOutbreakPokeData = new() + { + Name = "KBCATOutbreakPokeData", + Key = 0x6C1A131B, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + public static DataBlock KBCATOutbreakEnabled = new() + { + Name = "KBCATOutbreakEnabled", + Key = 0x61552076, + Type = SCTypeCode.Bool1, + IsEncrypted = true, + Size = 1, + }; + #region Outbreak1 + public static DataBlock KOutbreakSpecies1 = new() + { + Name = "KOutbreakSpecies1", + Key = 0x76A2F996, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak01Form = new() + { + Name = "KMassOutbreak01Form", + Key = 0x29B4615D, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO1 = new() + { + Name = "KMassOutbreak01NumKOed", + Key = 0x4B16FBC2, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak01TotalSpawns = new() + { + Name = "KMassOutbreak01TotalSpawns", + Key = 0xB7DC495A, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak01CenterPos = new() + { + Name = "KMassOutbreak01CenterPos", + Key = 0x2ED42F4D, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak2 + public static DataBlock KOutbreakSpecies2 = new() + { + Name = "KOutbreakSpecies2", + Key = 0x76A0BCF3, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak02Form = new() + { + Name = "KMassOutbreak02Form", + Key = 0x29B84368, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO2 = new() + { + Name = "KMassOutbreak02NumKOed", + Key = 0x4B14BF1F, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak02TotalSpawns = new() + { + Name = "KMassOutbreak02TotalSpawns", + Key = 0xB7DA0CB7, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak02CenterPos = new() + { + Name = "KMassOutbreak02CenterPos", + Key = 0x2ED5F198, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak3 + public static DataBlock KOutbreakSpecies3 = new() + { + Name = "KOutbreakSpecies3", + Key = 0x76A97E38, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak03Form = new() + { + Name = "KMassOutbreak03Form", + Key = 0x29AF8223, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO3 = new() + { + Name = "KMassOutbreak03NumKOed", + Key = 0x4B1CA6E4, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak03TotalSpawns = new() + { + Name = "KMassOutbreak03TotalSpawns", + Key = 0xB7E1F47C, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak03CenterPos = new() + { + Name = "KMassOutbreak03CenterPos", + Key = 0x2ECE09D3, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak4 + public static DataBlock KOutbreakSpecies4 = new() + { + Name = "KOutbreakSpecies4", + Key = 0x76A6E26D, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak04Form = new() + { + Name = "KMassOutbreak04Form", + Key = 0x29B22B86, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO4 = new() + { + Name = "KMassOutbreak04NumKOed", + Key = 0x4B1A77D9, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak04TotalSpawns = new() + { + Name = "KMassOutbreak04TotalSpawns", + Key = 0xB7DFC571, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak04CenterPos = new() + { + Name = "KMassOutbreak04CenterPos", + Key = 0x2ED04676, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak5 + public static DataBlock KOutbreakSpecies5 = new() + { + Name = "KOutbreakSpecies5", + Key = 0x76986F3A, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak05Form = new() + { + Name = "KMassOutbreak05Form", + Key = 0x29A9D701, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO5 = new() + { + Name = "KMassOutbreak05NumKOed", + Key = 0x4B23391E, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak05TotalSpawns = new() + { + Name = "KMassOutbreak05TotalSpawns", + Key = 0xB7E886B6, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak05CenterPos = new() + { + Name = "KMassOutbreak05CenterPos", + Key = 0x2EC78531, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak6 + public static DataBlock KOutbreakSpecies6 = new() + { + Name = "KOutbreakSpecies6", + Key = 0x76947F97, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak06Form = new() + { + Name = "KMassOutbreak06Form", + Key = 0x29AB994C, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO6 = new() + { + Name = "KMassOutbreak06NumKOed", + Key = 0x4B208FBB, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak06TotalSpawns = new() + { + Name = "KMassOutbreak06TotalSpawns", + Key = 0xB7E49713, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak06CenterPos = new() + { + Name = "KMassOutbreak06CenterPos", + Key = 0x2ECB673C, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak7 + public static DataBlock KOutbreakSpecies7 = new() + { + Name = "KOutbreakSpecies7", + Key = 0x769D40DC, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak07Form = new() + { + Name = "KMassOutbreak07Form", + Key = 0x29A344C7, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO7 = new() + { + Name = "KMassOutbreak07NumKOed", + Key = 0x4B28E440, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak07TotalSpawns = new() + { + Name = "KMassOutbreak07TotalSpawns", + Key = 0xB7EE31D8, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak07CenterPos = new() + { + Name = "KMassOutbreak07CenterPos", + Key = 0x2EC1CC77, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak8 + public static DataBlock KOutbreakSpecies8 = new() + { + Name = "KOutbreakSpecies8", + Key = 0x769B11D1, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak08Form = new() + { + Name = "KMassOutbreak08Form", + Key = 0x29A5EE2A, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO8 = new() + { + Name = "KMassOutbreak08NumKOed", + Key = 0xB29D7978, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak08TotalSpawns = new() + { + Name = "KMassOutbreak08TotalSpawns", + Key = 0xB7EABC8D, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak08CenterPos = new() + { + Name = "KMassOutbreak08CenterPos", + Key = 0x2EC5BC1A, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak9 + public static DataBlock KOutbreakSpecies9 = new() + { + Name = "KOutbreakSpecies9", + Key = 0x37E55F64, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak09Form = new() + { + Name = "KMassOutbreak09Form", + Key = 0x69A930AB, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO9 = new() + { + Name = "KMassOutbreak09NumKOed", + Key = 0xB29D7978, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak09TotalSpawns = new() + { + Name = "KMassOutbreak09TotalSpawns", + Key = 0x9E0CEC77, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak09CenterPos = new() + { + Name = "KMassOutbreak09CenterPos", + Key = 0x411A0C07, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak10 + public static DataBlock KOutbreakSpecies10 = new() + { + Name = "KOutbreakSpecies10", + Key = 0x37E33059, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak10Form = new() + { + Name = "KMassOutbreak10Form", + Key = 0x69AD204E, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO10 = new() + { + Name = "KMassOutbreak10NumKOed", + Key = 0xB29ADDAD, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak10TotalSpawns = new() + { + Name = "KMassOutbreak10TotalSpawns", + Key = 0x9E10DC1A, + Type = SCTypeCode.Int32, + Size = 4, + }; + public static DataBlock KMassOutbreak10CenterPos = new() + { + Name = "KMassOutbreak10CenterPos", + Key = 0x411CB56A, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak11 + public static DataBlock KOutbreakSpecies11 = new() + { + Name = "KOutbreakSpecies11", + Key = 0x37DFB442, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak11Form = new() + { + Name = "KMassOutbreak11Form", + Key = 0x69AEE965, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO11 = new() + { + Name = "KMassOutbreak11NumKOed", + Key = 0xB298A7D6, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak11TotalSpawns = new() + { + Name = "KMassOutbreak11TotalSpawns", + Key = 0x9E12A531, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak11CenterPos = new() + { + Name = "KMassOutbreak11CenterPos", + Key = 0x411EEB41, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region Outbreak12 + public static DataBlock KOutbreakSpecies12 = new() + { + Name = "KOutbreakSpecies12", + Key = 0x37DD779F, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak12Form = new() + { + Name = "KMassOutbreak12Form", + Key = 0x69B2CB70, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KMassOutbreakKO12 = new() + { + Name = "KMassOutbreakKO12", + Key = 0xB294B833, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KMassOutbreak12TotalSpawns = new() + { + Name = "KMassOutbreak12TotalSpawns", + Key = 0x9E16873C, + Type = SCTypeCode.Int32, + }; + public static DataBlock KMassOutbreak12CenterPos = new() + { + Name = "KMassOutbreak12CenterPos", + Key = 0x4122608C, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC01MainSpecies + public static DataBlock KOutbreakBC01MainSpecies = new() + { + Name = "KOutbreakBC01MainSpecies", + Key = 0x84AB44A6, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC01MainForm = new() + { + Name = "KOutbreakBC01MainForm", + Key = 0xD82BDDAD, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC01MainNumKOed = new() + { + Name = "KOutbreakBC01MainNumKOed", + Key = 0x65AC15F2, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC01MainTotalSpawns = new() + { + Name = "KOutbreakBC01MainTotalSpawns", + Key = 0x71862A2A, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC01MainCenterPos = new() + { + Name = "KOutbreakBC01MainCenterPos", + Key = 0x71DB2C9D, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC02MainSpecies + public static DataBlock KOutbreakBC02MainSpecies = new() + { + Name = "KOutbreakBC02MainSpecies", + Key = 0x84A7C1C3, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC02MainForm = new() + { + Name = "KOutbreakBC02MainForm", + Key = 0xD82E7978, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC02MainNumKOed = new() + { + Name = "KOutbreakBC02MainNumKOed", + Key = 0x65A8930F, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC02MainTotalSpawns = new() + { + Name = "KOutbreakBC02MainTotalSpawns", + Key = 0x71862A2A, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC02MainCenterPos = new() + { + Name = "KOutbreakBC02MainCenterPos", + Key = 0x71DD5BA8, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC03MainSpecies + public static DataBlock KOutbreakBC03MainSpecies = new() + { + Name = "KOutbreakBC03MainSpecies", + Key = 0x84B15C88, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC03MainForm = new() + { + Name = "KOutbreakBC03MainForm", + Key = 0xD825B833, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC03MainNumKOed = new() + { + Name = "KOutbreakBC03MainNumKOed", + Key = 0x65B22DD4, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC03MainTotalSpawns = new() + { + Name = "KOutbreakBC03MainTotalSpawns", + Key = 0x718BD54C, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC03MainCenterPos = new() + { + Name = "KOutbreakBC03MainCenterPos", + Key = 0x71D49A63, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC04MainSpecies + public static DataBlock KOutbreakBC04MainSpecies = new() + { + Name = "KOutbreakBC04MainSpecies", + Key = 0x84AD7A7D, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC04MainForm = new() + { + Name = "KOutbreakBC04MainForm", + Key = 0xD829A7D6, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC04MainNumKOed = new() + { + Name = "KOutbreakBC04MainNumKOed", + Key = 0x65AE4BC9, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC04MainTotalSpawns = new() + { + Name = "KOutbreakBC04MainTotalSpawns", + Key = 0x718A1301, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC04MainCenterPos = new() + { + Name = "KOutbreakBC04MainCenterPos", + Key = 0x71D743C6, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC05MainSpecies + public static DataBlock KOutbreakBC05MainSpecies = new() + { + Name = "KOutbreakBC05MainSpecies", + Key = 0x849F074A, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC05MainForm = new() + { + Name = "KOutbreakBC05MainForm", + Key = 0xD8200D11, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC05MainNumKOed = new() + { + Name = "KOutbreakBC05MainNumKOed", + Key = 0x65B70D0E, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC05MainTotalSpawns = new() + { + Name = "KOutbreakBC05MainTotalSpawns", + Key = 0x71926786, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC05MainCenterPos = new() + { + Name = "KOutbreakBC05MainCenterPos", + Key = 0x71CEEF41, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC06MainSpecies + public static DataBlock KOutbreakBC06MainSpecies = new() + { + Name = "KOutbreakBC06MainSpecies", + Key = 0x849D3767, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC06MainForm = new() + { + Name = "KOutbreakBC06MainForm", + Key = 0xD823EF1C, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC06MainNumKOed = new() + { + Name = "KOutbreakBC06MainNumKOed", + Key = 0x65B4D06B, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC06MainTotalSpawns = new() + { + Name = "KOutbreakBC06MainTotalSpawns", + Key = 0x718FBE23, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC06MainCenterPos = new() + { + Name = "KOutbreakBC06MainCenterPos", + Key = 0x71D2648C, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC07MainSpecies + public static DataBlock KOutbreakBC07MainSpecies = new() + { + Name = "KOutbreakBC07MainSpecies", + Key = 0x84A58BEC, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC07MainForm = new() + { + Name = "KOutbreakBC07MainForm", + Key = 0xD81B2DD7, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC07MainNumKOed = new() + { + Name = "KOutbreakBC07MainNumKOed", + Key = 0x65BCB830, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC07MainTotalSpawns = new() + { + Name = "KOutbreakBC07MainTotalSpawns", + Key = 0x71987F68, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC07MainCenterPos = new() + { + Name = "KOutbreakBC07MainCenterPos", + Key = 0x71CA1007, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC08MainSpecies + public static DataBlock KOutbreakBC08MainSpecies = new() + { + Name = "KOutbreakBC08MainSpecies", + Key = 0x84A2F021, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC08MainForm = new() + { + Name = "KOutbreakBC08MainForm", + Key = 0xD81D6A7A, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC08MainNumKOed = new() + { + Name = "KOutbreakBC08MainNumKOed", + Key = 0x65BA8925, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC08MainTotalSpawns = new() + { + Name = "KOutbreakBC08MainTotalSpawns", + Key = 0x71949D5D, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC08MainCenterPos = new() + { + Name = "KOutbreakBC08MainCenterPos", + Key = 0x71CCB96A, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC09MainSpecies + public static DataBlock KOutbreakBC09MainSpecies = new() + { + Name = "KOutbreakBC09MainSpecies", + Key = 0x84C2791E, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC09MainForm = new() + { + Name = "KOutbreakBC09MainForm", + Key = 0xD842A565, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC09MainNumKOed = new() + { + Name = "KOutbreakBC09MainNumKOed", + Key = 0x65954E3A, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC09MainTotalSpawns = new() + { + Name = "KOutbreakBC09MainTotalSpawns", + Key = 0x719E3822, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC09MainCenterPos = new() + { + Name = "KOutbreakBC09MainCenterPos", + Key = 0x71F18795, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC10MainSpecies + public static DataBlock KOutbreakBC10MainSpecies = new() + { + Name = "KOutbreakBC10MainSpecies", + Key = 0x84BFCFBB, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC10MainForm = new() + { + Name = "KOutbreakBC10MainForm", + Key = 0xD8468770, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC10MainNumKOed = new() + { + Name = "KOutbreakBC10MainNumKOed", + Key = 0x65915E97, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC10MainTotalSpawns = new() + { + Name = "KOutbreakBC10MainTotalSpawns", + Key = 0x719A487F, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC10MainCenterPos = new() + { + Name = "KOutbreakBC10MainCenterPos", + Key = 0x71F42360, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC01DLC1Species + public static DataBlock KOutbreakBC01DLC1Species = new() + { + Name = "KOutbreakBC01DLC1Species", + Key = 0x0F4D3B64, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC01DLC1Form = new() + { + Name = "KOutbreakBC01DLC1Form", + Key = 0x41110CAB, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC01DLC1NumKOed = new() + { + Name = "KOutbreakBC01DLC1NumKOed", + Key = 0xAA733578, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC01DLC1TotalSpawns = new() + { + Name = "KOutbreakBC01DLC1TotalSpawns", + Key = 0x95EC433C, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC01DLC1CenterPos = new() + { + Name = "KOutbreakBC01DLC1CenterPos", + Key = 0xB3C20007, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC02DLC1Species + public static DataBlock KOutbreakBC02DLC1Species = new() + { + Name = "KOutbreakBC02DLC1Species", + Key = 0x0F4B0C59, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC02DLC1Form = new() + { + Name = "KOutbreakBC02DLC1Form", + Key = 0x4114FC4E, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC02DLC1NumKOed = new() + { + Name = "KOutbreakBC02DLC1NumKOed", + Key = 0xAA7099AD, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC02DLC1TotalSpawns = new() + { + Name = "KOutbreakBC02DLC1TotalSpawns", + Key = 0x95E86131, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC02DLC1CenterPos = new() + { + Name = "KOutbreakBC02DLC1CenterPos", + Key = 0xB3C4A96A, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC03DLC1Species + public static DataBlock KOutbreakBC03DLC1Species = new() + { + Name = "KOutbreakBC03DLC1Species", + Key = 0x0F479042, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC03DLC1Form = new() + { + Name = "KOutbreakBC03DLC1Form", + Key = 0x4116C565, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC03DLC1NumKOed = new() + { + Name = "KOutbreakBC03DLC1NumKOed", + Key = 0xAA6E63D6, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC03DLC1TotalSpawns = new() + { + Name = "KOutbreakBC03DLC1TotalSpawns", + Key = 0x95E6981A, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC03DLC1CenterPos = new() + { + Name = "KOutbreakBC03DLC1CenterPos", + Key = 0xB3C6DF41, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC04DLC1Species + public static DataBlock KOutbreakBC04DLC1Species = new() + { + Name = "KOutbreakBC04DLC1Species", + Key = 0x0F45539F, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC04DLC1Form = new() + { + Name = "KOutbreakBC04DLC1Form", + Key = 0x411AA770, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC04DLC1NumKOed = new() + { + Name = "KOutbreakBC04DLC1NumKOed", + Key = 0xAA6A7433, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC04DLC1TotalSpawns = new() + { + Name = "KOutbreakBC04DLC1TotalSpawns", + Key = 0x95E2A877, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC04DLC1CenterPos = new() + { + Name = "KOutbreakBC04DLC1CenterPos", + Key = 0xB3CA548C, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC05DLC1Species + public static DataBlock KOutbreakBC05DLC1Species = new() + { + Name = "KOutbreakBC05DLC1Species", + Key = 0x0F5978C0, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC05DLC1Form = new() + { + Name = "KOutbreakBC05DLC1Form", + Key = 0x4106824F, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC05DLC1NumKOed = new() + { + Name = "KOutbreakBC05DLC1NumKOed", + Key = 0xAA68AB1C, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC05DLC1TotalSpawns = new() + { + Name = "KOutbreakBC05DLC1TotalSpawns", + Key = 0x95F6CD98, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC05DLC1CenterPos = new() + { + Name = "KOutbreakBC05DLC1CenterPos", + Key = 0xB3CC8A63, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC06DLC1Species + public static DataBlock KOutbreakBC06DLC1Species = new() + { + Name = "KOutbreakBC06DLC1Species", + Key = 0x0F560375, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC06DLC1Form = new() + { + Name = "KOutbreakBC06DLC1Form", + Key = 0x41085232, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC06DLC1NumKOed = new() + { + Name = "KOutbreakBC06DLC1NumKOed", + Key = 0xAA64C911, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC06DLC1TotalSpawns = new() + { + Name = "KOutbreakBC06DLC1TotalSpawns", + Key = 0x95F50B4D, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC06DLC1CenterPos = new() + { + Name = "KOutbreakBC06DLC1CenterPos", + Key = 0xB3CF33C6, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC07DLC1Species + public static DataBlock KOutbreakBC07DLC1Species = new() + { + Name = "KOutbreakBC07DLC1Species", + Key = 0x0F53CD9E, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC07DLC1Form = new() + { + Name = "KOutbreakBC07DLC1Form", + Key = 0x410C3B09, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC07DLC1NumKOed = new() + { + Name = "KOutbreakBC07DLC1NumKOed", + Key = 0xAA62267A, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC07DLC1TotalSpawns = new() + { + Name = "KOutbreakBC07DLC1TotalSpawns", + Key = 0x95F12276, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC07DLC1CenterPos = new() + { + Name = "KOutbreakBC07DLC1CenterPos", + Key = 0xB3D31C9D, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC08DLC1Species + public static DataBlock KOutbreakBC08DLC1Species = new() + { + Name = "KOutbreakBC08DLC1Species", + Key = 0x0F51243B, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC08DLC1Form = new() + { + Name = "KOutbreakBC08DLC1Form", + Key = 0x410E6A14, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC08DLC1NumKOed = new() + { + Name = "KOutbreakBC08DLC1NumKOed", + Key = 0xAA5FE9D7, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC08DLC1TotalSpawns = new() + { + Name = "KOutbreakBC08DLC1TotalSpawns", + Key = 0x95EEE5D3, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC08DLC1CenterPos = new() + { + Name = "KOutbreakBC08DLC1CenterPos", + Key = 0xB3D54BA8, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC09DLC1Species + public static DataBlock KOutbreakBC09DLC1Species = new() + { + Name = "KOutbreakBC09DLC1Species", + Key = 0x0F36E06C, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC09DLC1Form = new() + { + Name = "KOutbreakBC09DLC1Form", + Key = 0x40F9D833, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC09DLC1NumKOed = new() + { + Name = "KOutbreakBC09DLC1NumKOed", + Key = 0xAA8B4370, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC09DLC1TotalSpawns = new() + { + Name = "KOutbreakBC09DLC1TotalSpawns", + Key = 0x960377B4, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC09DLC1CenterPos = new() + { + Name = "KOutbreakBC09DLC1CenterPos", + Key = 0xB3D8C7BF, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC10DLC1Species + public static DataBlock KOutbreakBC10DLC1Species = new() + { + Name = "KOutbreakBC10DLC1Species", + Key = 0x0F3444A1, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC10DLC1Form = new() + { + Name = "KOutbreakBC10DLC1Form", + Key = 0x40FDC7D6, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC10DLC1NumKOed = new() + { + Name = "KOutbreakBC10DLC1NumKOed", + Key = 0xAA876165, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC10DLC1TotalSpawns = new() + { + Name = "KOutbreakBC10DLC1TotalSpawns", + Key = 0x95FF95A9, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC10DLC1CenterPos = new() + { + Name = "KOutbreakBC10DLC1CenterPos", + Key = 0xB3DB0462, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC01DLC2Species + public static DataBlock KOutbreakBC01DLC2Species = new() + { + Name = "KOutbreakBC01DLC2Species", + Key = 0x03B50A2B, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC01DLC2Form = new() + { + Name = "KOutbreakBC01DLC2Form", + Key = 0x9F47C0A8, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC01DLC2NumKOed = new() + { + Name = "KOutbreakBC01DLC2NumKOed", + Key = 0x6CB77613, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC01DLC2TotalSpawns = new() + { + Name = "KOutbreakBC01DLC2TotalSpawns", + Key = 0xCDB0C887, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC01DLC2CenterPos = new() + { + Name = "KOutbreakBC01DLC2CenterPos", + Key = 0xE623D9F6, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC02DLC2Species + public static DataBlock KOutbreakBC02DLC2Species = new() + { + Name = "KOutbreakBC02DLC2Species", + Key = 0x03B8F9CE, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC02DLC2Form = new() + { + Name = "KOutbreakBC02DLC2Form", + Key = 0x9F45919D, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC02DLC2NumKOed = new() + { + Name = "KOutbreakBC02DLC2NumKOed", + Key = 0x6CBB65B6, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC02DLC2TotalSpawns = new() + { + Name = "KOutbreakBC02DLC2TotalSpawns", + Key = 0xCDB371EA, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC02DLC2CenterPos = new() + { + Name = "KOutbreakBC02DLC2CenterPos", + Key = 0xE6219D53, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC03DLC2Species + public static DataBlock KOutbreakBC03DLC2Species = new() + { + Name = "KOutbreakBC03DLC2Species", + Key = 0x03BAC2E5, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC03DLC2Form = new() + { + Name = "KOutbreakBC03DLC2Form", + Key = 0x9F41A8C6, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC03DLC2NumKOed = new() + { + Name = "KOutbreakBC03DLC2NumKOed", + Key = 0x6CBD9B8D, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC03DLC2TotalSpawns = new() + { + Name = "KOutbreakBC03DLC2TotalSpawns", + Key = 0xCDB5A7C1, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC03DLC2CenterPos = new() + { + Name = "KOutbreakBC03DLC2CenterPos", + Key = 0xE6298518, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC04DLC2Species + public static DataBlock KOutbreakBC04DLC2Species = new() + { + Name = "KOutbreakBC04DLC2Species", + Key = 0x03BEA4F0, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC04DLC2Form = new() + { + Name = "KOutbreakBC04DLC2Form", + Key = 0x9F3EFF63, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC04DLC2NumKOed = new() + { + Name = "KOutbreakBC04DLC2NumKOed", + Key = 0x6CC110D8, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC04DLC2TotalSpawns = new() + { + Name = "KOutbreakBC04DLC2TotalSpawns", + Key = 0xCDB91D0C, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC04DLC2CenterPos = new() + { + Name = "KOutbreakBC04DLC2CenterPos", + Key = 0xE627C2CD, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC05DLC2Species + public static DataBlock KOutbreakBC05DLC2Species = new() + { + Name = "KOutbreakBC05DLC2Species", + Key = 0x03AA7FCF, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC05DLC2Form = new() + { + Name = "KOutbreakBC05DLC2Form", + Key = 0x9F3CC98C, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC05DLC2NumKOed = new() + { + Name = "KOutbreakBC05DLC2NumKOed", + Key = 0x6CACEBB7, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC05DLC2TotalSpawns = new() + { + Name = "KOutbreakBC05DLC2TotalSpawns", + Key = 0xCDBB52E3, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC05DLC2CenterPos = new() + { + Name = "KOutbreakBC05DLC2CenterPos", + Key = 0xE6194F9A, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC06DLC2Species + public static DataBlock KOutbreakBC06DLC2Species = new() + { + Name = "KOutbreakBC06DLC2Species", + Key = 0x03AC4FB2, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC06DLC2Form = new() + { + Name = "KOutbreakBC06DLC2Form", + Key = 0x9F395441, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC06DLC2NumKOed = new() + { + Name = "KOutbreakBC06DLC2NumKOed", + Key = 0x6CAF285A, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC06DLC2TotalSpawns = new() + { + Name = "KOutbreakBC06DLC2TotalSpawns", + Key = 0xCDBDFC46, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC06DLC2CenterPos = new() + { + Name = "KOutbreakBC06DLC2CenterPos", + Key = 0xE6155FF7, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC07DLC2Species + public static DataBlock KOutbreakBC07DLC2Species = new() + { + Name = "KOutbreakBC07DLC2Species", + Key = 0x03B03889, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC07DLC2Form = new() + { + Name = "KOutbreakBC07DLC2Form", + Key = 0x9F371E6A, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC07DLC2NumKOed = new() + { + Name = "KOutbreakBC07DLC2NumKOed", + Key = 0x6CB2A471, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC07DLC2TotalSpawns = new() + { + Name = "KOutbreakBC07DLC2TotalSpawns", + Key = 0xCDC1E51D, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC07DLC2CenterPos = new() + { + Name = "KOutbreakBC07DLC2CenterPos", + Key = 0xE61EFABC, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC08DLC2Species + public static DataBlock KOutbreakBC08DLC2Species = new() + { + Name = "KOutbreakBC08DLC2Species", + Key = 0x03B26794, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC08DLC2Form = new() + { + Name = "KOutbreakBC08DLC2Form", + Key = 0x9F347507, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC08DLC2NumKOed = new() + { + Name = "KOutbreakBC08DLC2NumKOed", + Key = 0x6CB4D37C, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC08DLC2TotalSpawns = new() + { + Name = "KOutbreakBC08DLC2TotalSpawns", + Key = 0xCDC41428, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC08DLC2CenterPos = new() + { + Name = "KOutbreakBC08DLC2CenterPos", + Key = 0xE61B18B1, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC09DLC2Species + public static DataBlock KOutbreakBC09DLC2Species = new() + { + Name = "KOutbreakBC09DLC2Species", + Key = 0x039DD5B3, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC09DLC2Form = new() + { + Name = "KOutbreakBC09DLC2Form", + Key = 0x9F5E8860, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC09DLC2NumKOed = new() + { + Name = "KOutbreakBC09DLC2NumKOed", + Key = 0x6CCF840B, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC09DLC2TotalSpawns = new() + { + Name = "KOutbreakBC09DLC2TotalSpawns", + Key = 0xCDC7903F, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC09DLC2CenterPos = new() + { + Name = "KOutbreakBC09DLC2CenterPos", + Key = 0xE63BE7EE, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + #region KOutbreakBC10DLC2Species + public static DataBlock KOutbreakBC10DLC2Species = new() + { + Name = "KOutbreakBC10DLC2Species", + Key = 0x03A1C556, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC10DLC2Form = new() + { + Name = "KOutbreakBC10DLC2Form", + Key = 0x9F5BEC95, + Type = SCTypeCode.Byte, + IsEncrypted = true, + Size = 1, + }; + public static DataBlock KOutbreakBC10DLC2NumKOed = new() + { + Name = "KOutbreakBC10DLC2NumKOed", + Key = 0x6CD1C0AE, + Type = SCTypeCode.UInt32, + IsEncrypted = true, + Size = 4, + }; + public static DataBlock KOutbreakBC10DLC2TotalSpawns = new() + { + Name = "KOutbreakBC10DLC2TotalSpawns", + Key = 0xCDC9CCE2, + Type = SCTypeCode.Int32, + }; + public static DataBlock KOutbreakBC10DLC2CenterPos = new() + { + Name = "KOutbreakBC10DLC2CenterPos", + Key = 0xE637F84B, + Type = SCTypeCode.Array, + IsEncrypted = true, + Size = 12, + }; + #endregion + } + }