Ejemplo n.º 1
0
 public MonsterInfo( byte[] source, uint index, uint offset )
 {
     HP = source[offset];
     Attack = source[offset + 1];
     Defense = source[offset + 2];
     Speed = source[offset + 3];
     SpAttack = source[offset + 4];
     SpDefense = source[offset + 5];
     Type1 = (MonsterType) source[offset + 6];
     Type2 = (MonsterType) source[offset + 7];
     CatchRate = source[offset + 8];
     BaseXpYield = source[offset + 9];
     EffortYield = (uint) ( source[offset + 10] | ( source[offset + 11] << 8 ) );
     Item1 = (uint) ( source[offset + 12] | ( source[offset + 13] << 8 ) );
     Item2 = (uint) ( source[offset + 14] | ( source[offset + 15] << 8 ) );
     Gender = source[offset + 16];
     StepsToHatch = source[offset + 17];
     BaseFriendship = source[offset + 18];
     LevelUpType = (ExperienceRate) source[offset + 19];
     EggGroup1 = source[offset + 20];
     EggGroup2 = source[offset + 21];
     Ability1 = source[offset + 22];
     Ability2 = source[offset + 23];
     SafariRate = source[offset + 24];
     Color = source[offset + 25];
     Name = NameList.Get( index );
 }
Ejemplo n.º 2
0
        public static uint CalculatedLevel( ExperienceRate rate, uint exp )
        {
            for( uint i = 100; i >= 1; i-- )
            {
                if( BigEnoughForLevel( LookupTable[rate], exp, i ) )
                    return i;
            }

            return 1;
        }
Ejemplo n.º 3
0
 void TestCalculations( ExperienceRate rate, uint[] levels )
 {
     var length = levels.Last() + 1000;
     int e = 1;
     for( uint i = 0; i < length; i++ )
     {
         if( levels.Any( ll => i == ll ) )
             e++;
         Assert.AreEqual( e, LevelLookup.CalculatedLevel( rate, i ) );
     }
 }