using System; using PKHeX.Core; namespace PKHeX.WinForms.Controls { public partial class PKMEditor { private void PopulateFieldsPK7() { if (Entity is not PK7 pk7) throw new FormatException(nameof(Entity)); LoadMisc1(pk7); LoadMisc2(pk7); LoadMisc3(pk7); LoadMisc4(pk7); LoadMisc6(pk7); LoadPartyStats(pk7); UpdateStats(); } private PK7 PreparePK7() { if (Entity is not PK7 pk7) throw new FormatException(nameof(Entity)); SaveMisc1(pk7); SaveMisc2(pk7); SaveMisc3(pk7); SaveMisc4(pk7); SaveMisc6(pk7); // Toss in Party Stats SavePartyStats(pk7); // Unneeded Party Stats (Status, Flags, Unused) pk7.Status_Condition = pk7.DirtType = pk7.DirtLocation = pk7.Data[0xEF] = pk7.Data[0xFE] = pk7.Data[0xFF] = pk7.Data[0x100] = pk7.Data[0x101] = pk7.Data[0x102] = pk7.Data[0x103] = 0; pk7.FixMoves(); pk7.FixRelearn(); if (ModifyPKM) pk7.FixMemories(); pk7.RefreshChecksum(); return pk7; } private void PopulateFieldsPB7() { if (Entity is not PB7 pk7) throw new FormatException(nameof(Entity)); LoadMisc1(pk7); LoadMisc2(pk7); LoadMisc3(pk7); LoadMisc4(pk7); LoadMisc6(pk7); LoadAVs(pk7); SizeCP.LoadPKM(pk7); LoadPartyStats(pk7); UpdateStats(); } private PB7 PreparePB7() { if (Entity is not PB7 pk7) throw new FormatException(nameof(Entity)); SaveMisc1(pk7); SaveMisc2(pk7); SaveMisc3(pk7); SaveMisc4(pk7); SaveMisc6(pk7); // Toss in Party Stats SavePartyStats(pk7); if (pk7.Stat_CP == 0) pk7.ResetCP(); // heal values to original pk7.FieldEventFatigue1 = pk7.FieldEventFatigue2 = 100; pk7.FixMoves(); pk7.FixRelearn(); if (ModifyPKM) pk7.FixMemories(); pk7.RefreshChecksum(); return pk7; } } }