private void Initialize(BitBlock bits)
 {
     IsValid         = bits[0];
     Level           = bits.GetInt(0, 1, 7);
     ID              = new ExplorersPokemonId(bits.GetInt(0, 8, 11));
     MetAt           = bits.GetInt(0, 19, 8);
     MetFloor        = bits.GetInt(0, 27, 7);
     Unk1            = bits[34];
     EvolvedAtLevel1 = bits.GetInt(0, 35, 7);
     EvolvedAtLevel2 = bits.GetInt(0, 42, 7);
     IQ              = bits.GetInt(0, 49, 10);
     HP              = bits.GetInt(0, 59, 10);
     Attack          = bits.GetInt(0, 69, 8);
     SpAttack        = bits.GetInt(0, 77, 8);
     Defense         = bits.GetInt(0, 85, 8);
     SpDefense       = bits.GetInt(0, 93, 8);
     Exp             = bits.GetInt(0, 101, 24);
     IQMap           = bits.GetRange(125, 69);
     Tactic          = bits.GetInt(0, 194, 4);
     Attack1         = new ExplorersAttack(bits.GetRange(198, ExplorersAttack.BitLength));
     Attack2         = new ExplorersAttack(bits.GetRange(219, ExplorersAttack.BitLength));
     Attack3         = new ExplorersAttack(bits.GetRange(240, ExplorersAttack.BitLength));
     Attack4         = new ExplorersAttack(bits.GetRange(261, ExplorersAttack.BitLength));
     Name            = bits.GetStringPMD(0, 282, 10);
 }
 private void Initialize(BitBlock bits)
 {
     // Bit 0 is always 1 for some reason
     Level           = bits.GetInt(0, 1, 7);
     ID              = new ExplorersPokemonId(bits.GetInt(0, 8, 11));
     MetAt           = bits.GetInt(0, 19, 8);
     MetFloor        = bits.GetInt(0, 27, 7);
     Unk1            = bits[34];
     EvolvedAtLevel1 = bits.GetInt(0, 35, 7);
     EvolvedAtLevel2 = bits.GetInt(0, 42, 7);
     IQ              = bits.GetInt(0, 49, 10);
     HP              = bits.GetInt(0, 59, 10);
     Attack          = bits.GetInt(0, 69, 8);
     SpAttack        = bits.GetInt(0, 77, 8);
     Defense         = bits.GetInt(0, 85, 8);
     SpDefense       = bits.GetInt(0, 93, 8);
     Exp             = bits.GetInt(0, 101, 24);
     IQMap           = bits.GetRange(125, 92);
     Tactic          = bits.GetInt(0, 217, 4);
     Attack1         = new ExplorersAttack(bits.GetRange(221, ExplorersAttack.BitLength));
     Attack2         = new ExplorersAttack(bits.GetRange(242, ExplorersAttack.BitLength));
     Attack3         = new ExplorersAttack(bits.GetRange(263, ExplorersAttack.BitLength));
     Attack4         = new ExplorersAttack(bits.GetRange(284, ExplorersAttack.BitLength));
     Name            = bits.GetStringPMD(0, 305, 10);
     Unk2            = bits.GetRange(385, 3);
 }