public BK4(byte[] decryptedData = null, string ident = null) { Data = (byte[])(decryptedData ?? new byte[SIZE_PARTY]).Clone(); uint sv = ((PID & 0x3E000) >> 0xD) % 24; Data = PKX.ShuffleArray45(Data, sv); Identifier = ident; if (Sanity != 0 && Species <= MaxSpeciesID && !ChecksumValid) // We can only hope { RefreshChecksum(); } if (Valid && Sanity == 0) { Sanity = 0x4000; } if (Data.Length != SIZE_PARTY) { Array.Resize(ref Data, SIZE_PARTY); } }