mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-05-06 13:40:50 -05:00
hashset contains over array contains
faster++, reduces some linq ToArray() allocations
This commit is contained in:
parent
3552e6396c
commit
593f31ff02
|
|
@ -1085,10 +1085,11 @@ private void VerifyAbilityMG456(int[] abilities, int cardtype)
|
|||
AddLine(Severity.Invalid, V110, CheckIdentifier.Ability);
|
||||
}
|
||||
#region VerifyBall
|
||||
private void VerifyBallEquals(params int[] balls)
|
||||
private void VerifyBallEquals(int ball) => AddBallLine(ball == pkm.Ball);
|
||||
private void VerifyBallEquals(ICollection<int> balls) => AddBallLine(balls.Contains(pkm.Ball));
|
||||
private void AddBallLine(bool valid)
|
||||
{
|
||||
int ball = pkm.Ball;
|
||||
if (balls.Any(b => b == ball))
|
||||
if (valid)
|
||||
AddLine(Severity.Valid, V119, CheckIdentifier.Ball);
|
||||
else
|
||||
AddLine(Severity.Invalid, V118, CheckIdentifier.Ball);
|
||||
|
|
|
|||
|
|
@ -1027,7 +1027,7 @@ internal static IEnumerable<int> GetLineage(PKM pkm)
|
|||
var lineage = table.GetValidPreEvolutions(pkm, maxLevel: pkm.CurrentLevel);
|
||||
return lineage.Select(evolution => evolution.Species);
|
||||
}
|
||||
internal static int[] GetWildBalls(PKM pkm)
|
||||
internal static ICollection<int> GetWildBalls(PKM pkm)
|
||||
{
|
||||
switch (pkm.GenNumber)
|
||||
{
|
||||
|
|
@ -1051,22 +1051,22 @@ internal static int[] GetWildBalls(PKM pkm)
|
|||
}
|
||||
}
|
||||
internal static int GetEggHatchLevel(PKM pkm) => pkm.Format <= 3 ? 5 : 1;
|
||||
internal static int[] GetSplitBreedGeneration(PKM pkm)
|
||||
internal static ICollection<int> GetSplitBreedGeneration(PKM pkm)
|
||||
{
|
||||
return GetSplitBreedGeneration(pkm.GenNumber);
|
||||
}
|
||||
private static int[] GetSplitBreedGeneration(int generation)
|
||||
private static ICollection<int> GetSplitBreedGeneration(int generation)
|
||||
{
|
||||
switch (generation)
|
||||
{
|
||||
case 1: return new int[0];
|
||||
case 2: return new int[0];
|
||||
case 1: return Empty;
|
||||
case 2: return Empty;
|
||||
case 3: return SplitBreed_3;
|
||||
case 4: return SplitBreed;
|
||||
case 5: return SplitBreed;
|
||||
case 6: return SplitBreed;
|
||||
case 7: return SplitBreed;
|
||||
default: return new int[0];
|
||||
default: return Empty;
|
||||
}
|
||||
}
|
||||
internal static int GetMaxSpeciesOrigin(PKM pkm)
|
||||
|
|
|
|||
|
|
@ -579,7 +579,7 @@ private static IEnumerable<EncounterSlot> GetValidFriendSafari(PKM pkm)
|
|||
yield break;
|
||||
|
||||
IEnumerable<DexLevel> vs = GetValidPreEvolutions(pkm);
|
||||
foreach (DexLevel d in vs.Where(d => FriendSafari.Contains(d.Species) && d.Level >= 30))
|
||||
foreach (DexLevel d in vs.Where(d => d.Level >= 30 && FriendSafari.Contains(d.Species)))
|
||||
{
|
||||
yield return new EncounterSlot
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using static PKHeX.Core.LegalityCheckStrings;
|
||||
|
||||
|
|
@ -224,7 +225,7 @@ private static CheckResult VerifyEncounterEgg7(PKM pkm)
|
|||
// no other games
|
||||
return new CheckResult(Severity.Invalid, V51, CheckIdentifier.Encounter);
|
||||
}
|
||||
private static CheckResult VerifyEncounterEggLevelLoc(PKM pkm, int eggLevel, int[] MetLocations)
|
||||
private static CheckResult VerifyEncounterEggLevelLoc(PKM pkm, int eggLevel, ICollection<int> MetLocations)
|
||||
{
|
||||
if (pkm.Met_Level != eggLevel)
|
||||
return new CheckResult(Severity.Invalid, string.Format(V52, eggLevel), CheckIdentifier.Encounter);
|
||||
|
|
|
|||
|
|
@ -632,7 +632,7 @@ private static void GetHMCompatibility(PKM pkm, int[] moves, int gen, IReadOnlyL
|
|||
if (gen == 3 && pkm.Format > 3)
|
||||
IsHMSource(ref HMLearned, Legal.HM_3);
|
||||
|
||||
void IsHMSource(ref bool[] flags, int[] source)
|
||||
void IsHMSource(ref bool[] flags, ICollection<int> source)
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
flags[i] = IsCheckInvalid(res[i]) && source.Contains(moves[i]);
|
||||
|
|
|
|||
|
|
@ -5,29 +5,24 @@ namespace PKHeX.Core
|
|||
{
|
||||
public static partial class Legal
|
||||
{
|
||||
public static readonly HashSet<int> Empty = new HashSet<int>();
|
||||
public static readonly int[] Items_Ball =
|
||||
{
|
||||
000, 001, 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012,
|
||||
013, 014, 015, 016, 492, 493, 494, 495, 496, 497, 498, 499, 576,
|
||||
851
|
||||
};
|
||||
public static readonly int[] Items_CommonBall = { 4, 3, 2, 1 };
|
||||
public static readonly int[] Items_UncommonBall =
|
||||
{
|
||||
7, 576, 13, 492, 497, 14, 495, 493, 496, 494, 11, 498, 8, 6,
|
||||
12, 15, 9, 5, 499, 10, 16
|
||||
};
|
||||
public static readonly int[] Gen4EncounterTypes = { 1, 2, 4, 5, 7, 9, 10, 12, 23, 24 };
|
||||
public static readonly int[] LightBall = { 25, 26, 172 };
|
||||
public static readonly HashSet<int> LightBall = new HashSet<int> { 25, 26, 172 };
|
||||
public static readonly int[] Fossils = { 138, 140, 142, 345, 347, 408, 410, 564, 566, 696, 698 };
|
||||
public static readonly int[] RotomMoves = { 0, 315, 056, 059, 403, 437 };
|
||||
public static readonly int[] WildForms =
|
||||
public static readonly HashSet<int> WildForms = new HashSet<int>
|
||||
{
|
||||
422, 423, // Shellos
|
||||
550, // Basculin
|
||||
669, 670, 671 // Flabébé
|
||||
};
|
||||
public static readonly int[] SplitBreed =
|
||||
public static readonly HashSet<int> SplitBreed = new HashSet<int>
|
||||
{
|
||||
// Incense
|
||||
113, 242, // Chansey
|
||||
|
|
@ -40,7 +35,7 @@ public static partial class Legal
|
|||
315, 407, // Roselia
|
||||
358, // Chimecho
|
||||
};
|
||||
public static readonly int[] FormChange = // Pokémon that can change form and retain it
|
||||
public static readonly HashSet<int> FormChange = new HashSet<int> // Pokémon that can change form and retain it
|
||||
{
|
||||
386, // Deoxys
|
||||
412, // Burmy
|
||||
|
|
@ -60,14 +55,14 @@ public static partial class Legal
|
|||
741, // Oricorio
|
||||
773, // Silvally
|
||||
};
|
||||
public static readonly int[] FormChangeMoves =
|
||||
public static readonly HashSet<int> FormChangeMoves = new HashSet<int>
|
||||
{
|
||||
386, // Deoxys
|
||||
487, // Giratina
|
||||
492, // Shaymin
|
||||
720, // Hoopa
|
||||
};
|
||||
public static readonly int[] BreedMaleOnly =
|
||||
public static readonly HashSet<int> BreedMaleOnly = new HashSet<int>
|
||||
{
|
||||
128, // Tauros
|
||||
627, 628, // Rufflet
|
||||
|
|
@ -75,7 +70,7 @@ public static partial class Legal
|
|||
538, 539, // Sawk & Throh
|
||||
};
|
||||
|
||||
public static readonly int[] NoHatchFromEgg =
|
||||
public static readonly HashSet<int> NoHatchFromEgg = new HashSet<int>
|
||||
{
|
||||
132, // Ditto
|
||||
144, // Articuno
|
||||
|
|
@ -202,7 +197,7 @@ public static partial class Legal
|
|||
802, // Marshadow
|
||||
};
|
||||
|
||||
public static readonly int[] BattleForms =
|
||||
public static readonly HashSet<int> BattleForms = new HashSet<int>
|
||||
{
|
||||
351, // Castform
|
||||
421, // Cherrim
|
||||
|
|
@ -213,7 +208,7 @@ public static partial class Legal
|
|||
746, // Wishiwashi
|
||||
778, // Mimikyu
|
||||
};
|
||||
public static readonly int[] BattleMegas =
|
||||
public static readonly HashSet<int> BattleMegas = new HashSet<int>
|
||||
{
|
||||
// XY
|
||||
3,6,9,65,80,
|
||||
|
|
@ -230,24 +225,24 @@ public static partial class Legal
|
|||
531,
|
||||
719
|
||||
};
|
||||
public static readonly int[] BattlePrimals = { 382, 383 };
|
||||
public static readonly HashSet<int> BattlePrimals = new HashSet<int> { 382, 383 };
|
||||
|
||||
public static readonly int[] Z_Moves =
|
||||
public static readonly HashSet<int> Z_Moves = new HashSet<int>
|
||||
{
|
||||
622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658,
|
||||
695, 696, 697, 698, 699, 700, 701, 702, 703,
|
||||
719,
|
||||
};
|
||||
internal static readonly int[] InvalidSketch = new[] { 165, 448 }.Concat(Z_Moves).ToArray(); // Struggle & Chatter
|
||||
internal static readonly HashSet<int> InvalidSketch = new HashSet<int>(new[] { 165, 448 }.Concat(Z_Moves)); // Struggle & Chatter
|
||||
|
||||
public static readonly int[] Legends =
|
||||
public static readonly HashSet<int> Legends = new HashSet<int>
|
||||
{
|
||||
150, 151, 249, 250, 251, 382, 383, 384, 385, 386, 483,
|
||||
484, 487, 489, 490, 491, 492, 493, 494, 643, 644, 646,
|
||||
647, 648, 649, 716, 717, 718, 719, 720, 721, 789, 790,
|
||||
791, 792, 800, 801, 802
|
||||
};
|
||||
public static readonly int[] SubLegends =
|
||||
public static readonly HashSet<int> SubLegends = new HashSet<int>
|
||||
{
|
||||
144, 145, 146, 243, 244, 245, 377, 378, 379, 380, 381,
|
||||
480, 481, 482, 485, 486, 488, 638, 639, 640, 641, 642,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
|
|
@ -9,14 +10,22 @@ public static partial class Legal
|
|||
internal const int MaxItemID_1 = 255;
|
||||
internal const int MaxAbilityID_1 = 0;
|
||||
|
||||
internal static readonly ushort[] Pouch_Items_RBY = Enumerable.Range(0, 7) // 0-6
|
||||
.Concat(Enumerable.Range(10, 11)) // 10-20
|
||||
.Concat(Enumerable.Range(29, 15)) // 29-43
|
||||
.Concat(Enumerable.Range(45, 5)) // 45-49
|
||||
.Concat(Enumerable.Range(51, 8)) // 51-58
|
||||
.Concat(Enumerable.Range(60, 24)) // 60-83
|
||||
.Concat(Enumerable.Range(196, 55)) // 196-250
|
||||
.Select(i => (ushort)i).ToArray();
|
||||
internal static readonly ushort[] Pouch_Items_RBY =
|
||||
{
|
||||
000,001,002,003,004,005,006, 010,011,012,013,014,015,
|
||||
016,017,018,019,020, 029,030,031,
|
||||
032,033,034,035,036,037,038,039,040,041,042,043, 045,046,047,
|
||||
048,049, 051,052,053,054,055,056,057,058, 060,061,062,063,
|
||||
064,065,066,067,068,069,070,071,072,073,074,075,076,077,078,079,
|
||||
080,081,082,083,
|
||||
|
||||
// ...
|
||||
|
||||
196,197,198,199,200,201,202,203,204,205,206,207,
|
||||
208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
|
||||
224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
|
||||
240,241,242,243,244,245,246,247,248,249,250,
|
||||
};
|
||||
|
||||
internal static readonly int[] MovePP_RBY =
|
||||
{
|
||||
|
|
@ -29,7 +38,7 @@ public static partial class Legal
|
|||
00, 00, 00, 00, 00, 00
|
||||
};
|
||||
|
||||
internal static readonly int[] TransferSpeciesDefaultAbility_1 = {92, 93, 94, 109, 110, 151};
|
||||
internal static readonly HashSet<int> TransferSpeciesDefaultAbility_1 = new HashSet<int> {92, 93, 94, 109, 110, 151};
|
||||
|
||||
internal static readonly int[] TMHM_RBY =
|
||||
{
|
||||
|
|
@ -50,25 +59,25 @@ public static partial class Legal
|
|||
|
||||
internal static readonly int[] WildPokeBalls1 = {4};
|
||||
|
||||
internal static readonly int[] FutureEvolutionsGen1 =
|
||||
internal static readonly HashSet<int> FutureEvolutionsGen1 = new HashSet<int>
|
||||
{
|
||||
169,182,186,196,197,199,208,212,230,233,242,462,463,464,465,466,467,470,471,474,700
|
||||
};
|
||||
|
||||
internal static readonly int[] FutureEvolutionsGen1_Gen2LevelUp =
|
||||
internal static readonly HashSet<int> FutureEvolutionsGen1_Gen2LevelUp = new HashSet<int>
|
||||
{
|
||||
// Crobat Espeon Umbreon Blissey
|
||||
169,196,197,242
|
||||
};
|
||||
internal static readonly int[] SpecialMinMoveSlots =
|
||||
internal static readonly HashSet<int> SpecialMinMoveSlots = new HashSet<int>
|
||||
{
|
||||
25, 26, 29, 30, 31, 32, 33, 34, 36, 38, 40, 59, 91, 103, 114, 121,
|
||||
};
|
||||
internal static readonly int[] Types_Gen1 =
|
||||
internal static readonly HashSet<int> Types_Gen1 = new HashSet<int>
|
||||
{
|
||||
0, 1, 2, 3, 4, 5, 7, 8, 20, 21, 22, 23, 24, 25, 26
|
||||
};
|
||||
internal static readonly int[] Species_NotAvailable_CatchRate =
|
||||
internal static readonly HashSet<int> Species_NotAvailable_CatchRate = new HashSet<int>
|
||||
{
|
||||
12, 18, 31, 34, 36, 38, 45, 53, 59, 62, 65, 68, 71, 78, 91, 103, 121
|
||||
};
|
||||
|
|
@ -77,7 +86,7 @@ public static partial class Legal
|
|||
167, // Normal Box
|
||||
168, // Gorgeous Box
|
||||
};
|
||||
internal static readonly int[] Stadium_GiftSpecies =
|
||||
internal static readonly HashSet<int> Stadium_GiftSpecies = new HashSet<int>
|
||||
{
|
||||
001, // Bulbasaur
|
||||
004, // Charmander
|
||||
|
|
@ -89,7 +98,7 @@ public static partial class Legal
|
|||
138, // Omanyte
|
||||
140, // Kabuto
|
||||
};
|
||||
internal static readonly int[] Trade_Evolution1 =
|
||||
internal static readonly HashSet<int> Trade_Evolution1 = new HashSet<int>
|
||||
{
|
||||
064,
|
||||
067,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
|
|
@ -48,7 +49,7 @@ public static partial class Legal
|
|||
internal static readonly int[] Tutors_GSC = {53, 85, 58}; // Flamethrower, Thunderbolt & Ice Beam
|
||||
internal static readonly int[] WildPokeBalls2 = { 4 };
|
||||
|
||||
internal static readonly int[] FutureEvolutionsGen2 =
|
||||
internal static readonly HashSet<int> FutureEvolutionsGen2 = new HashSet<int>
|
||||
{
|
||||
424,429,430,461,462,463,464,465,466,467,468,469,470,471,472,473,474,700
|
||||
};
|
||||
|
|
@ -57,6 +58,6 @@ public static partial class Legal
|
|||
// todo
|
||||
};
|
||||
internal static readonly bool[] ReleasedHeldItems_2 = Enumerable.Range(0, MaxItemID_2+1).Select(i => HeldItems_GSC.Contains((ushort)i) && !UnreleasedItems_2.Contains(i)).ToArray();
|
||||
internal static readonly int[] TransferSpeciesDefaultAbility_2 = {92, 93, 94, 109, 110, 151, 200, 201, 247, 251}; // todo VC2: 247 (pupitar)
|
||||
internal static readonly HashSet<int> TransferSpeciesDefaultAbility_2 = new HashSet<int> { 92, 93, 94, 109, 110, 151, 200, 201, 247, 251}; // todo VC2: 247 (pupitar)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
|
|
@ -11,7 +12,7 @@ public static partial class Legal
|
|||
internal const int MaxAbilityID_3 = 77;
|
||||
internal const int MaxBallID_3 = 0xC;
|
||||
|
||||
public static readonly int[] SplitBreed_3 =
|
||||
public static readonly HashSet<int> SplitBreed_3 = new HashSet<int>
|
||||
{
|
||||
// Incense
|
||||
183, 184, // Marill
|
||||
|
|
@ -89,25 +90,25 @@ public static partial class Legal
|
|||
580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
|
||||
590, 591, 592, 593
|
||||
};
|
||||
internal static readonly int[] WildPokeBalls3 = {1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12};
|
||||
internal static readonly HashSet<int> WildPokeBalls3 = new HashSet<int> { 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12};
|
||||
|
||||
internal static readonly int[] FutureEvolutionsGen3 =
|
||||
internal static readonly HashSet<int> FutureEvolutionsGen3 = new HashSet<int>
|
||||
{
|
||||
407,424,429,430,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,700
|
||||
};
|
||||
|
||||
internal static readonly int[] FutureEvolutionsGen3_LevelUpGen4 =
|
||||
internal static readonly HashSet<int> FutureEvolutionsGen3_LevelUpGen4 = new HashSet<int>
|
||||
{
|
||||
// Ambipom Weavile Magnezone Lickilicky Tangrowth
|
||||
// Yanmega Leafeon Glaceon Mamoswine Gliscor Probopass
|
||||
424, 461, 462, 463, 465, 469, 470, 471, 472, 473, 476
|
||||
};
|
||||
// Ambipom Weavile Magnezone Lickilicky Tangrowth
|
||||
// Yanmega Leafeon Glaceon Mamoswine Gliscor Probopass
|
||||
internal static readonly int[] UnreleasedItems_3 =
|
||||
{
|
||||
005, // Safari Ball
|
||||
};
|
||||
internal static readonly bool[] ReleasedHeldItems_3 = Enumerable.Range(0, MaxItemID_3+1).Select(i => HeldItems_RS.Contains((ushort)i) && !UnreleasedItems_3.Contains(i)).ToArray();
|
||||
internal static readonly string[] EReaderBerriesNames_USA =
|
||||
internal static readonly HashSet<string> EReaderBerriesNames_USA = new HashSet<string>
|
||||
{
|
||||
// USA Series 1
|
||||
"PUMKIN",
|
||||
|
|
@ -117,7 +118,7 @@ public static partial class Legal
|
|||
"CHILAN",
|
||||
"NUTPEA",
|
||||
};
|
||||
internal static readonly string[] EReaderBerriesNames_JP =
|
||||
internal static readonly HashSet<string> EReaderBerriesNames_JP = new HashSet<string>
|
||||
{
|
||||
// JP Series 1
|
||||
"カチャ", // PUMKIN
|
||||
|
|
@ -143,7 +144,7 @@ public static partial class Legal
|
|||
280, 104, 115, 351, 053, 188, 201, 126, 317, 332,
|
||||
259, 263, 290, 156, 213, 168, 211, 285, 289, 315,
|
||||
};
|
||||
internal static readonly int[] HM_3 = {15, 19, 57, 70, 148, 249, 127, 291};
|
||||
internal static readonly HashSet<int> HM_3 = new HashSet<int> { 15, 19, 57, 70, 148, 249, 127, 291};
|
||||
internal static readonly int[] TypeTutor3 = {338, 307, 308};
|
||||
internal static readonly int[] Tutor_3Mew =
|
||||
{
|
||||
|
|
@ -234,7 +235,7 @@ public static partial class Legal
|
|||
};
|
||||
// 064 is an unused location for metor falls
|
||||
// 084 is Inside of a truck, no possible pokemon can be hatched there
|
||||
internal static readonly int[] ValidMet_RS =
|
||||
internal static readonly HashSet<int> ValidMet_RS = new HashSet<int>
|
||||
{
|
||||
000, 001, 002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019,
|
||||
020, 021, 022, 023, 024, 025, 026, 027, 028, 029, 030, 031, 032, 033, 034, 035, 036, 037, 038, 039,
|
||||
|
|
@ -244,7 +245,7 @@ public static partial class Legal
|
|||
};
|
||||
// 155 - 158 Sevii Isle 6-9 Unused
|
||||
// 171 - 173 Sevii Isle 22-24 Unused
|
||||
internal static readonly int[] ValidMet_FRLG =
|
||||
internal static readonly HashSet<int> ValidMet_FRLG = new HashSet<int>
|
||||
{
|
||||
087, 088, 089, 090, 091, 092, 093, 094, 095, 096, 097, 098, 099,
|
||||
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
|
||||
|
|
@ -253,9 +254,9 @@ public static partial class Legal
|
|||
164, 165, 166, 167, 168, 169, 170, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
|
||||
187, 188, 189, 190, 191, 192, 193, 194, 195, 196
|
||||
};
|
||||
internal static readonly int[] ValidMet_E = ValidMet_RS.Concat(new[]
|
||||
internal static readonly HashSet<int> ValidMet_E = new HashSet<int>(ValidMet_RS.Concat(new[]
|
||||
{
|
||||
196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
|
||||
}).ToArray();
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
|
|
@ -120,18 +121,18 @@ public static partial class Legal
|
|||
430, 433,
|
||||
};
|
||||
|
||||
internal static readonly int[] HM_HGSS =
|
||||
internal static readonly HashSet<int> HM_HGSS = new HashSet<int>
|
||||
{
|
||||
015, 019, 057, 070, 250, 249, 127, 431 // Whirlpool(HGSS)
|
||||
};
|
||||
|
||||
internal static readonly int[] HM_DPPt =
|
||||
internal static readonly HashSet<int> HM_DPPt = new HashSet<int>
|
||||
{
|
||||
015, 019, 057, 070, 432, 249, 127, 431 // Defog(DPPt)
|
||||
};
|
||||
|
||||
|
||||
internal static readonly int[] HM_4_RemovePokeTransfer =
|
||||
internal static readonly HashSet<int> HM_4_RemovePokeTransfer = new HashSet<int>
|
||||
{
|
||||
015, 019, 057, 070, 249, 127, 431 // Defog(DPPt) & Whirlpool(HGSS) excluded
|
||||
};
|
||||
|
|
@ -150,12 +151,12 @@ public static partial class Legal
|
|||
10, 15, 20, 15, 10, 10, 10, 20, 05, 30, 05, 10, 15, 10, 10, 05, 20, 30, 10, 30, 15, 15, 15, 15, 30, 10, 20, 15, 10, 10, 20, 15, 05, 05, 15, 15, 05, 10, 05, 20, 05, 15, 20, 05, 20, 20, 20, 20, 10, 20,
|
||||
10, 15, 20, 15, 10, 10, 05, 10, 05, 05, 10, 05, 05, 10, 05, 05, 05,
|
||||
};
|
||||
internal static readonly int[] WildPokeBalls4_DPPt =
|
||||
internal static readonly HashSet<int> WildPokeBalls4_DPPt = new HashSet<int>
|
||||
{
|
||||
1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
// Cherish ball not usable
|
||||
};
|
||||
internal static readonly int[] WildPokeBalls4_HGSS =
|
||||
internal static readonly HashSet<int> WildPokeBalls4_HGSS = new HashSet<int>
|
||||
{
|
||||
1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
// Cherish ball not usable
|
||||
|
|
@ -167,7 +168,7 @@ public static partial class Legal
|
|||
{
|
||||
700
|
||||
};
|
||||
internal static readonly int[] UnreleasedItems_4 =
|
||||
internal static readonly HashSet<int> UnreleasedItems_4 = new HashSet<int>
|
||||
{
|
||||
005, // Safari Ball
|
||||
016, // Cherish Ball
|
||||
|
|
@ -176,7 +177,7 @@ public static partial class Legal
|
|||
500, // Park Ball
|
||||
};
|
||||
internal static readonly bool[] ReleasedHeldItems_4 = Enumerable.Range(0, MaxItemID_4_HGSS+1).Select(i => HeldItems_HGSS.Contains((ushort)i) && !UnreleasedItems_4.Contains(i)).ToArray();
|
||||
internal static readonly int[] CrownBeasts = {251, 243, 244, 245};
|
||||
internal static readonly HashSet<int> CrownBeasts = new HashSet<int> { 251, 243, 244, 245};
|
||||
|
||||
internal static readonly int[] Tutors_4 =
|
||||
{
|
||||
|
|
@ -209,7 +210,7 @@ public static partial class Legal
|
|||
internal static readonly int[] Slot4_Radar = { 4, 5, 10, 11 };
|
||||
internal static readonly int[] Slot4_Dual = { 8, 9 };
|
||||
|
||||
internal static readonly int[] ValidMet_DP =
|
||||
internal static readonly HashSet<int> ValidMet_DP = new HashSet<int>
|
||||
{
|
||||
// 063: Flower Paradise unreleased DP event
|
||||
// 079: Newmoon Island unreleased DP event
|
||||
|
|
@ -222,11 +223,11 @@ public static partial class Legal
|
|||
081, 082, 083, 084, 087, 088, 089, 090, 091, 092, 093, 094, 095, 096, 097, 098, 099, 100,
|
||||
101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
|
||||
};
|
||||
internal static readonly int[] ValidMet_Pt = ValidMet_DP.Concat(new[]
|
||||
internal static readonly HashSet<int> ValidMet_Pt = new HashSet<int>(ValidMet_DP.Concat(new[]
|
||||
{
|
||||
63, 79, 85, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
|
||||
}).ToArray();
|
||||
internal static readonly int[] ValidMet_HGSS =
|
||||
}));
|
||||
internal static readonly HashSet<int> ValidMet_HGSS = new HashSet<int>
|
||||
{
|
||||
126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
|
||||
141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
|
||||
|
|
@ -235,11 +236,11 @@ public static partial class Legal
|
|||
201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
|
||||
221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 234, //233: Pokéwalker
|
||||
};
|
||||
internal static readonly int[] GiftEggLocation4 =
|
||||
internal static readonly HashSet<int> GiftEggLocation4 = new HashSet<int>
|
||||
{
|
||||
2009, 2010, 2011, 2013, 2014
|
||||
};
|
||||
internal static readonly int[] EggLocations4 =
|
||||
internal static readonly HashSet<int> EggLocations4 = new HashSet<int>
|
||||
{
|
||||
2000, 2002, 2009, 2010, 2011, 2013, 2014
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
|
|
@ -99,20 +100,20 @@ public static partial class Legal
|
|||
15, 15, 15, 15, 10, 10, 10, 10, 10, 15, 15, 15, 15, 05, 05, 15, 05, 10, 10, 10, 20, 20, 20, 10, 10, 30, 15, 15, 10, 15, 25, 10, 20, 10, 10, 10, 20, 10, 10, 10, 10, 10, 15, 15, 05, 05, 10, 10, 10, 05,
|
||||
05, 10, 05, 05, 15, 10, 05, 05, 05,
|
||||
};
|
||||
internal static readonly int[] WildPokeBalls5 =
|
||||
internal static readonly HashSet<int> WildPokeBalls5 = new HashSet<int>
|
||||
{
|
||||
1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
||||
// Cherish ball not usable
|
||||
// HGSS balls not usable
|
||||
// Dream ball not usable in wild
|
||||
};
|
||||
internal static readonly int[] DreamWorldBalls = WildPokeBalls5.Concat(new[] { 25 }).ToArray();
|
||||
internal static readonly HashSet<int> DreamWorldBalls = new HashSet<int> (WildPokeBalls5.Concat(new[] { 25 }));
|
||||
|
||||
internal static readonly int[] FutureEvolutionsGen5 =
|
||||
{
|
||||
700
|
||||
};
|
||||
internal static readonly int[] UnreleasedItems_5 =
|
||||
internal static readonly HashSet<int> UnreleasedItems_5 = new HashSet<int>
|
||||
{
|
||||
005, // Safari Ball
|
||||
016, // Cherish Ball
|
||||
|
|
@ -141,7 +142,7 @@ public static partial class Legal
|
|||
new[] { 380, 388, 180, 495, 270, 271, 478, 472, 283, 200, 278, 289, 446, 214, 285 } // Nacrene City
|
||||
};
|
||||
|
||||
internal static readonly int[] ValidMet_BW =
|
||||
internal static readonly HashSet<int> ValidMet_BW = new HashSet<int>
|
||||
{
|
||||
004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019, 020,
|
||||
021, 022, 023, 024, 025, 026, 027, 028, 029, 030, 031, 032, 033, 034, 035, 036, 037, 038, 039, 040,
|
||||
|
|
@ -151,7 +152,7 @@ public static partial class Legal
|
|||
101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
|
||||
|
||||
};
|
||||
internal static readonly int[] ValidMet_B2W2 =
|
||||
internal static readonly HashSet<int> ValidMet_B2W2 = new HashSet<int>
|
||||
{
|
||||
004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019, 020,
|
||||
021, 022, 024, 025, 026, 027, 028, 029, 030, 031, 032, 033, 034, 035, 036, 037, 038, 039, //023 Route 10, 040->134 Victory Road
|
||||
|
|
@ -162,7 +163,7 @@ public static partial class Legal
|
|||
121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 139, 140, //138 ---
|
||||
141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
|
||||
};
|
||||
internal static readonly int[] EggLocations5 =
|
||||
internal static readonly HashSet<int> EggLocations5 = new HashSet<int>
|
||||
{
|
||||
30002, // Link Trade (NPC)
|
||||
30003, // Link Trade
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ public static partial class Legal
|
|||
#endregion
|
||||
|
||||
internal static readonly int[] EggLocations6 = {60002, 30002};
|
||||
internal static readonly int[] ValidMet_XY =
|
||||
internal static readonly HashSet<int> ValidMet_XY = new HashSet<int>
|
||||
{
|
||||
006, 008, 009, 010, 012, 013, 014, 016, 017, 018, 020, 021, 022, 024, 026, 028, 029, 030, 032, 034, 035, 036,
|
||||
038, 039, 040, 042, 043, 044, 046, 047, 048, 050, 051, 052, 054, 055, 056, 058, 060, 062, 063, 064, 066, 067,
|
||||
|
|
@ -236,7 +236,7 @@ public static partial class Legal
|
|||
100, 101, 102, 103, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 135, 136,
|
||||
138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168
|
||||
};
|
||||
internal static readonly int[] ValidMet_AO =
|
||||
internal static readonly HashSet<int> ValidMet_AO = new HashSet<int>
|
||||
{
|
||||
170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198,
|
||||
200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 240, 242,
|
||||
|
|
@ -244,7 +244,7 @@ public static partial class Legal
|
|||
288, 290, 292, 294, 296, 298, 300, 302, 304, 306, 308, 310, 312, 314, 316, 318, 320, 322, 324, 326, 328, 330,
|
||||
332, 334, 336, 338, 340, 342, 344, 346, 348, 350, 352, 354
|
||||
};
|
||||
internal static readonly int[] FriendSafari =
|
||||
internal static readonly HashSet<int> FriendSafari = new HashSet<int>
|
||||
{
|
||||
190, 206, 216, 506, 294, 352, 531, 572, 113, 132, 133, 235,
|
||||
012, 046, 165, 415, 267, 284, 313, 314, 049, 127, 214, 666,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
|
|
@ -103,12 +104,12 @@ public static partial class Legal
|
|||
};
|
||||
internal static readonly ushort[] HeldItems_SM = new ushort[1].Concat(Pouch_Items_SM).Concat(Pouch_Berries_SM).Concat(Pouch_Medicine_SM).Concat(Pouch_ZCrystalHeld_SM).ToArray();
|
||||
|
||||
private static readonly int[] WildPokeballs7 = {
|
||||
private static readonly HashSet<int> WildPokeballs7 = new HashSet<int> {
|
||||
0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
|
||||
0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, // Johto Balls
|
||||
0x1A, // Beast
|
||||
};
|
||||
internal static readonly int[] AlolanOriginForms =
|
||||
internal static readonly HashSet<int> AlolanOriginForms = new HashSet<int>
|
||||
{
|
||||
019, // Rattata
|
||||
020, // Raticate
|
||||
|
|
@ -133,7 +134,7 @@ public static partial class Legal
|
|||
105, // Marowak
|
||||
}.Concat(AlolanOriginForms).ToArray();
|
||||
|
||||
public static readonly int[] PastGenAlolanNatives =
|
||||
public static readonly HashSet<int> PastGenAlolanNatives = new HashSet<int>
|
||||
{
|
||||
010, 011, 012, 019, 020, 021, 022, 025, 026, 027, 028, 035, 036, 037, 038, 039, 040, 041, 042, 046, 047, 050,
|
||||
051, 052, 053, 054, 055, 056, 057, 058, 059, 060, 061, 062, 063, 064, 065, 066, 067, 068, 072, 073, 074, 075,
|
||||
|
|
@ -147,13 +148,13 @@ public static partial class Legal
|
|||
582, 583, 584, 587, 594, 627, 628, 629, 630, 661, 662, 663, 674, 675, 700, 703, 704, 705, 706, 707, 708, 709,
|
||||
718
|
||||
};
|
||||
public static readonly int[] PastGenAlolanNativesUncapturable =
|
||||
public static readonly HashSet<int> PastGenAlolanNativesUncapturable = new HashSet<int>
|
||||
{
|
||||
142, // Aerodacyl
|
||||
137, 233, 474 // Porygon++
|
||||
};
|
||||
|
||||
internal static readonly int[] PastGenAlolanScans =
|
||||
internal static readonly HashSet<int> PastGenAlolanScans = new HashSet<int>
|
||||
{
|
||||
069, // Bellsprout
|
||||
111, // Rhyhorn
|
||||
|
|
@ -187,7 +188,7 @@ public static partial class Legal
|
|||
540, // [542] Leavanny (Sewaddle)
|
||||
602, // [604] Eelektross (Tynamo)
|
||||
};
|
||||
internal static readonly int[] Inherit_Apricorn6 =
|
||||
internal static readonly HashSet<int> Inherit_Apricorn6 = new HashSet<int>
|
||||
{
|
||||
010, 013, 016, 019, 021, 023, 025, 027, 029, 035, 037, 039, 041,
|
||||
043, 046, 048, 050, 052, 054, 056, 058, 060, 063, 066, 069, 072, 074, 077, 079, 083, 084, 086, 088, 090, 092,
|
||||
|
|
@ -214,7 +215,7 @@ public static partial class Legal
|
|||
173, // Via Clefairy
|
||||
174, // Via Jigglypuff
|
||||
};
|
||||
internal static readonly int[] AlolanCaptureOffspring =
|
||||
internal static readonly HashSet<int> AlolanCaptureOffspring = new HashSet<int>
|
||||
{
|
||||
010, 019, 021, 025, 027, 035, 037, 039, 041, 046,
|
||||
050, 052, 054, 056, 058, 060, 063, 066, 072, 074,
|
||||
|
|
@ -233,8 +234,8 @@ public static partial class Legal
|
|||
769, 771, 774, 775, 776, 777, 778, 779, 780, 781,
|
||||
782
|
||||
};
|
||||
internal static readonly int[] AlolanCaptureNoHeavyBall = {374, 785, 786, 787, 788}; // Beldum & Tapus
|
||||
internal static readonly int[] Inherit_ApricornMale7 =
|
||||
internal static readonly HashSet<int> AlolanCaptureNoHeavyBall = new HashSet<int> { 374, 785, 786, 787, 788}; // Beldum & Tapus
|
||||
internal static readonly HashSet<int> Inherit_ApricornMale7 = new HashSet<int>
|
||||
{
|
||||
100, // Voltorb
|
||||
343, // Baltoy
|
||||
|
|
@ -243,8 +244,8 @@ public static partial class Legal
|
|||
// Others are capturable in the Alola region
|
||||
// Magnemite, Staryu, Tauros
|
||||
};
|
||||
internal static readonly int[] Inherit_Apricorn7 = Inherit_Apricorn6.Concat(Inherit_ApricornMale7).Concat(PastGenAlolanScans).Concat(AlolanCaptureOffspring).Distinct().ToArray();
|
||||
internal static readonly int[] Inherit_SafariMale =
|
||||
internal static readonly HashSet<int> Inherit_Apricorn7 = new HashSet<int> (Inherit_Apricorn6.Concat(Inherit_ApricornMale7).Concat(PastGenAlolanScans).Concat(AlolanCaptureOffspring).Distinct());
|
||||
internal static readonly HashSet<int> Inherit_SafariMale = new HashSet<int>
|
||||
{
|
||||
128, // Tauros
|
||||
|
||||
|
|
@ -255,7 +256,7 @@ public static partial class Legal
|
|||
374, // Beldum
|
||||
436, // Bronzor
|
||||
};
|
||||
internal static readonly int[] Inherit_DreamMale =
|
||||
internal static readonly HashSet<int> Inherit_DreamMale = new HashSet<int>
|
||||
{
|
||||
// Starting with Gen7, Males pass Ball via breeding with Ditto.
|
||||
001, 004, 007, // Gen1 Starters
|
||||
|
|
@ -283,15 +284,15 @@ public static partial class Legal
|
|||
599, // Klink
|
||||
622, // Golett
|
||||
};
|
||||
internal static readonly int[] Ban_Gen3Ball_7 =
|
||||
internal static readonly HashSet<int> Ban_Gen3Ball_7 = new HashSet<int>
|
||||
{
|
||||
566, 567, 696, 697, 698, 699 // Fossil Only obtain
|
||||
};
|
||||
internal static readonly int[] Ban_Gen4Ball_7 =
|
||||
internal static readonly HashSet<int> Ban_Gen4Ball_7 = new HashSet<int>
|
||||
{
|
||||
566, 567, 696, 697, 698, 699 // Fossil Only obtain
|
||||
};
|
||||
internal static readonly int[] Ban_SafariBallHidden_7 =
|
||||
internal static readonly HashSet<int> Ban_SafariBallHidden_7 = new HashSet<int>
|
||||
{
|
||||
029, 030, 031, 032, 033, 034, // Nidos
|
||||
313, 314, // Volbeat/Illumise
|
||||
|
|
@ -307,7 +308,7 @@ public static partial class Legal
|
|||
};
|
||||
|
||||
internal static readonly int[] EggLocations7 = {60002, 30002};
|
||||
internal static readonly int[] ValidMet_SM =
|
||||
internal static readonly HashSet<int> ValidMet_SM = new HashSet<int>
|
||||
{
|
||||
006, 008, 010, 012, 014, 016, 018, 020, 022, 024, 026, 028, 030, 032, 034, 036, 038, 040, 042, 044, 046, 048,
|
||||
050, 052, 054, 056, 058, 060, 062, 064, 066, 068, 070, 072, 074, 076, 078, 082, 084, 086, 088, 090, 092, 094,
|
||||
|
|
@ -316,7 +317,7 @@ public static partial class Legal
|
|||
|
||||
30016 // Poké Pelago
|
||||
};
|
||||
internal static readonly int[] ValidMet_USUM =
|
||||
internal static readonly HashSet<int> ValidMet_USUM = new HashSet<int>
|
||||
{
|
||||
};
|
||||
|
||||
|
|
@ -356,7 +357,7 @@ public static partial class Legal
|
|||
01, 01, 01, 05, 05, 10, 10, 10, 20, 10, 10, 10, 05, 05, 20, 10, 10, 10, 01
|
||||
};
|
||||
|
||||
internal static readonly int[] Ban_NoHidden7 =
|
||||
internal static readonly HashSet<int> Ban_NoHidden7 = new HashSet<int>
|
||||
{
|
||||
// Summon only other Pokemon
|
||||
765, // Oranguru
|
||||
|
|
@ -391,701 +392,9 @@ public static partial class Legal
|
|||
710 + (2 << 11), //Pumpkaboo-Large
|
||||
711 + (2 << 11), //Gourgeist-Large
|
||||
};
|
||||
#region Pre-Bank Illegality
|
||||
internal static readonly int[] Bank_NoHidden7 =
|
||||
{
|
||||
// Gifts
|
||||
137, // Porygon
|
||||
233, // Porygon2
|
||||
474, // Porygon-Z
|
||||
|
||||
// No SOS slots
|
||||
142, // Aerodactyl
|
||||
408, // Cranidos
|
||||
409, // Rampardos
|
||||
410, // Shieldon
|
||||
411, // Bastiodon
|
||||
564, // Tirtouga
|
||||
565, // Carracosta
|
||||
566, // Archen
|
||||
567, // Archeops
|
||||
|
||||
// Island Scan
|
||||
069, // Bellsprout
|
||||
070, // Weepinbell
|
||||
071, // Victreebel
|
||||
111, // Rhyhorn
|
||||
112, // Rhydon
|
||||
464, // Rhyperior
|
||||
116, // Horsea
|
||||
117, // Seadra
|
||||
230, // Kingdra
|
||||
152, // Chikorita
|
||||
153, // Bayleef
|
||||
154, // Meganium
|
||||
155, // Cyndaquil
|
||||
156, // Quilava
|
||||
157, // Typhlosion
|
||||
158, // Totodile
|
||||
159, // Croconaw
|
||||
160, // Feraligatr
|
||||
175, // Togepi
|
||||
176, // Togetic
|
||||
468, // Togekiss
|
||||
183, // Marill
|
||||
184, // Azumarill
|
||||
220, // Swinub
|
||||
221, // Piloswine
|
||||
287, // Slakoth
|
||||
288, // Vigoroth
|
||||
289, // Slaking
|
||||
473, // Mamoswine
|
||||
298, // Azurill
|
||||
363, // Spheal
|
||||
364, // Sealeo
|
||||
365, // Walrein
|
||||
396, // Starly
|
||||
397, // Staravia
|
||||
398, // Staraptor
|
||||
403, // Shinx
|
||||
404, // Luxio
|
||||
405, // Luxray
|
||||
406, // Budew
|
||||
407, // Roserade
|
||||
315, // Roselia
|
||||
495, // Snivy
|
||||
496, // Servine
|
||||
497, // Serperior
|
||||
498, // Tepig
|
||||
499, // Pignite
|
||||
500, // Emboar
|
||||
501, // Oshawott
|
||||
502, // Dewott
|
||||
503, // Samurott
|
||||
532, // Timburr
|
||||
533, // Gurdurr
|
||||
534, // Conkeldurr
|
||||
540, // Sewaddle
|
||||
541, // Swadloon
|
||||
542, // Leavanny
|
||||
543, // Venipede
|
||||
544, // Whirlipede
|
||||
545, // Scolipede
|
||||
574, // Gothita
|
||||
575, // Gothorita
|
||||
576, // Gothitelle
|
||||
577, // Solosis
|
||||
578, // Duosion
|
||||
579, // Reuniclus
|
||||
599, // Klink
|
||||
600, // Klang
|
||||
601, // Klinklang
|
||||
602, // Tynamo
|
||||
603, // Eelektrik
|
||||
604, // Eelektross
|
||||
607, // Litwick
|
||||
608, // Lampent
|
||||
609, // Chandelure
|
||||
610, // Axew
|
||||
611, // Fraxure
|
||||
612, // Haxorus
|
||||
633, // Deino
|
||||
634, // Zweilous
|
||||
635, // Hydreigon
|
||||
679, // Honedge
|
||||
680, // Doublade
|
||||
681, // Aegislash
|
||||
};
|
||||
internal static readonly int[] Bank_NotAvailable7 = // Unobtainable Species
|
||||
{
|
||||
001, // Bulbasaur
|
||||
002, // Ivysaur
|
||||
003, // Venusaur
|
||||
004, // Charmander
|
||||
005, // Charmeleon
|
||||
006, // Charizard
|
||||
007, // Squirtle
|
||||
008, // Wartortle
|
||||
009, // Blastoise
|
||||
013, // Weedle
|
||||
014, // Kakuna
|
||||
015, // Beedrill
|
||||
016, // Pidgey
|
||||
017, // Pidgeotto
|
||||
018, // Pidgeot
|
||||
023, // Ekans
|
||||
024, // Arbok
|
||||
026, // Raichu
|
||||
029, // Nidoran♀
|
||||
030, // Nidorina
|
||||
031, // Nidoqueen
|
||||
032, // Nidoran♂
|
||||
033, // Nidorino
|
||||
034, // Nidoking
|
||||
043, // Oddish
|
||||
044, // Gloom
|
||||
045, // Vileplume
|
||||
048, // Venonat
|
||||
049, // Venomoth
|
||||
077, // Ponyta
|
||||
078, // Rapidash
|
||||
083, // Farfetch'd
|
||||
084, // Doduo
|
||||
085, // Dodrio
|
||||
086, // Seel
|
||||
087, // Dewgong
|
||||
095, // Onix
|
||||
098, // Krabby
|
||||
099, // Kingler
|
||||
100, // Voltorb
|
||||
101, // Electrode
|
||||
103, // Exeggutor
|
||||
105, // Marowak
|
||||
106, // Hitmonlee
|
||||
107, // Hitmonchan
|
||||
108, // Lickitung
|
||||
109, // Koffing
|
||||
110, // Weezing
|
||||
114, // Tangela
|
||||
122, // Mr. Mime
|
||||
124, // Jynx
|
||||
138, // Omanyte
|
||||
139, // Omastar
|
||||
140, // Kabuto
|
||||
141, // Kabutops
|
||||
144, // Articuno
|
||||
145, // Zapdos
|
||||
146, // Moltres
|
||||
150, // Mewtwo
|
||||
151, // Mew
|
||||
161, // Sentret
|
||||
162, // Furret
|
||||
163, // Hoothoot
|
||||
164, // Noctowl
|
||||
177, // Natu
|
||||
178, // Xatu
|
||||
179, // Mareep
|
||||
180, // Flaaffy
|
||||
181, // Ampharos
|
||||
182, // Bellossom
|
||||
187, // Hoppip
|
||||
188, // Skiploom
|
||||
189, // Jumpluff
|
||||
190, // Aipom
|
||||
191, // Sunkern
|
||||
192, // Sunflora
|
||||
193, // Yanma
|
||||
194, // Wooper
|
||||
195, // Quagsire
|
||||
201, // Unown
|
||||
202, // Wobbuffet
|
||||
203, // Girafarig
|
||||
204, // Pineco
|
||||
205, // Forretress
|
||||
206, // Dunsparce
|
||||
207, // Gligar
|
||||
208, // Steelix
|
||||
211, // Qwilfish
|
||||
213, // Shuckle
|
||||
214, // Heracross
|
||||
216, // Teddiursa
|
||||
217, // Ursaring
|
||||
218, // Slugma
|
||||
219, // Magcargo
|
||||
223, // Remoraid
|
||||
224, // Octillery
|
||||
226, // Mantine
|
||||
228, // Houndour
|
||||
229, // Houndoom
|
||||
231, // Phanpy
|
||||
232, // Donphan
|
||||
234, // Stantler
|
||||
236, // Tyrogue
|
||||
237, // Hitmontop
|
||||
238, // Smoochum
|
||||
243, // Raikou
|
||||
244, // Entei
|
||||
245, // Suicune
|
||||
246, // Larvitar
|
||||
247, // Pupitar
|
||||
248, // Tyranitar
|
||||
249, // Lugia
|
||||
250, // Ho-Oh
|
||||
251, // Celebi
|
||||
252, // Treecko
|
||||
253, // Grovyle
|
||||
254, // Sceptile
|
||||
255, // Torchic
|
||||
256, // Combusken
|
||||
257, // Blaziken
|
||||
258, // Mudkip
|
||||
259, // Marshtomp
|
||||
260, // Swampert
|
||||
261, // Poochyena
|
||||
262, // Mightyena
|
||||
263, // Zigzagoon
|
||||
264, // Linoone
|
||||
265, // Wurmple
|
||||
266, // Silcoon
|
||||
267, // Beautifly
|
||||
268, // Cascoon
|
||||
269, // Dustox
|
||||
270, // Lotad
|
||||
271, // Lombre
|
||||
272, // Ludicolo
|
||||
273, // Seedot
|
||||
274, // Nuzleaf
|
||||
275, // Shiftry
|
||||
276, // Taillow
|
||||
277, // Swellow
|
||||
280, // Ralts
|
||||
281, // Kirlia
|
||||
282, // Gardevoir
|
||||
285, // Shroomish
|
||||
286, // Breloom
|
||||
290, // Nincada
|
||||
291, // Ninjask
|
||||
292, // Shedinja
|
||||
293, // Whismur
|
||||
294, // Loudred
|
||||
295, // Exploud
|
||||
300, // Skitty
|
||||
301, // Delcatty
|
||||
303, // Mawile
|
||||
304, // Aron
|
||||
305, // Lairon
|
||||
306, // Aggron
|
||||
307, // Meditite
|
||||
308, // Medicham
|
||||
309, // Electrike
|
||||
310, // Manectric
|
||||
311, // Plusle
|
||||
312, // Minun
|
||||
313, // Volbeat
|
||||
314, // Illumise
|
||||
316, // Gulpin
|
||||
317, // Swalot
|
||||
322, // Numel
|
||||
323, // Camerupt
|
||||
325, // Spoink
|
||||
326, // Grumpig
|
||||
331, // Cacnea
|
||||
332, // Cacturne
|
||||
333, // Swablu
|
||||
334, // Altaria
|
||||
335, // Zangoose
|
||||
336, // Seviper
|
||||
337, // Lunatone
|
||||
338, // Solrock
|
||||
341, // Corphish
|
||||
342, // Crawdaunt
|
||||
343, // Baltoy
|
||||
344, // Claydol
|
||||
345, // Lileep
|
||||
346, // Cradily
|
||||
347, // Anorith
|
||||
348, // Armaldo
|
||||
352, // Kecleon
|
||||
353, // Shuppet
|
||||
354, // Banette
|
||||
355, // Duskull
|
||||
356, // Dusclops
|
||||
357, // Tropius
|
||||
358, // Chimecho
|
||||
360, // Wynaut
|
||||
366, // Clamperl
|
||||
367, // Huntail
|
||||
368, // Gorebyss
|
||||
377, // Regirock
|
||||
378, // Regice
|
||||
379, // Registeel
|
||||
380, // Latias
|
||||
381, // Latios
|
||||
382, // Kyogre
|
||||
383, // Groudon
|
||||
384, // Rayquaza
|
||||
385, // Jirachi
|
||||
386, // Deoxys
|
||||
387, // Turtwig
|
||||
388, // Grotle
|
||||
389, // Torterra
|
||||
390, // Chimchar
|
||||
391, // Monferno
|
||||
392, // Infernape
|
||||
393, // Piplup
|
||||
394, // Prinplup
|
||||
395, // Empoleon
|
||||
399, // Bidoof
|
||||
400, // Bibarel
|
||||
401, // Kricketot
|
||||
402, // Kricketune
|
||||
412, // Burmy
|
||||
413, // Wormadam
|
||||
414, // Mothim
|
||||
415, // Combee
|
||||
416, // Vespiquen
|
||||
417, // Pachirisu
|
||||
418, // Buizel
|
||||
419, // Floatzel
|
||||
420, // Cherubi
|
||||
421, // Cherrim
|
||||
424, // Ambipom
|
||||
427, // Buneary
|
||||
428, // Lopunny
|
||||
431, // Glameow
|
||||
432, // Purugly
|
||||
433, // Chingling
|
||||
434, // Stunky
|
||||
435, // Skuntank
|
||||
436, // Bronzor
|
||||
437, // Bronzong
|
||||
439, // Mime Jr.
|
||||
441, // Chatot
|
||||
442, // Spiritomb
|
||||
449, // Hippopotas
|
||||
450, // Hippowdon
|
||||
451, // Skorupi
|
||||
452, // Drapion
|
||||
453, // Croagunk
|
||||
454, // Toxicroak
|
||||
455, // Carnivine
|
||||
458, // Mantyke
|
||||
459, // Snover
|
||||
460, // Abomasnow
|
||||
463, // Lickilicky
|
||||
465, // Tangrowth
|
||||
469, // Yanmega
|
||||
472, // Gliscor
|
||||
475, // Gallade
|
||||
477, // Dusknoir
|
||||
479, // Rotom
|
||||
480, // Uxie
|
||||
481, // Mesprit
|
||||
482, // Azelf
|
||||
483, // Dialga
|
||||
484, // Palkia
|
||||
485, // Heatran
|
||||
486, // Regigigas
|
||||
487, // Giratina
|
||||
488, // Cresselia
|
||||
489, // Phione
|
||||
490, // Manaphy
|
||||
491, // Darkrai
|
||||
492, // Shaymin
|
||||
493, // Arceus
|
||||
494, // Victini
|
||||
504, // Patrat
|
||||
505, // Watchog
|
||||
509, // Purrloin
|
||||
510, // Liepard
|
||||
511, // Pansage
|
||||
512, // Simisage
|
||||
513, // Pansear
|
||||
514, // Simisear
|
||||
515, // Panpour
|
||||
516, // Simipour
|
||||
517, // Munna
|
||||
518, // Musharna
|
||||
519, // Pidove
|
||||
520, // Tranquill
|
||||
521, // Unfezant
|
||||
522, // Blitzle
|
||||
523, // Zebstrika
|
||||
527, // Woobat
|
||||
528, // Swoobat
|
||||
529, // Drilbur
|
||||
530, // Excadrill
|
||||
531, // Audino
|
||||
535, // Tympole
|
||||
536, // Palpitoad
|
||||
537, // Seismitoad
|
||||
538, // Throh
|
||||
539, // Sawk
|
||||
550, // Basculin
|
||||
554, // Darumaka
|
||||
555, // Darmanitan
|
||||
556, // Maractus
|
||||
557, // Dwebble
|
||||
558, // Crustle
|
||||
559, // Scraggy
|
||||
560, // Scrafty
|
||||
561, // Sigilyph
|
||||
562, // Yamask
|
||||
563, // Cofagrigus
|
||||
570, // Zorua
|
||||
571, // Zoroark
|
||||
572, // Minccino
|
||||
573, // Cinccino
|
||||
580, // Ducklett
|
||||
581, // Swanna
|
||||
585, // Deerling
|
||||
586, // Sawsbuck
|
||||
588, // Karrablast
|
||||
589, // Escavalier
|
||||
590, // Foongus
|
||||
591, // Amoonguss
|
||||
592, // Frillish
|
||||
593, // Jellicent
|
||||
595, // Joltik
|
||||
596, // Galvantula
|
||||
597, // Ferroseed
|
||||
598, // Ferrothorn
|
||||
605, // Elgyem
|
||||
606, // Beheeyem
|
||||
613, // Cubchoo
|
||||
614, // Beartic
|
||||
615, // Cryogonal
|
||||
616, // Shelmet
|
||||
617, // Accelgor
|
||||
618, // Stunfisk
|
||||
619, // Mienfoo
|
||||
620, // Mienshao
|
||||
621, // Druddigon
|
||||
622, // Golett
|
||||
623, // Golurk
|
||||
624, // Pawniard
|
||||
625, // Bisharp
|
||||
626, // Bouffalant
|
||||
631, // Heatmor
|
||||
632, // Durant
|
||||
636, // Larvesta
|
||||
637, // Volcarona
|
||||
638, // Cobalion
|
||||
639, // Terrakion
|
||||
640, // Virizion
|
||||
641, // Tornadus
|
||||
642, // Thundurus
|
||||
643, // Reshiram
|
||||
644, // Zekrom
|
||||
645, // Landorus
|
||||
646, // Kyurem
|
||||
647, // Keldeo
|
||||
648, // Meloetta
|
||||
649, // Genesect
|
||||
650, // Chespin
|
||||
651, // Quilladin
|
||||
652, // Chesnaught
|
||||
653, // Fennekin
|
||||
654, // Braixen
|
||||
655, // Delphox
|
||||
656, // Froakie
|
||||
657, // Frogadier
|
||||
658, // Greninja
|
||||
659, // Bunnelby
|
||||
660, // Diggersby
|
||||
664, // Scatterbug
|
||||
665, // Spewpa
|
||||
666, // Vivillon
|
||||
667, // Litleo
|
||||
668, // Pyroar
|
||||
669, // Flabébé
|
||||
670, // Floette
|
||||
671, // Florges
|
||||
672, // Skiddo
|
||||
673, // Gogoat
|
||||
676, // Furfrou
|
||||
677, // Espurr
|
||||
678, // Meowstic
|
||||
682, // Spritzee
|
||||
683, // Aromatisse
|
||||
684, // Swirlix
|
||||
685, // Slurpuff
|
||||
686, // Inkay
|
||||
687, // Malamar
|
||||
688, // Binacle
|
||||
689, // Barbaracle
|
||||
690, // Skrelp
|
||||
691, // Dragalge
|
||||
692, // Clauncher
|
||||
693, // Clawitzer
|
||||
694, // Helioptile
|
||||
695, // Heliolisk
|
||||
696, // Tyrunt
|
||||
697, // Tyrantrum
|
||||
698, // Amaura
|
||||
699, // Aurorus
|
||||
701, // Hawlucha
|
||||
702, // Dedenne
|
||||
710, // Pumpkaboo
|
||||
711, // Gourgeist
|
||||
712, // Bergmite
|
||||
713, // Avalugg
|
||||
714, // Noibat
|
||||
715, // Noivern
|
||||
716, // Xerneas
|
||||
717, // Yveltal
|
||||
719, // Diancie
|
||||
720, // Hoopa
|
||||
721, // Volcanion
|
||||
};
|
||||
internal static readonly EncounterStatic[] Bank_Egg7 = // Unobtainable Egg Moves
|
||||
{
|
||||
// Regular
|
||||
|
||||
new EncounterStatic { Species = 722, Relearn = new[] {466,174}}, // Rowlet: Ominous Wind, Curse
|
||||
new EncounterStatic { Species = 731, Relearn = new[] {586,253}}, // Pikipek: Boomburst, Uproar
|
||||
new EncounterStatic { Species = 165, Relearn = new[] {227,282,264,409,146}}, // Ledyba: Encore, Knock Off, Focus Punch, Drain Punch, Dizzy Punch
|
||||
new EncounterStatic { Species = 167, Relearn = new[] {50,324,527}}, // Spinarak: Disable, Signal Beam, Electroweb
|
||||
new EncounterStatic { Species = 736, Relearn = new[] {527}}, // Grubbin: Electroweb
|
||||
new EncounterStatic { Species = 185, Relearn = new[] {328,174,203}}, // Sudowoodo: Sand Tomb, Curse, Endure
|
||||
new EncounterStatic { Species = 440, Relearn = new[] {426,68,69}}, // Happiny: Mud Bomb, Counter, Seismic Toss
|
||||
new EncounterStatic { Species = 143, Relearn = new[] {120,495,18,204,562}}, // Snorlax: Self-Destruct, After You, Whirlwind, Charm, Belch
|
||||
new EncounterStatic { Species = 446, Relearn = new[] {120,495,18,204,562}}, // Munchlax: Self-Destruct, After You, Whirlwind, Charm, Belch
|
||||
new EncounterStatic { Species = 079, Relearn = new[] {562}}, // Slowpoke: Belch
|
||||
new EncounterStatic { Species = 278, Relearn = new[] {282}}, // Wingull: Knock Off
|
||||
new EncounterStatic { Species = 063, Relearn = new[] {112,379,385,285,8,375}}, // Abra: Barrier, Power Trick, Guard Swap, Skill Swap, Ice Punch, Psycho Shift
|
||||
new EncounterStatic { Species = 052, Relearn = new[] {274}}, // Meowth: Assist
|
||||
new EncounterStatic { Species = 088, Form = 1, Relearn = new[] {184,228,372}}, // Grimer1: Scary Face, Pursuit, Assurance
|
||||
new EncounterStatic { Species = 088, Relearn = new[] {184}}, // Grimer: Scary Face
|
||||
new EncounterStatic { Species = 096, Relearn = new[] {112,274,385,290,285,8}}, // Drowzee: Barrier, Assist, Guard Swap, Secret Power, Skill Swap, Ice Punch
|
||||
new EncounterStatic { Species = 296, Relearn = new[] {270}}, // Makuhita: Helping Hand
|
||||
new EncounterStatic { Species = 739, Relearn = new[] {276}}, // Crabrawler: Superpower
|
||||
new EncounterStatic { Species = 092, Relearn = new[] {114,184,513,9,8,7}}, // Gastly: Haze, Scary Face, Reflect Type, Thunder Punch, Ice Punch, Fire Punch
|
||||
new EncounterStatic { Species = 425, Relearn = new[] {366,432,114}}, // Drifloon: Tailwind, Defog, Haze
|
||||
new EncounterStatic { Species = 200, Relearn = new[] {382,417}}, // Misdreavus: Me First, Nasty Plot
|
||||
new EncounterStatic { Species = 041, Relearn = new[] {599,202,428,95,174}}, // Zubat: Venom Drench, Giga Drain, Zen Headbutt, Hypnosis, Curse
|
||||
new EncounterStatic { Species = 021, Relearn = new[] {161}}, // Spearow: Tri Attack
|
||||
new EncounterStatic { Species = 629, Relearn = new[] {282,313}}, // Vullaby: Knock Off, Fake Tears
|
||||
new EncounterStatic { Species = 742, Relearn = new[] {285}}, // Cutiefly: Skill Swap
|
||||
new EncounterStatic { Species = 548, Relearn = new[] {361,117}}, // Petilil: Healing Wish, Bide
|
||||
new EncounterStatic { Species = 546, Relearn = new[] {262,251,415}}, // Cottonee: Memento, Beat Up, Switcheroo
|
||||
new EncounterStatic { Species = 066, Relearn = new[] {27,8,379}}, // Machop: Rolling Kick, Ice Punch, Power Trick
|
||||
new EncounterStatic { Species = 524, Relearn = new[] {222,174}}, // Roggenrola: Magnitude, Curse
|
||||
new EncounterStatic { Species = 302, Relearn = new[] {236,445,368,286}}, // Sableye: Moonlight, Captivate, Metal Burst, Imprison
|
||||
new EncounterStatic { Species = 327, Relearn = new[] {274,375}}, // Spinda: Assist, Psycho Shift
|
||||
new EncounterStatic { Species = 072, Relearn = new[] {229,114,282,367,330,321}},// Tentacool: Rapid Spin, Haze, Knock Off, Acupressure, Muddy Water, Tickle
|
||||
new EncounterStatic { Species = 456, Relearn = new[] {62,60}}, // Finneon: Aurora Beam, Psybeam
|
||||
new EncounterStatic { Species = 370, Relearn = new[] {494}}, // Luvdisc: Entrainment
|
||||
new EncounterStatic { Species = 222, Relearn = new[] {275,267,293}}, // Corsola: Ingrain, Nature Power, Camoflage
|
||||
new EncounterStatic { Species = 090, Relearn = new[] {41,341,229,36}}, // Shellder: Twineedle, Mud Shot, Rapid Spin, Take Down
|
||||
new EncounterStatic { Species = 371, Relearn = new[] {111}}, // Bagon: Defense Curl
|
||||
new EncounterStatic { Species = 174, Relearn = new[] {445,386,581,505,343} }, // Igglybuff: Captivate, Punishment, Misty Terrain, Heal Pulse, Covet
|
||||
new EncounterStatic { Species = 283, Relearn = new[] {471}}, // Surskit: Power Split
|
||||
new EncounterStatic { Species = 751, Relearn = new[] {471}}, // Dewpider: Power Split
|
||||
new EncounterStatic { Species = 753, Relearn = new[] {432}}, // Fomantis: Defog
|
||||
new EncounterStatic { Species = 755, Relearn = new[] {133}}, // Morelull: Amnesia
|
||||
new EncounterStatic { Species = 046, Relearn = new[] {563}}, // Paras: Rototiller
|
||||
new EncounterStatic { Species = 060, Relearn = new[] {283}}, // Poliwag: Endeavor
|
||||
new EncounterStatic { Species = 118, Relearn = new[] {114,60}}, // Goldeen: Haze, Psybeam
|
||||
new EncounterStatic { Species = 661, Relearn = new[] {289}}, // Fletchling: Snatch
|
||||
new EncounterStatic { Species = 757, Relearn = new[] {562,282,289,252}}, // Salandit: Belch, Knock Off, Snatch, Fake Out
|
||||
new EncounterStatic { Species = 104, Relearn = new[] {24,197}}, // Cubone: Double Kick, Detect
|
||||
new EncounterStatic { Species = 115, Relearn = new[] {264,253,509}}, // Kangaskhan: Focus Punch, Uproar, Circle Throw
|
||||
new EncounterStatic { Species = 126, Relearn = new[] {562,384,231,394,183,112,5}},// Magmar: Belch, Power Swap, Iron Tail, Flare Blitz, Mach Punch, Barrier, Mega Punch
|
||||
new EncounterStatic { Species = 761, Relearn = new[] {364,367}}, // Bounsweet: Feint, Acupressure
|
||||
new EncounterStatic { Species = 764, Relearn = new[] {495,381,133}}, // Comfey: After You, Lucky Chant, Amnesia
|
||||
new EncounterStatic { Species = 127, Relearn = new[] {382}}, // Pinsir: Me First
|
||||
new EncounterStatic { Species = 704, Relearn = new[] {151,174,342,68}}, // Goomy: Acid Armor, Curse, Poison Tail, Counter
|
||||
new EncounterStatic { Species = 351, Relearn = new[] {513,385}}, // Castform: Reflect Type, Guard Swap
|
||||
new EncounterStatic { Species = 769, Relearn = new[] {246}}, // Sandygast: Ancient Power
|
||||
new EncounterStatic { Species = 408, Relearn = new[] {18,21}}, // Cranidos: Whirlwind, Slam
|
||||
new EncounterStatic { Species = 410, Relearn = new[] {469,446}}, // Shieldon: Wide Guard, Stealth Rock
|
||||
new EncounterStatic { Species = 566, Relearn = new[] {282,415,502}}, // Archen: Knock Off, Switcheroo, Ally Switch
|
||||
new EncounterStatic { Species = 564, Relearn = new[] {282,385}}, // Tirtouga: Knock Off, Guard Swap
|
||||
new EncounterStatic { Species = 170, Relearn = new[] {60,351}}, // Chinchou: Psybeam, Shock Wave
|
||||
new EncounterStatic { Species = 568, Relearn = new[] {114,174}}, // Trubbish: Haze, Curse
|
||||
new EncounterStatic { Species = 227, Relearn = new[] {203,446,385,174} }, // Skarmory: Endure, Stealth Rock, Guard Swap, Curse
|
||||
new EncounterStatic { Species = 173, Relearn = new[] {505,581,343,150}}, // Cleffa: Heal Pulse, Misty Terrain, Covet, Splash
|
||||
new EncounterStatic { Species = 776, Relearn = new[] {469,279,83}}, // Turtonator: Wide Guard, Revenge, Fire Spin
|
||||
new EncounterStatic { Species = 239, Relearn = new[] {8,27,112}}, // Elekid: Ice Punch, Rolling Kick, Barrier
|
||||
new EncounterStatic { Species = 074, Relearn = new[] {203,103,431,264,174}}, // Geodude: Endure, Screech, Rock Climb, Focus Punch, Curse
|
||||
new EncounterStatic { Species = 707, Relearn = new[] {415}}, // Klefki: Switcheroo
|
||||
new EncounterStatic { Species = 780, Relearn = new[] {583,13}}, // Drampa: Play Rough, Razor Wind
|
||||
new EncounterStatic { Species = 361, Relearn = new[] {415}}, // Snorunt: Switcheroo
|
||||
new EncounterStatic { Species = 215, Relearn = new[] {274}}, // Sneasel: Assist
|
||||
new EncounterStatic { Species = 037, Relearn = new[] {541,290}}, // Vulpix: Tail Slap, Secret Power
|
||||
new EncounterStatic { Species = 582, Relearn = new[] {352,363}}, // Vanillite: Water Pulse, Natural Gift
|
||||
new EncounterStatic { Species = 422, Relearn = new[] {124}}, // Shellos: Sludge
|
||||
new EncounterStatic { Species = 131, Relearn = new[] {419}}, // Lapras: Avalanche
|
||||
new EncounterStatic { Species = 102, Relearn = new[] {335,285,384,381,267,246}},// Exeggcute: Block, Skill Swap, Power Swap, Lucky Chant, Nature Power, Ancient Power
|
||||
new EncounterStatic { Species = 123, Relearn = new[] {211,501,432,179,68}}, // Scyther: Steel Wing, Quick Guard, Defog, Reversal, Counter
|
||||
new EncounterStatic { Species = 198, Relearn = new[] {375,260,195}}, // Murkrow: Psycho Shift, Flatter, Perish Song
|
||||
new EncounterStatic { Species = 447, Relearn = new[] {299}}, // Riolu: Blaze Kick
|
||||
new EncounterStatic { Species = 147, Relearn = new[] {245}}, // Dratini: Extreme Speed
|
||||
new EncounterStatic { Species = 142, Relearn = new[] {174}}, // Aerodactyl: Curse
|
||||
|
||||
// Island Scan
|
||||
|
||||
new EncounterStatic {Species = 069, Relearn = new[] {562, 438, 499}}, // Bellsprout: Belch, Power Whip, Clear Smog
|
||||
new EncounterStatic {Species = 158, Relearn = new[] {313, 260}}, // Totodile: Fake Tears, Flatter
|
||||
new EncounterStatic {Species = 183, Relearn = new[] {293, 383}}, // Marill: Camouflage, Copycat
|
||||
new EncounterStatic {Species = 298, Relearn = new[] {293, 383}}, // Azurill: Camouflage, Copycat
|
||||
new EncounterStatic {Species = 116, Relearn = new[] {13, 190}}, // Horsea: Razor Wind, Octazooka
|
||||
new EncounterStatic {Species = 406, Relearn = new[] {170}}, // Budew: Mind Reader
|
||||
new EncounterStatic {Species = 315, Relearn = new[] {170}}, // Roselia: Mind Reader
|
||||
new EncounterStatic {Species = 396, Relearn = new[] {279, 197}}, // Starly: Revenge, Detect
|
||||
new EncounterStatic {Species = 175, Relearn = new[] {375, 234, 290, 326}}, // Togepi: Psycho Shift, Morning Sun, Secret Power, Extrasensory
|
||||
new EncounterStatic {Species = 577, Relearn = new[] {271, 290, 270}}, // Solosis: Trick, Secret Power, Helping Hand
|
||||
new EncounterStatic {Species = 607, Relearn = new[] {257, 114, 203, 445, 471}}, // Litwick: Heat Wave, Haze, Endure, Captivate, Power Split
|
||||
new EncounterStatic {Species = 543, Relearn = new[] {36}}, // Venipede: Take Down
|
||||
new EncounterStatic {Species = 532, Relearn = new[] {183}}, // Timburr: Mach Punch
|
||||
new EncounterStatic {Species = 574, Relearn = new[] {243, 445}}, // Gothita: Mirror Coat, Captivate
|
||||
new EncounterStatic {Species = 540, Relearn = new[] {170, 293}}, // Sewaddle: Mind Reader, Camouflage
|
||||
new EncounterStatic {Species = 633, Relearn = new[] {310, 414}}, // Deino: Astonish, Earth Power
|
||||
};
|
||||
internal static readonly int[] Bank_Sketch7 = // Unobtainable Sketch Moves prior to Bank making moves available.
|
||||
{
|
||||
367, // Acupressure
|
||||
177, // Aeroblast
|
||||
274, // Assist
|
||||
454, // Attack Order
|
||||
299, // Blaze Kick
|
||||
551, // Blue Flare
|
||||
550, // Bolt Strike
|
||||
464, // Dark Void
|
||||
455, // Defend Order
|
||||
591, // Diamond Storm
|
||||
353, // Doom Desire
|
||||
582, // Electrify
|
||||
552, // Fiery Dance
|
||||
560, // Flying Press
|
||||
559, // Fusion Bolt
|
||||
558, // Fusion Flare
|
||||
601, // Geomancy
|
||||
549, // Glaciate
|
||||
543, // Head Charge
|
||||
456, // Heal Order
|
||||
607, // Hold Hands
|
||||
593, // Hyperspace Hole
|
||||
621, // Hyperspace Fury
|
||||
617, // Light of Ruin
|
||||
461, // Lunar Dance
|
||||
295, // Luster Purge
|
||||
463, // Magma Storm
|
||||
296, // Mist Ball
|
||||
302, // Needle Arm
|
||||
613, // Oblivion Wing
|
||||
190, // Octazooka
|
||||
618, // Origin Pulse
|
||||
570, // Parabolic Charge
|
||||
600, // Powder
|
||||
619, // Precipice Blades
|
||||
354, // Psycho Boost
|
||||
375, // Psycho Shift
|
||||
540, // Psystrike
|
||||
547, // Relic Song
|
||||
459, // Roar of Time
|
||||
027, // Rolling Kick
|
||||
221, // Sacred Fire
|
||||
545, // Searing Shot
|
||||
290, // Secret Power
|
||||
548, // Secret Sword
|
||||
465, // Seed Flare
|
||||
467, // Shadow Force
|
||||
493, // Simple Beam
|
||||
460, // Spacial Rend
|
||||
592, // Steam Eruption
|
||||
541, // Tail Slap
|
||||
546, // Techno Blast
|
||||
576, // Topsy-Turvy
|
||||
567, // Trick-or-Treat
|
||||
557, // V-create
|
||||
};
|
||||
|
||||
#endregion
|
||||
|
||||
#region Unreleased Items
|
||||
internal static readonly int[] UnreleasedHeldItems_7 =
|
||||
internal static readonly HashSet<int> UnreleasedHeldItems_7 = new HashSet<int>
|
||||
{
|
||||
005, // Safari Ball
|
||||
016, // Cherish Ball
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
|
|
@ -275,7 +274,7 @@ public PK4 ConvertToPK4()
|
|||
// Yay for reusing string buffers!
|
||||
StringConverter.G4TransferTrashBytes[pk4.Language].CopyTo(pk4.Data, 0x48 + 4);
|
||||
pk4.Nickname = IsEgg ? PKX.GetSpeciesNameGeneration(pk4.Species, pk4.Language, pk4.Format) : Nickname;
|
||||
Array.Copy(pk4.Data, 0x48, pk4.Data, 0x68, 0x10);
|
||||
Buffer.BlockCopy(pk4.Data, 0x48, pk4.Data, 0x68, 0x10);
|
||||
pk4.OT_Name = OT_Name;
|
||||
|
||||
// Set Final Data
|
||||
|
|
|
|||
|
|
@ -429,7 +429,7 @@ public PK5 ConvertToPK5()
|
|||
BitConverter.GetBytes((uint)0).CopyTo(pk5.Data, 0x44);
|
||||
|
||||
// Met / Crown Data Detection
|
||||
pk5.Met_Location = pk5.Gen4 && pk5.FatefulEncounter && Array.IndexOf(Legal.CrownBeasts, pk5.Species) >= 0
|
||||
pk5.Met_Location = pk5.Gen4 && pk5.FatefulEncounter && Legal.CrownBeasts.Contains(pk5.Species)
|
||||
? (pk5.Species == 251 ? 30010 : 30012) // Celebi : Beast
|
||||
: 30001; // Pokétransfer (not Crown)
|
||||
pk5.Egg_Location = Egg_Location;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user