Esempio n. 1
0
        private static void SetRandomIVs(PKM PKM, StringInstruction cmd)
        {
            int MaxIV = PKM.Format <= 2 ? 15 : 31;

            if (cmd.PropertyName == "IVs")
            {
                int[] IVs = new int[6];

                for (int i = 0; i < 6; i++)
                {
                    IVs[i] = (int)(Util.Rand32() & MaxIV);
                }
                if (Legal.Legends.Contains(PKM.Species) || Legal.SubLegends.Contains(PKM.Species))
                {
                    for (int i = 0; i < 3; i++)
                    {
                        IVs[i] = MaxIV;
                    }
                }

                Util.Shuffle(IVs);
                PKM.IVs = IVs;
            }
            else
            {
                ReflectFrameworkUtil.SetValue(PKM, cmd.PropertyName, Util.Rand32() & MaxIV);
            }
        }
Esempio n. 2
0
 private static void SetRandomIVs(PKM PKM, StringInstruction cmd)
 {
     if (cmd.PropertyName == nameof(PKM.IVs))
     {
         PKM.SetRandomIVs();
         return;
     }
     ReflectFrameworkUtil.SetValue(PKM, cmd.PropertyName, Util.Rand32() & PKM.MaxIV);
 }
Esempio n. 3
0
 private static void SetProperty(PKM PKM, StringInstruction cmd)
 {
     if (cmd.PropertyName == nameof(PKM.MetDate))
     {
         PKM.MetDate = DateTime.ParseExact(cmd.PropertyValue, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None);
     }
     else if (cmd.PropertyName == nameof(PKM.EggMetDate))
     {
         PKM.EggMetDate = DateTime.ParseExact(cmd.PropertyValue, "yyyyMMdd", CultureInfo.InvariantCulture, DateTimeStyles.None);
     }
     else if (cmd.PropertyName == nameof(PKM.EncryptionConstant) && cmd.PropertyValue == CONST_RAND)
     {
         ReflectFrameworkUtil.SetValue(PKM, cmd.PropertyName, Util.Rand32().ToString());
     }
     else if ((cmd.PropertyName == nameof(PKM.Ability) || cmd.PropertyName == nameof(PKM.AbilityNumber)) && cmd.PropertyValue.StartsWith("$"))
     {
         PKM.RefreshAbility(Convert.ToInt16(cmd.PropertyValue[1]) - 0x30);
     }
     else if (cmd.PropertyName == nameof(PKM.PID) && cmd.PropertyValue == CONST_RAND)
     {
         PKM.SetPIDGender(PKM.Gender);
     }
     else if (cmd.PropertyName == nameof(PKM.EncryptionConstant) && cmd.PropertyValue == nameof(PKM.PID))
     {
         PKM.EncryptionConstant = PKM.PID;
     }
     else if (cmd.PropertyName == nameof(PKM.PID) && cmd.PropertyValue == CONST_SHINY)
     {
         PKM.SetShinyPID();
     }
     else if (cmd.PropertyName == nameof(PKM.Species) && cmd.PropertyValue == "0")
     {
         PKM.Data = new byte[PKM.Data.Length];
     }
     else if (cmd.PropertyName.StartsWith("IV") && cmd.PropertyValue == CONST_RAND)
     {
         SetRandomIVs(PKM, cmd);
     }
     else if (cmd.Random)
     {
         ReflectFrameworkUtil.SetValue(PKM, cmd.PropertyName, cmd.RandomValue);
     }
     else if (cmd.PropertyName == nameof(PKM.IsNicknamed) && cmd.PropertyValue.ToLower() == "false")
     {
         PKM.IsNicknamed = false; PKM.Nickname = PKX.GetSpeciesName(PKM.Species, PKM.Language);
     }
     else
     {
         ReflectFrameworkUtil.SetValue(PKM, cmd.PropertyName, cmd.PropertyValue);
     }
 }