예제 #1
0
 public EvolutionSet7(byte[] data)
 {
     if (data.Length != SIZE)
     {
         return;
     }
     PossibleEvolutions = new EvolutionMethod[ENTRY_COUNT];
     for (int i = 0; i < data.Length; i += ENTRY_SIZE)
     {
         PossibleEvolutions[i / ENTRY_SIZE] = new EvolutionMethod
         {
             Method   = BitConverter.ToUInt16(data, i + 0),
             Argument = BitConverter.ToUInt16(data, i + 2),
             Species  = BitConverter.ToUInt16(data, i + 4),
             Form     = (sbyte)data[i + 6],
             Level    = data[i + 7],
         };
     }
 }
예제 #2
0
        public EvolutionSet6(byte[] data)
        {
            if (data.Length != SIZE)
            {
                return;
            }
            //int[] argEvos = { 6, 8, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34 };
            PossibleEvolutions = new EvolutionMethod[ENTRY_COUNT];
            for (int i = 0; i < data.Length; i += ENTRY_SIZE)
            {
                PossibleEvolutions[i / ENTRY_SIZE] = new EvolutionMethod
                {
                    Method   = BitConverter.ToUInt16(data, i + 0),
                    Argument = BitConverter.ToUInt16(data, i + 2),
                    Species  = BitConverter.ToUInt16(data, i + 4),
                    // Copy
                    //Level = BitConverter.ToUInt16(data, i + 2),
                };

                // Argument is used by both Level argument and Item/Move/etc. Clear if appropriate.
                //if (argEvos.Contains(PossibleEvolutions[i / SIZE].Method))
                //    PossibleEvolutions[i / SIZE].Level = 0;
            }
        }