コード例 #1
0
ファイル: Wild6.cs プロジェクト: beizhoubeizhou/3DSRNGTool
 public override void Markslots()
 {
     IV3          = new bool[SpecForm.Length];
     RandomGender = new bool[SpecForm.Length];
     Gender       = new byte[SpecForm.Length];
     for (int i = 0; i < SpecForm.Length; i++)
     {
         if (SpecForm[i] == 0)
         {
             if (i == 0)
             {
                 continue;
             }
             Gender[i]       = FuncUtil.getGenderRatio(BlankGenderRatio);
             RandomGender[i] = FuncUtil.IsRandomGender(BlankGenderRatio);
             continue;
         }
         PersonalInfo info        = PersonalTable.ORAS.getFormeEntry(SpecForm[i] & 0x7FF, SpecForm[i] >> 11);
         byte         genderratio = (byte)info.Gender;
         IV3[i]          = info.EggGroups[0] == 0xF;
         Gender[i]       = FuncUtil.getGenderRatio(genderratio);
         RandomGender[i] = FuncUtil.IsRandomGender(genderratio);
     }
     _PIDroll_count += ShinyCharm && !IsShinyLocked ? 3 : 1;
 }
コード例 #2
0
        public override void Markslots()
        {
            IV3          = new bool[SpecForm.Length];
            RandomGender = new bool[SpecForm.Length];
            Gender       = new byte[SpecForm.Length];
            var smslot = new int[0].ToList();

            if (SpecForm.Distinct().Count(t => t != 0) == 1)
            {
                SpecForm[0] = SpecForm[1];
            }
            for (int i = 0; i < SpecForm.Length; i++)
            {
                if (SpecForm[i] == 0)
                {
                    Gender[i]       = FuncUtil.getGenderRatio(BlankGenderRatio);
                    RandomGender[i] = FuncUtil.IsRandomGender(BlankGenderRatio);
                    continue;
                }
                PersonalInfo info        = PersonalTable.ORAS.getFormeEntry(SpecForm[i] & 0x7FF, SpecForm[i] >> 11);
                byte         genderratio = (byte)info.Gender;
                IV3[i]          = info.EggGroups[0] == 0xF && !(Pokemon.BabyMons.Contains(SpecForm[i] & 0x7FF) && IsORAS);
                Gender[i]       = FuncUtil.getGenderRatio(genderratio);
                RandomGender[i] = FuncUtil.IsRandomGender(genderratio);
                if (Static && info.Types.Contains(Pokemon.electric) || Magnet && info.Types.Contains(Pokemon.steel)) // Collect slots
                {
                    smslot.Add(i);
                }
            }
            StaticMagnetSlot = smslot.Select(s => (byte)s).ToArray();
            if (0 == (NStaticMagnetSlot = (ulong)smslot.Count))
            {
                Static = Magnet = false;
            }
            if (ModifiedLevel != 0)
            {
                ModifiedLevel = SlotLevel.Skip(1).Max();
            }
            _PIDroll_count += ShinyCharm && !IsShinyLocked ? 3 : 1;
        }
コード例 #3
0
ファイル: Wild7.cs プロジェクト: beizhoubeizhou/3DSRNGTool
 public override void Markslots()
 {
     IV3          = new bool[SpecForm.Length];
     RandomGender = new bool[SpecForm.Length];
     Gender       = new byte[SpecForm.Length];
     for (int i = 0; i < SpecForm.Length; i++)
     {
         if (SpecForm[i] == 0)
         {
             continue;
         }
         PersonalInfo info        = PersonalTable.USUM.getFormeEntry(SpecForm[i] & 0x7FF, SpecForm[i] >> 11);
         byte         genderratio = (byte)info.Gender;
         IV3[i]          = info.EggGroups[0] == 0xF && !Pokemon.BabyMons.Contains(SpecForm[i] & 0x7FF);
         Gender[i]       = FuncUtil.getGenderRatio(genderratio);
         RandomGender[i] = FuncUtil.IsRandomGender(genderratio);
     }
     if (UB)
     {
         IV3[0] = true;     // For UB Template
     }
 }
コード例 #4
0
        public override void Markslots()
        {
            IV3          = new bool[SpecForm.Length];
            RandomGender = new bool[SpecForm.Length];
            Gender       = new byte[SpecForm.Length];
            var smslot = new int[0].ToList();

            for (int i = 0; i < SpecForm.Length; i++)
            {
                if (SpecForm[i] == 0)
                {
                    continue;
                }
                PersonalInfo info        = PersonalTable.USUM.getFormeEntry(SpecForm[i] & 0x7FF, SpecForm[i] >> 11);
                byte         genderratio = (byte)info.Gender;
                IV3[i]          = info.EggGroups[0] == 0xF && !Pokemon.BabyMons.Contains(SpecForm[i] & 0x7FF);
                Gender[i]       = FuncUtil.getGenderRatio(genderratio);
                RandomGender[i] = FuncUtil.IsRandomGender(genderratio);
                if (Static && info.Types.Contains(Pokemon.electric) || Magnet && info.Types.Contains(Pokemon.steel)) // Collect slots
                {
                    smslot.Add(i);
                }
            }
            StaticMagnetSlot = smslot.Select(s => (byte)s).ToArray();
            if (0 == (NStaticMagnetSlot = (ulong)smslot.Count))
            {
                Static = Magnet = false;
            }
            if (ModifiedLevel == 101)
            {
                ModifiedLevel = Levelmax;
            }
            if (UB)
            {
                IV3[0] = true;     // For UB Template
            }
        }