Beispiel #1
0
        protected override void Save(BinaryWriter writer)
        {
            writer.Write((ushort)SpeciesID);
            writer.Write((ushort)HeldItemID);

            ushort[] moveset = GetArrayFromMoves(Moves);
            for (int i = 0; i < 4; i++)
            {
                writer.Write(moveset[i]);
            }

            writer.Write(TrainerID);
            writer.Write(Personality);
            writer.Write(IVs.ToInt32() | (int)IvFlags);
            writer.Write(EVs.ToArray(), 0, 6);
            writer.Write(GetPpUpsFromMoves(Moves));
            writer.Write((byte)Language);
            writer.Write((byte)AbilityID);
            writer.Write(Happiness);
            writer.Write(NicknameEncoded.RawData, 0, 22);

            writer.Flush();
        }
Beispiel #2
0
        public BattleSubwayPokemon5 Clone()
        {
            uint ivsField = (uint)(IVs.ToInt32() & 0x3fffffffu) | (IvFlags & 0xc0000000u);

            ushort[] moveset = GetArrayFromMoves(Moves);
            byte     ppUps   = GetPpUpsFromMoves(Moves);

            BattleSubwayPokemon5 result = new BattleSubwayPokemon5(m_pokedex,
                                                                   (ushort)SpeciesID, (ushort)HeldItemID, moveset,
                                                                   TrainerID, Personality, ivsField, EVs.ToArray(), ppUps,
                                                                   Language, (byte)AbilityID, Happiness, NicknameEncoded, Unknown2);

            return(result);
        }
Beispiel #3
0
 public Pokemon Clone()
 {
     return(new Pokemon(Base, Gender, Nature, Ability, IVs.Clone() as IVSet, EVs.Clone() as EVSet, Moves.Clone(), Level));
 }