Пример #1
0
        public BitBlock GetActivePokemonBits()
        {
            var bits = new BitBlock(BitLength);

            bits[0] = IsValid;
            bits.SetRange(1, 4, Unk1);
            bits.SetInt(0, 5, 7, Level);
            bits.SetInt(0, 12, 8, MetAt);
            bits.SetInt(0, 20, 7, MetFloor);
            bits[27] = Unk2;
            bits.SetInt(0, 28, 10, IQ);
            bits.SetInt(0, 38, 10, RosterNumber);
            bits.SetRange(48, 22, Unk3);
            bits.SetInt(0, 70, 11, ID.ID);
            bits.SetInt(0, 81, 10, CurrentHP);
            bits.SetInt(0, 91, 10, MaxHP);
            bits.SetInt(0, 101, 8, Attack);
            bits.SetInt(0, 109, 8, SpAttack);
            bits.SetInt(0, 117, 8, Defense);
            bits.SetInt(0, 125, 8, SpDefense);
            bits.SetInt(0, 133, 24, Exp);
            bits.SetRange(157, ExplorersActiveAttack.BitLength, Attack1.ToBitBlock());
            bits.SetRange(186, ExplorersActiveAttack.BitLength, Attack2.ToBitBlock());
            bits.SetRange(215, ExplorersActiveAttack.BitLength, Attack3.ToBitBlock());
            bits.SetRange(244, ExplorersActiveAttack.BitLength, Attack4.ToBitBlock());
            bits.SetRange(273, 105, Unk4);
            bits.SetRange(378, 69, IQMap);
            bits.SetInt(0, 447, 4, Tactic);
            bits.SetRange(451, 15, Unk5);
            bits.SetStringPMD(0, 466, 10, Name);
            return(bits);
        }
        public BitBlock GetStoredPokemonBits()
        {
            var bits = new BitBlock(BitLength);

            bits[0] = IsValid;
            bits.SetInt(0, 1, 7, Level);
            bits.SetInt(0, 8, 11, ID.RawID);
            bits.SetInt(0, 19, 8, MetAt);
            bits.SetInt(0, 27, 7, MetFloor);
            bits[34] = Unk1;
            bits.SetInt(0, 35, 7, EvolvedAtLevel1);
            bits.SetInt(0, 42, 7, EvolvedAtLevel2);
            bits.SetInt(0, 49, 10, IQ);
            bits.SetInt(0, 59, 10, HP);
            bits.SetInt(0, 69, 8, Attack);
            bits.SetInt(0, 77, 8, SpAttack);
            bits.SetInt(0, 85, 8, Defense);
            bits.SetInt(0, 93, 8, SpDefense);
            bits.SetInt(0, 101, 24, Exp);
            bits.SetRange(125, 69, IQMap);
            bits.SetInt(0, 194, 4, Tactic);
            bits.SetRange(198, ExplorersAttack.BitLength, Attack1.ToBitBlock());
            bits.SetRange(219, ExplorersAttack.BitLength, Attack2.ToBitBlock());
            bits.SetRange(240, ExplorersAttack.BitLength, Attack3.ToBitBlock());
            bits.SetRange(261, ExplorersAttack.BitLength, Attack4.ToBitBlock());
            bits.SetStringPMD(0, 282, 10, Name);
            return(bits);
        }
        public BitBlock GetStoredPokemonBits()
        {
            var bits = new BitBlock(BitLength);

            // Bit 0 is always 1 for some reason
            bits[0] = true;
            bits.SetInt(0, 1, 7, Level);
            bits.SetInt(0, 8, 11, ID.RawID);
            bits.SetInt(0, 19, 8, MetAt);
            bits.SetInt(0, 27, 7, MetFloor);
            bits[34] = Unk1;
            bits.SetInt(0, 35, 7, EvolvedAtLevel1);
            bits.SetInt(0, 42, 7, EvolvedAtLevel2);
            bits.SetInt(0, 49, 10, IQ);
            bits.SetInt(0, 59, 10, HP);
            bits.SetInt(0, 69, 8, Attack);
            bits.SetInt(0, 77, 8, SpAttack);
            bits.SetInt(0, 85, 8, Defense);
            bits.SetInt(0, 93, 8, SpDefense);
            bits.SetInt(0, 101, 24, Exp);
            bits.SetRange(125, 92, IQMap);
            bits.SetInt(0, 217, 4, Tactic);
            bits.SetRange(221, ExplorersAttack.BitLength, Attack1.ToBitBlock());
            bits.SetRange(242, ExplorersAttack.BitLength, Attack2.ToBitBlock());
            bits.SetRange(263, ExplorersAttack.BitLength, Attack3.ToBitBlock());
            bits.SetRange(284, ExplorersAttack.BitLength, Attack4.ToBitBlock());
            bits.SetStringPMD(0, 305, 10, Name);
            bits.SetRange(385, 2, Unk2);
            return(bits);
        }
Пример #4
0
        public BitBlock GetStoredPokemonBits()
        {
            var bits = new BitBlock(BitLength);

            bits.SetInt(0, 0, 7, Level);
            bits.SetInt(0, 7, 9, ID);
            bits.SetInt(0, 16, 7, MetAt);
            bits.SetRange(23, 21, Unk1);
            bits.SetInt(0, 44, 10, IQ);
            bits.SetInt(0, 54, 10, HP);
            bits.SetInt(0, 64, 8, Attack);
            bits.SetInt(0, 72, 8, SpAttack);
            bits.SetInt(0, 80, 8, Defense);
            bits.SetInt(0, 88, 8, SpDefense);
            bits.SetInt(0, 96, 24, Exp);
            bits.SetRange(120, 43, Unk2);
            bits.SetRange(163, RBAttack.BitLength, Attack1.ToBitBlock());
            bits.SetRange(183, RBAttack.BitLength, Attack2.ToBitBlock());
            bits.SetRange(203, RBAttack.BitLength, Attack3.ToBitBlock());
            bits.SetRange(223, RBAttack.BitLength, Attack4.ToBitBlock());
            bits.SetStringPMD(0, 243, 10, Name);
            return(bits);
        }
        public BitBlock GetQuicksavePokemonBits()
        {
            var bits = new BitBlock(BitLength);

            bits.SetRange(0, 80, Unk1);
            bits.SetInt(0, 80, 16, TransformedID.ID);
            bits.SetInt(0, 96, 16, ID.ID);
            bits.SetRange(112, 48, Unk2);
            bits.SetInt(0, 144, 8, Level);
            bits.SetRange(152, 48, Unk3);
            bits.SetInt(0, 192, 16, CurrentHP);
            bits.SetInt(0, 208, 16, MaxHP);
            bits.SetRange(240, 32, Unk4);
            bits.SetInt(0, 256, 8, Attack);
            bits.SetInt(0, 264, 8, Defense);
            bits.SetInt(0, 272, 8, SpAttack);
            bits.SetInt(0, 280, 8, SpDefense);
            bits.SetInt(0, 288, 32, Exp);
            bits.SetRange(320, 2408, Unk5);
            bits.SetRange(2696 + 0 * SkyQuicksaveAttack.BitLength, SkyQuicksaveAttack.BitLength, Attack1.ToBitBlock());
            bits.SetRange(2696 + 1 * SkyQuicksaveAttack.BitLength, SkyQuicksaveAttack.BitLength, Attack2.ToBitBlock());
            bits.SetRange(2696 + 2 * SkyQuicksaveAttack.BitLength, SkyQuicksaveAttack.BitLength, Attack3.ToBitBlock());
            bits.SetRange(2696 + 3 * SkyQuicksaveAttack.BitLength, SkyQuicksaveAttack.BitLength, Attack4.ToBitBlock());
            bits.SetRange(2840, 592, Unk6);
            return(bits);
        }