diff --git a/PKHeX.Core/Game/GameStrings/GameStrings.cs b/PKHeX.Core/Game/GameStrings/GameStrings.cs index 626ef1eb8..e21a1c6b7 100644 --- a/PKHeX.Core/Game/GameStrings/GameStrings.cs +++ b/PKHeX.Core/Game/GameStrings/GameStrings.cs @@ -313,6 +313,14 @@ private void SanitizeItemsZA(Span items) // Seed of Mastery items[1622] += " (LA)"; items[2558] += " (ZA)"; + items[2612] += " (-)"; // Cherished Ring (2596), this one is a quest item you cannot actually possess in save file + + if (Language is French) // Mouchoir Sale + { + itemlist[0634] += " (G5)"; // Grubby Hanky + itemlist[2613] += " (ZA)"; // Dirty Scarf + } + // Canari Plushes Canari(items[2620..]); // Red Canari(items[2623..]); // Gold @@ -730,6 +738,9 @@ private static void SanitizeMetGen9a(LocationSet6 set) set.Met4[65] += " (-)"; // Pokémon GO -- duplicate with 30012 set.Met4[70] += " (-)"; // Pokémon HOME -- duplicate with 30018 set.Met6[05] += " (-)"; // Lumiose City (6005) -- duplicate with 30026 + set.Met3[33] += " (-)"; // Rouge Sector 1 (30033) -- duplicate with 70 + set.Met3[34] += " (-)"; // Hyperspace Lumiose (30034) -- duplicate with 273 + set.Met3[35] += " (-)"; // Quasartico Inc. -- duplicate with 62 Deduplicate(set.Met0, 00000); Deduplicate(set.Met3, 30000); diff --git a/PKHeX.Core/Game/Locations/Locations9a.cs b/PKHeX.Core/Game/Locations/Locations9a.cs index ac92a5a50..ae1f386ec 100644 --- a/PKHeX.Core/Game/Locations/Locations9a.cs +++ b/PKHeX.Core/Game/Locations/Locations9a.cs @@ -33,6 +33,10 @@ internal static class Locations9a 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, + + // Mega Dimension DLC + 273, 274, 275, 276, 277, 278, 279, + 280, 281, 282, 283, ]; /// @@ -43,7 +47,7 @@ internal static class Locations9a 30001, 30003, 30004, 30005, 30006, 30007, 30008, 30009, 30010, 30011, 30012, 30013, 30014, 30015, 30016, 30017, 30018, 30019, 30020, 30021, 30022, 30023, 30024, 30025, 30026, 30027, 30028, 30029, - 30030, 30031, 30032, + 30030, 30031, 30032, 30033, 30034, 30035, ]; /// diff --git a/PKHeX.Core/Items/ItemStorage9ZA.cs b/PKHeX.Core/Items/ItemStorage9ZA.cs index 0e6ee9f6f..9915c160a 100644 --- a/PKHeX.Core/Items/ItemStorage9ZA.cs +++ b/PKHeX.Core/Items/ItemStorage9ZA.cs @@ -11,6 +11,7 @@ public sealed class ItemStorage9ZA : IItemStorage [ 0017, 0018, 0019, 0020, 0021, 0022, 0023, 0024, 0025, 0026, 0027, 0028, 0029, 0030, 0031, 0032, 0033, 0708, + 2684, ]; public static ReadOnlySpan Balls => // 1 @@ -23,16 +24,19 @@ public sealed class ItemStorage9ZA : IItemStorage public static ReadOnlySpan Other => // 2 (Items) [ 0045, 0046, 0047, 0048, 0049, 0050, 0052, 0080, 0081, 0082, - 0083, 0084, 0085, 0103, 0107, 0108, 0109, 0214, 0217, 0218, - 0221, 0222, 0230, 0231, 0232, 0233, 0234, 0236, 0237, 0238, - 0239, 0240, 0241, 0242, 0243, 0244, 0245, 0246, 0247, 0248, - 0249, 0250, 0251, 0253, 0266, 0267, 0268, 0270, 0275, 0289, - 0290, 0291, 0292, 0293, 0294, 0296, 0538, 0540, 0564, 0565, - 0566, 0567, 0568, 0569, 0570, 0639, 0640, 0646, 0647, 0710, - 0711, 0795, 0796, 0849, 1124, 1125, 1126, 1127, 1128, 1231, - 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, - 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, - 1582, 1592, 2401, 2558, 2618, 2619, // Colorful Screw cannot be held. + 0083, 0084, 0085, 0103, 0107, 0108, 0109, 0116, 0117, 0118, + 0119, 0214, 0217, 0218, 0221, 0222, 0230, 0231, 0232, 0233, + 0234, 0236, 0237, 0238, 0239, 0240, 0241, 0242, 0243, 0244, + 0245, 0246, 0247, 0248, 0249, 0250, 0251, 0252, 0253, 0258, + 0259, 0266, 0267, 0268, 0270, 0275, 0289, 0290, 0291, 0292, + 0293, 0294, 0296, 0324, 0534, 0535, 0537, 0538, 0540, 0564, + 0565, 0566, 0567, 0568, 0569, 0570, 0639, 0640, 0646, 0647, + 0710, 0711, 0795, 0796, 0849, 1124, 1125, 1126, 1127, 1128, + 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, + 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, + 1251, 1582, 1592, 1691, 1861, 2137, 2344, 2401, 2558, 2618, + + 2619, // Colorful Screw cannot be held. ]; public static ReadOnlySpan Treasure => // 3 @@ -42,9 +46,11 @@ public sealed class ItemStorage9ZA : IItemStorage public static ReadOnlySpan Key => // 4 [ - 0632, 0700, 0765, 0847, 2588, 2589, 2590, 2591, 2592, 2595, - 2596, 2597, 2598, 2599, 2600, 2620, 2621, 2622, 2623, 2624, - 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, + 0632, 0700, 0765, 0847, 1278, 2588, 2589, 2590, 2591, 2592, + 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, + 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2613, 2620, + 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, + 2631, 2632, 2633, 2634, ]; @@ -54,6 +60,10 @@ public sealed class ItemStorage9ZA : IItemStorage 0170, 0171, 0172, 0173, 0174, 0184, 0185, 0186, 0187, 0188, 0189, 0190, 0191, 0192, 0193, 0194, 0195, 0196, 0197, 0198, 0199, 0200, 0686, + 2651, 2652, 2653, 2654, 2655, 2656, 2657, + 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, + 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2677, + 2678, 2679, 2680, 2681, 2682, 2683, ]; public static ReadOnlySpan TM => // 6 @@ -69,17 +79,27 @@ public sealed class ItemStorage9ZA : IItemStorage 0408, 0409, 0410, 0411, 0412, 0413, 0414, 0415, 0416, 0417, 0418, 0419, 0618, 0619, 0620, 0690, 0691, 0692, 0693, 2160, 2162, 2163, 2164, 2165, 2166, 2167, 2168, + 2169, 2170, 2171, + 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, + 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, + 2192, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, + 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, + 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, + ]; public static ReadOnlySpan MegaStones => // 7 [ - 0656, 0657, 0658, 0659, 0660, 0661, 0662, 0663, 0665, 0666, - 0667, 0668, 0669, 0670, 0671, 0672, 0673, 0674, 0675, 0676, - 0677, 0678, 0679, 0680, 0681, 0682, 0683, 0754, 0755, 0756, - 0757, 0758, 0759, 0760, 0761, 0762, 0763, 0764, 0767, 0768, - 0769, 0770, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, - 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, - 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2587, + 0656, 0657, 0658, 0659, 0660, 0661, 0662, 0663, 0664, 0665, + 0666, 0667, 0668, 0669, 0670, 0671, 0672, 0673, 0674, 0675, + 0676, 0677, 0678, 0679, 0680, 0681, 0682, 0683, 0684, 0685, + 0752, 0753, 0754, 0755, 0756, 0757, 0758, 0759, 0760, 0761, + 0762, 0763, 0764, 0767, 0768, 0769, 0770, 2559, 2560, 2561, + 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, + 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, + 2582, 2583, 2584, 2585, 2586, 2587, 2635, 2636, 2637, 2638, + 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, + 2649, 2650, ]; internal static ReadOnlySpan ValidTypes => @@ -97,8 +117,12 @@ public sealed class ItemStorage9ZA : IItemStorage public static ReadOnlySpan Unreleased => [ - 0005, // Safari Ball (Season 3 Ranked Reward) - 0851, // Beast Ball + 0664, // Blazikenite + 0752, // Swampertite + 0753, // Sceptilite + + 2640, // Garchompite Z + 2648, // Baxcalibrite ]; public int GetMax(InventoryType type) => type switch @@ -147,11 +171,16 @@ public static InventoryType GetInventoryPouch(ushort itemIndex) public static bool IsMegaStone(ushort item) => MegaStones.Contains(item); /// - /// Retrieves the expected Mega Stone item ID for a given Pokémon species and form. + /// Retrieves the expected Mega Stone or Primal Orb item ID for a given Pokémon species and form. /// - /// 0 if no item is expected for this species and form combination (in other words, not a mega form). - public static ushort GetExpectedMegaStone(ushort species, byte form) => (Species)species switch + /// 0 if no item is expected for this species and form combination (in other words, not a Mega Evolution or Primal Reversion). + public static ushort GetExpectedMegaStoneOrPrimalOrb(ushort species, byte form) => (Species)species switch { + // Primal Reversions + Groudon when form == 1 => 0534, + Kyogre when form == 1 => 0535, + + // X/Y Mega Evolutions Gengar when form == 1 => 0656, Gardevoir when form == 1 => 0657, Ampharos when form == 1 => 0658, @@ -182,6 +211,8 @@ public static InventoryType GetInventoryPouch(ushort itemIndex) Garchomp when form == 1 => 0683, Latias when form == 1 => 0684, Latios when form == 1 => 0685, + + // OR/AS Mega Evolutions Swampert when form == 1 => 0752, Sceptile when form == 1 => 0753, Sableye when form == 1 => 0754, @@ -199,6 +230,8 @@ public static InventoryType GetInventoryPouch(ushort itemIndex) Lopunny when form == 1 => 0768, Salamence when form == 1 => 0769, Beedrill when form == 1 => 0770, + + // Z-A Mega Evolutions Clefable when form == 1 => 2559, Victreebel when form == 1 => 2560, Starmie when form == 1 => 2561, @@ -229,14 +262,14 @@ public static InventoryType GetInventoryPouch(ushort itemIndex) Zeraora when form == 1 => 2586, Falinks when form == 1 => 2587, - // DLC Mega Stones + // Mega Dimension Mega Evolutions Raichu when form == 2 => 2635, // X Raichu when form == 3 => 2636, // Y Chimecho when form == 1 => 2637, - Absol when form == 2 => 2638, // ZA + Absol when form == 2 => 2638, // Z Staraptor when form == 1 => 2639, - Garchomp when form == 2 => 2640, // ZA - Lucario when form == 2 => 2641, // ZA + Garchomp when form == 2 => 2640, // Z + Lucario when form == 2 => 2641, // Z Golurk when form == 1 => 2642, Meowstic when form == 2 => 2643, Crabominable when form == 1 => 2644, diff --git a/PKHeX.Core/Legality/Encounters/Data/Gen9/Encounters9a.cs b/PKHeX.Core/Legality/Encounters/Data/Gen9/Encounters9a.cs index 72ff107d3..1771cab74 100644 --- a/PKHeX.Core/Legality/Encounters/Data/Gen9/Encounters9a.cs +++ b/PKHeX.Core/Legality/Encounters/Data/Gen9/Encounters9a.cs @@ -50,6 +50,13 @@ internal static class Encounters9a new(0142,0,35,255) { Location = 30027, Shiny = Random, IsAlpha = true, FlawlessIVCount = 3 }, // Aerodactyl (restoration_ptera) new(0696,0,35,255) { Location = 30027, Shiny = Random, IsAlpha = true, FlawlessIVCount = 3 }, // Tyrunt (restoration_chigoras) new(0698,0,35,255) { Location = 30027, Shiny = Random, IsAlpha = true, FlawlessIVCount = 3 }, // Amaura (restoration_amarus) + + #region Sankaku + new(0801,0,80,128) { Location = 00000, Nature = Nature.Modest, FlawlessIVCount = 3 }, // Magearna (sub_addpoke_magiana) + new(0809,0,80,128) { Location = 00000, Nature = Nature.Adamant, FlawlessIVCount = 3 }, // Melmetal (sub_addpoke_merumetal) + new(0720,0,80,128) { Location = 00000, Nature = Nature.Lonely, FlawlessIVCount = 3, Moves = new(593,094,417,566) }, // Hoopa (sub_addpoke_huupa) + new(0999,0,05,128) { Location = 30033, Nature = Nature.Bold, FlawlessIVCount = 3, Trainer = TrainerGift9a.Gimmighoul }, // Gimmighoul (sub_addpoke_korekure) + #endregion ]; internal static readonly EncounterStatic9a[] Static = @@ -77,6 +84,52 @@ internal static class Encounters9a new(0703,0,66,128) { Location = 00063, FlawlessIVCount = 3, Moves = new(444,430,605,157) }, // Carbink (sub_119_melecie_01) new(0703,0,66,128) { Location = 00063, FlawlessIVCount = 3, Moves = new(444,446,408,605) }, // Carbink (sub_119_melecie_02) new(0719,0,70,128) { Location = 00063, FlawlessIVCount = 3, Moves = new(591,585,446,577) }, // Diancie (sub_119_diancie) + + #region Sankaku + // Rogue Mega Evolution + new(0359,0,75,255) { Location = 00275, Gender = 1, Nature = Nature.Quiet, IVs = new(31,31,20,28,31,18), Moves = new(282,400,555,425) }, // Absol (btl_ect_boss_0359_z_01) + new(0384,0,85,128) { Location = 00283, Nature = Nature.Brave, IVs = new(31,31,29,20,31,29), Moves = new(620,304,800,200) }, // Rayquaza (ect_boss_0384_01) + new(0398,0,75,255) { Location = 00276, Gender = 0, Nature = Nature.Adamant, IVs = new(31,31,15,24,31,20), Moves = new(411,814,038,370) }, // Staraptor (btl_ect_boss_0398_01) + new(0485,0,80,128) { Location = 00279, Gender = 0, Nature = Nature.Bold, IVs = new(31,31,28,08,31,25), Moves = new(463,430,523,315) }, // Heatran (btl_ect_boss_0485_01) + new(0491,0,85,128) { Location = 00280, Nature = Nature.Careful, IVs = new(31,31,18,26,31,21), Moves = new(464,248,138,555) }, // Darkrai (btl_ect_boss_0491_01) + new(0678,0,75,255) { Location = 00278, Gender = 0, Nature = Nature.Calm, IVs = new(31,31,22,24,31,25), Moves = new(094,115,113,060) }, // Meowstic (btl_ect_boss_0678_01) + new(0807,0,85,128) { Location = 00273, Nature = Nature.Brave, IVs = new(31,31,19,27,31,15), Moves = new(721,223,527,528) }, // Zeraora (btl_ect_boss_0807_01) + new(0978,0,75,255) { Location = 00277, Gender = 0, Nature = Nature.Timid, IVs = new(31,31,16,30,31,28), Moves = new(127,058,407,250) }, // Tatsugiri (btl_ect_boss_0952_01) + + // Rogue Primal Reversion + new(0382,0,80,128) { Location = 00281, Nature = Nature.Modest, IVs = new(31,31,12,22,31,28), Moves = new(618,058,057,087) }, // Kyogre (ect_boss_0382_01) + new(0383,0,80,128) { Location = 00282, Nature = Nature.Impish, IVs = new(31,31,24,25,31,18), Moves = new(619,126,076,815) }, // Groudon (ect_boss_0383_01) + + // Legendary Pokémon + new(0380,0,60,128) { Location = 00000, Shiny = Random, Gender = 1, IVs = new(12,07,31,16,31,31) }, // Latias (ect_zdm404_sp06_380_sp) + new(0381,0,60,128) { Location = 00000, Shiny = Random, Gender = 0, IVs = new(31,31,31,16,16,07) }, // Latios (ect_zdm404_sp07_381_sp) + new(0638,0,60,128) { Location = 00000, Shiny = Random, IVs = new(12,31,31,31,16,07) }, // Cobalion (ect_zdm406_sp01_638_sp) + new(0639,0,60,128) { Location = 00000, Shiny = Random, IVs = new(31,31,16,31,12,07) }, // Terrakion (ect_zdm406_sp02_639_sp) + new(0640,0,60,128) { Location = 00000, Shiny = Random, IVs = new(16,31,12,31,31,07) }, // Virizion (ect_zdm406_sp03_640_sp) + + // Mythical Pokémon + new(0647,0,60,128) { Location = 00000, IVs = new(07,31,31,31,16,12) }, // Keldeo (ect_zdm402_sp04_647_sp) + new(0648,0,60,128) { Location = 00000, IVs = new(07,31,12,31,31,16) }, // Meloetta (ect_zdm402_sp05_648_sp) + new(0649,0,60,128) { Location = 00000, FlawlessIVCount = 3, Moves = new(546,430,679,405) }, // Genesect (Ev_sub_196_030) + new(0721,0,80,128) { Location = 00000, FlawlessIVCount = 3, Moves = new(592,056,114,315) }, // Volcanion (Ev_sub_201_011) + new(0802,0,80,128) { Location = 00000, FlawlessIVCount = 3, Moves = new(712,370,325,425) }, // Marshadow (Ev_sub_197_010) + new(0808,0,70,128) { Location = 00000, FlawlessIVCount = 3, Moves = new(430,151,693,000) }, // Meltan (Ev_sub_200_010) + + // Side Missions + new(0551,0,38,128) { Location = 00093, Nature = Nature.Adamant, Moves = new(044,043,242,091) }, // Sandile (sub_152_020_1) + new(0552,0,50,128) { Location = 00093, Nature = Nature.Adamant, Moves = new(044,043,242,328) }, // Krokorok (sub_152_020_3) + new(0769,0,40,128) { Location = 00211, Nature = Nature.Impish, Moves = new(328,523,334,202) }, // Sandygast (Ev_sub_157_010_1) + new(0827,0,15,128) { Location = 00045, Gender = 1, Nature = Nature.Naughty, Moves = new(046,555,098,039) }, // Nickit (Ev_sub_160_040) + new(0932,0,40,128) { Location = 00030, Gender = 1, Nature = Nature.Impish, Moves = new(446,334,088,105) }, // Nacli (sub_153_010_kojio) + + // TODO ZA DLC - VERIFY WHAT IS AND IS NOT CATCHABLE + new(0026,0,60,255) { Location = 00000, Gender = 0, Moves = new(087,063,130,000), IsAlpha = true }, // Raichu (ect_subq147_p1) + new(0450,0,60,255) { Location = 00000, Gender = 0, Moves = new(089,090,000,000) }, // Hippowdon (ect_subq147_p2) + new(0450,0,60,255) { Location = 00000, Gender = 0, Moves = new(091,446,157,000) }, // Hippowdon (ect_subq147_p2b) + new(0181,0,60,255) { Location = 00000, Gender = 0, Moves = new(451,087,000,000) }, // Ampharos (ect_subq147_p3) + new(0181,0,60,255) { Location = 00000, Gender = 0, Moves = new(192,129,000,000) }, // Ampharos (ect_subq147_p3b) + new(0349,0,17,000) { Location = 00000, Shiny = Random }, // Feebas (ect_subq173_349) + #endregion ]; private const string tradeZA = "tradeza"; @@ -87,5 +140,6 @@ internal static class Encounters9a new(TradeNames,1,0447,0,25) { ID32 = 348226, OTGender = 0, Gender = 0, Nature = Nature.Rash, IVs = new(15,31,15,31,31,15), Moves = new(418,098,249,197) }, // Riolu (sub_tradepoke_riolu) new(TradeNames,2,0079,1,30) { ID32 = 934764, OTGender = 0, Gender = 0, FlawlessIVCount = 3, Moves = new(352,133,428,029) }, // Slowpoke-1 (sub_addpoke_gyadon) new(TradeNames,3,0026,1,64) { ID32 = 693489, OTGender = 1, Gender = 0, Nature = Nature.Jolly, IVs = new(20,20,20,20,20,20), Moves = new(094,087,057,583) }, // Raichu-1 (sub_addpoke_araichu) + new(TradeNames,4,0233,0,50) { ID32 = 000000, OTGender = 0, Gender = 2, Nature = Nature.Modest }, // Porygon2 (sub_tradepoke_poligon2) -- TODO ZA DLC FIND TID ]; } diff --git a/PKHeX.Core/Legality/Encounters/Templates/Gen9a/EncounterGift9a.cs b/PKHeX.Core/Legality/Encounters/Templates/Gen9a/EncounterGift9a.cs index 73d10ded5..62928d84f 100644 --- a/PKHeX.Core/Legality/Encounters/Templates/Gen9a/EncounterGift9a.cs +++ b/PKHeX.Core/Legality/Encounters/Templates/Gen9a/EncounterGift9a.cs @@ -6,7 +6,7 @@ namespace PKHeX.Core; /// Gift Encounter found in . /// public sealed record EncounterGift9a(ushort Species, byte Form, byte Level, byte Size = EncounterGift9a.NoScale) - : IEncounter9a, IEncounterConvertible, IFixedGender, IFixedNature, IFixedIVSet, IMoveset, IFixedTrainer + : IEncounter9a, IEncounterConvertible, IFixedGender, IFixedNature, IFixedIVSet, IMoveset, IFixedTrainer, IFixedNickname { public byte Generation => 9; private const GameVersion Version = GameVersion.ZA; @@ -36,11 +36,18 @@ public sealed record EncounterGift9a(ushort Species, byte Form, byte Level, byte public string LongName => Name; public bool IsFixedTrainer => Trainer != TrainerGift9a.None; + public bool IsFixedNickname => Trainer == TrainerGift9a.Gimmighoul; public bool IsTrainerMatch(PKM pk, ReadOnlySpan trainer, int language) { var expect = GetFixedTrainerName(Trainer, pk.Language); return trainer.SequenceEqual(expect); } + public bool IsNicknameMatch(PKM pk, ReadOnlySpan nickname, int language) + { + var expect = GetGimmighoulFixedNickname(Trainer, pk.Language); + return nickname.SequenceEqual(expect); + } + public string GetNickname(int language) => IsFixedNickname ? GetGimmighoulFixedNickname(Trainer, language) : SpeciesName.GetSpeciesNameGeneration(Species, language, Generation); #region Generating @@ -65,7 +72,7 @@ public PA9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria) IsAlpha = IsAlpha, Ball = (byte)Ball.Poke, - Nickname = SpeciesName.GetSpeciesNameGeneration(Species, lang, Generation), + Nickname = GetNickname(lang), ObedienceLevel = LevelMin, }; @@ -80,6 +87,12 @@ public PA9 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria) pk.OriginalTrainerName = GetFixedTrainerName(Trainer, lang); pk.OriginalTrainerGender = GetFixedTrainerGender(Trainer); pk.ID32 = GetFixedTrainerID32(Trainer); + + if (Trainer is TrainerGift9a.Gimmighoul) + { + pk.IsNicknamed = true; + pk.Nickname = GetGimmighoulFixedNickname(Trainer, lang); + } } SetPINGA(pk, criteria, pi); @@ -243,6 +256,7 @@ private static bool IsMatchFixedTrainer(PKM pk, TrainerGift9a trainer) TrainerGift9a.Lucario => 912562, TrainerGift9a.Floette => 1, TrainerGift9a.Stunfisk => 250932, + TrainerGift9a.Gimmighoul => 115090, _ => throw new ArgumentOutOfRangeException(nameof(trainer), trainer, null), }; @@ -251,6 +265,7 @@ private static bool IsMatchFixedTrainer(PKM pk, TrainerGift9a trainer) TrainerGift9a.Lucario => 1, TrainerGift9a.Floette => 0, TrainerGift9a.Stunfisk => 0, + TrainerGift9a.Gimmighoul => 0, _ => throw new ArgumentOutOfRangeException(nameof(trainer), trainer, null), }; @@ -298,8 +313,37 @@ private static bool IsMatchFixedTrainer(PKM pk, TrainerGift9a trainer) (int)LanguageID.SpanishL => "René", _ => throw new ArgumentOutOfRangeException(nameof(language), language, null), }, + TrainerGift9a.Gimmighoul => language switch + { + (int)LanguageID.Japanese => "セロ", + (int)LanguageID.English => "Thelo", + (int)LanguageID.French => "Thélo", + (int)LanguageID.Italian => "Petens", + (int)LanguageID.German => "Will", + (int)LanguageID.Spanish => "Thelo", + (int)LanguageID.Korean => "텔로", + (int)LanguageID.ChineseS => "法才", + (int)LanguageID.ChineseT => "法才", + (int)LanguageID.SpanishL => "Turian", + _ => throw new ArgumentOutOfRangeException(nameof(language), language, null), + }, _ => throw new ArgumentOutOfRangeException(nameof(trainer), trainer, null), }; + + private static string GetGimmighoulFixedNickname(TrainerGift9a trainer, int language) => language switch + { + (int)LanguageID.Japanese => "はこいり", + (int)LanguageID.English => "Chestly", + (int)LanguageID.French => "Trésor", + (int)LanguageID.Italian => "Bauletto", + (int)LanguageID.German => "Schätzchen", + (int)LanguageID.Spanish => "Tesorina", + (int)LanguageID.Korean => "보무리", + (int)LanguageID.ChineseS => "千金", + (int)LanguageID.ChineseT => "千金", + (int)LanguageID.SpanishL => "Tesorita", + _ => throw new ArgumentOutOfRangeException(nameof(language), language, null), + }; } public enum TrainerGift9a : byte @@ -308,4 +352,5 @@ public enum TrainerGift9a : byte Lucario, Floette, Stunfisk, + Gimmighoul, } diff --git a/PKHeX.Core/Legality/Encounters/Templates/Gen9a/EncounterStatic9a.cs b/PKHeX.Core/Legality/Encounters/Templates/Gen9a/EncounterStatic9a.cs index 376c8f64b..656a61831 100644 --- a/PKHeX.Core/Legality/Encounters/Templates/Gen9a/EncounterStatic9a.cs +++ b/PKHeX.Core/Legality/Encounters/Templates/Gen9a/EncounterStatic9a.cs @@ -28,7 +28,7 @@ public sealed record EncounterStatic9a(ushort Species, byte Form, byte Level, by public Moveset Moves { get; init; } public IndividualValueSet IVs { get; init; } public Nature Nature { get; init; } = Nature.Random; - public required byte Location { get; init; } + public required ushort Location { get; init; } public byte Gender { get; init; } = FixedGenderUtil.GenderRandom; public Shiny Shiny { get; init; } = Shiny.Never; public bool IsAlpha { get; init; } diff --git a/PKHeX.Core/Legality/Evolutions/Methods/EvolutionType.cs b/PKHeX.Core/Legality/Evolutions/Methods/EvolutionType.cs index 625b183a6..fd8f9c65a 100644 --- a/PKHeX.Core/Legality/Evolutions/Methods/EvolutionType.cs +++ b/PKHeX.Core/Legality/Evolutions/Methods/EvolutionType.cs @@ -74,6 +74,7 @@ public enum EvolutionType : byte LevelUpRecoilDamageFemale = 60, // Basculegion-1 Hisui = 61, + UseMovePlusStyle = 62, // These are fake IDs as PLA indexes clashed with mainline. UseItemFullMoon = 90, // Ursaluna @@ -172,6 +173,7 @@ public static class EvolutionTypeExtensions UseItemFullMoon => false, UseMoveAgileStyle => false, UseMoveStrongStyle => false, + UseMovePlusStyle => false, _ => throw new ArgumentOutOfRangeException(nameof(type), type, null), }; } diff --git a/PKHeX.Core/Legality/Legal.cs b/PKHeX.Core/Legality/Legal.cs index 9b682f3dd..326800484 100644 --- a/PKHeX.Core/Legality/Legal.cs +++ b/PKHeX.Core/Legality/Legal.cs @@ -132,11 +132,22 @@ public static class Legal internal const ushort MaxItemID_9_T2 = 2557; // Briar’s Book internal const ushort MaxAbilityID_9_T2 = (int)Ability.PoisonPuppeteer; - internal const int MaxSpeciesID_9a = (int)Species.Falinks; - internal const int MaxMoveID_9a = (int)Move.NihilLight; - internal const int MaxItemID_9a = 2634; // Blue Canari Plush - internal const int MaxAbilityID_9a = (int)Ability.PoisonPuppeteer; - internal const int MaxBallID_9a = (int)Ball.LAOrigin; + internal const int MaxSpeciesID_9a = MaxSpeciesID_9a_MD; + internal const int MaxMoveID_9a = MaxMoveID_9a_IK; + internal const int MaxItemID_9a = MaxItemID_9a_MD; + internal const int MaxAbilityID_9a = MaxAbilityID_9a_IK; + internal const int MaxBallID_9a = MaxBallID_9a_IK; + + internal const int MaxSpeciesID_9a_IK = (int)Species.Falinks; + internal const int MaxMoveID_9a_IK = (int)Move.NihilLight; + internal const int MaxItemID_9a_IK = 2634; // Blue Canari Plush + internal const int MaxAbilityID_9a_IK = (int)Ability.PoisonPuppeteer; + internal const int MaxBallID_9a_IK = (int)Ball.LAOrigin; + + internal const int MaxSpeciesID_9a_MD = (int)Species.Gholdengo; + internal const int MaxMoveID_9a_MD = MaxMoveID_9a_IK; + internal const int MaxItemID_9a_MD = 2684; // Canari Bread + internal const int MaxAbilityID_9a_MD = MaxAbilityID_9a_IK; internal const int MaxBallID_9 = (int)Ball.LAOrigin; internal const GameVersion MaxGameID_HOME = GameVersion.VL; // TODO HOME ZA - Replace with ZA when HOME; if backwards transfer is allowed. If prevented, rename epoch as HOME1. diff --git a/PKHeX.Core/Legality/Localization/LegalityCheckLocalization.cs b/PKHeX.Core/Legality/Localization/LegalityCheckLocalization.cs index 03d19ec44..b45328104 100644 --- a/PKHeX.Core/Legality/Localization/LegalityCheckLocalization.cs +++ b/PKHeX.Core/Legality/Localization/LegalityCheckLocalization.cs @@ -238,6 +238,7 @@ public sealed class LegalityCheckLocalization public string IVNotCorrect { get; set; } = "IVs do not match encounter requirements."; public string IVFlawlessCountGEQ_0 { get; set; } = "Should have at least {0} IVs = 31."; + public string LevelBoostNotZero { get; set; } = "Level Boost should be zero."; public string LevelEXPThreshold { get; set; } = "Current experience matches level threshold."; public string LevelEXPTooHigh { get; set; } = "Current experience exceeds maximum amount for level 100."; public string LevelMetBelow { get; set; } = "Current level is below met level."; diff --git a/PKHeX.Core/Legality/Localization/LegalityCheckResultCodeExtensions.cs b/PKHeX.Core/Legality/Localization/LegalityCheckResultCodeExtensions.cs index 126269eb6..bc46027a0 100644 --- a/PKHeX.Core/Legality/Localization/LegalityCheckResultCodeExtensions.cs +++ b/PKHeX.Core/Legality/Localization/LegalityCheckResultCodeExtensions.cs @@ -258,6 +258,8 @@ public static class LegalityCheckResultCodeExtensions HintEvolvesToRareForm_0 => localization.HintEvolvesToRareForm_0, ItemEgg => localization.ItemEgg, ItemUnreleased => localization.ItemUnreleased, + + LevelBoostNotZero => localization.LevelBoostNotZero, LevelEXPThreshold => localization.LevelEXPThreshold, LevelEXPTooHigh => localization.LevelEXPTooHigh, LevelMetBelow => localization.LevelMetBelow, diff --git a/PKHeX.Core/Legality/Structures/LegalityCheckResultCode.cs b/PKHeX.Core/Legality/Structures/LegalityCheckResultCode.cs index 74d44ad02..44a2970ea 100644 --- a/PKHeX.Core/Legality/Structures/LegalityCheckResultCode.cs +++ b/PKHeX.Core/Legality/Structures/LegalityCheckResultCode.cs @@ -220,6 +220,7 @@ public enum LegalityCheckResultCode : ushort IVNotCorrect, // Level + LevelBoostNotZero, LevelEXPThreshold, LevelEXPTooHigh, LevelMetBelow, diff --git a/PKHeX.Core/Legality/Tables/FormInfo.cs b/PKHeX.Core/Legality/Tables/FormInfo.cs index 5e4c6720b..7453393b7 100644 --- a/PKHeX.Core/Legality/Tables/FormInfo.cs +++ b/PKHeX.Core/Legality/Tables/FormInfo.cs @@ -36,6 +36,13 @@ public static bool IsMegaForm(ushort species, byte form) return false; } + /// + /// Checks if the form is a Primal form. + /// + /// Entity species + /// Entity form + public static bool IsPrimalForm(ushort species, byte form) => species is (ushort)Kyogre or (ushort)Groudon && form == 1; + /// /// Checks if the species has a Mega form. /// @@ -57,11 +64,16 @@ public static bool IsMegaForm(ushort species, byte form) private static bool IsBattleMegaForm(ushort species, byte form) => species switch { + (ushort)Raichu => form is 2 or 3, (ushort)Slowbro => form == 1, (ushort)Zygarde => form == 5, (ushort)Floette => form == 6, (ushort)Greninja => form == 3, - _ => form != 0 + (ushort)Meowstic => form == 2, + (ushort)Magearna => form == 2, + (ushort)Tatsugiri => form is (3 or 4 or 5), + + _ => form != 0, }; /// @@ -272,9 +284,23 @@ public static bool IsFormChangeable(ushort species, byte oldForm, byte newForm, (int)Floette, - //(int)Heatran, - //(int)Darkrai, - //(int)Zeraora, + (int)Heatran, + (int)Darkrai, + (int)Zeraora, + + (int)Raichu, + (int)Magearna, + (int)Tatsugiri, + (int)Meowstic, + + (int)Chimecho, + (int)Staraptor, + (int)Golurk, + (int)Crabominable, + (int)Golisopod, + (int)Scovillain, + (int)Baxcalibur, + (int)Glimmora, ]; /// diff --git a/PKHeX.Core/Legality/Verifiers/FormVerifier.cs b/PKHeX.Core/Legality/Verifiers/FormVerifier.cs index 24dcf2fd9..a698b70aa 100644 --- a/PKHeX.Core/Legality/Verifiers/FormVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/FormVerifier.cs @@ -196,10 +196,10 @@ private CheckResult VerifyBattleForms9a(LegalityAnalysis data, ushort species, b return GetInvalid(FormBattle); // Should have reverted to base form when stored. // Battle forms can exist in Party. - if (!FormInfo.IsMegaForm(species, form)) + if (!FormInfo.IsMegaForm(species, form) && !FormInfo.IsPrimalForm(species, form)) return VALID; - var megaStone = ItemStorage9ZA.GetExpectedMegaStone(species, form); + var megaStone = ItemStorage9ZA.GetExpectedMegaStoneOrPrimalOrb(species, form); if (megaStone == 0 || data.Entity.HeldItem == megaStone) return VALID; diff --git a/PKHeX.Core/Legality/Verifiers/LegendsZAVerifier.cs b/PKHeX.Core/Legality/Verifiers/LegendsZAVerifier.cs index 61ae9b821..0d430ecaf 100644 --- a/PKHeX.Core/Legality/Verifiers/LegendsZAVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/LegendsZAVerifier.cs @@ -14,6 +14,9 @@ public override void Verify(LegalityAnalysis data) CheckLearnset(data, pa9); CheckFlagsTM(data, pa9); CheckFlagsPlus(data, pa9); + + if (pa9.LevelBoost is not 0) + data.AddLine(GetInvalid(LevelBoostNotZero)); } private void CheckLearnset(LegalityAnalysis data, PA9 pa) @@ -125,7 +128,7 @@ private void CheckFlagsTM(LegalityAnalysis data, PA9 pa9) var enc = data.EncounterMatch; if (enc.Context is not EntityContext.Gen9a) return; - if (enc is not IAlphaReadOnly { IsAlpha: true }) + if (enc is WA9 or not IAlphaReadOnly { IsAlpha: true }) return; var pi = PersonalTable.ZA[enc.Species, enc.Form]; diff --git a/PKHeX.Core/Moves/MoveInfo9a.cs b/PKHeX.Core/Moves/MoveInfo9a.cs index 12462e746..69922a8e7 100644 --- a/PKHeX.Core/Moves/MoveInfo9a.cs +++ b/PKHeX.Core/Moves/MoveInfo9a.cs @@ -118,12 +118,12 @@ internal static class MoveInfo9a /// public static ReadOnlySpan DummiedMoves => [ - 0x7E, 0xBC, 0xB0, 0xDF, 0x29, 0x82, 0x0E, 0x40, 0x7E, 0x01, 0x05, 0x04, 0x69, 0xC8, 0xA1, 0x3A, 0xDD, 0xDD, - 0x3F, 0xDD, 0xE3, 0xAF, 0x3F, 0x6F, 0xC6, 0xC2, 0xF5, 0x77, 0x7C, 0x62, 0x5B, 0xF8, 0xDD, 0xCF, 0xFD, 0xFA, - 0xFF, 0xFD, 0xFE, 0x55, 0xFF, 0xA6, 0xC5, 0xA4, 0xFE, 0xFF, 0xF9, 0xFD, 0xBF, 0x2A, 0x06, 0x86, 0x08, 0xA4, - 0x83, 0xA9, 0xCF, 0xFD, 0xFF, 0xFD, 0xEB, 0xFF, 0xFF, 0xFF, 0xFF, 0x35, 0x6C, 0xAB, 0xFF, 0xE7, 0x2E, 0x13, - 0x7C, 0x68, 0xA0, 0xDD, 0x05, 0xDC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x7F, 0x7F, 0xDF, 0xFF, 0xBF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x2E, 0x9C, 0xB0, 0xDF, 0x29, 0x02, 0x0E, 0x40, 0x7E, 0x01, 0x04, 0x00, 0x29, 0xC8, 0xA1, 0x3A, 0xD9, 0x59, + 0x37, 0xD5, 0xE0, 0xAF, 0x3E, 0x6F, 0xC6, 0x02, 0xF5, 0x77, 0x7C, 0x62, 0x1B, 0xE8, 0x55, 0xCF, 0xFD, 0xFA, + 0x7F, 0xF4, 0xE4, 0x15, 0xDF, 0x80, 0xC1, 0xA4, 0xFE, 0xFF, 0xF9, 0xFD, 0xBF, 0x2A, 0x02, 0x80, 0x08, 0xA4, + 0x83, 0xA1, 0xC7, 0x79, 0xFA, 0xFD, 0xEA, 0xF2, 0x7F, 0xDF, 0xFF, 0x25, 0x48, 0xAB, 0xE3, 0xE7, 0x2E, 0x13, + 0x7C, 0x68, 0xA0, 0xDD, 0x05, 0xC0, 0xFF, 0xFF, 0xFF, 0xFF, 0xE7, 0x9D, 0x7F, 0x7F, 0xDF, 0xFF, 0xA9, 0xFE, + 0xFD, 0xFF, 0xBF, 0xEF, 0xFD, 0xFF, 0xFF, 0x7F, 0xFA, 0x6B, 0xFE, 0x0F, 0xFF, 0xBF, 0x7F, 0xFF, 0xBF, 0xBA, + 0xFA, 0xFB, 0x9E, 0xD1, 0xFF, 0xFF, 0xFF ]; } diff --git a/PKHeX.Core/MysteryGifts/WA9.cs b/PKHeX.Core/MysteryGifts/WA9.cs index f9b279f77..42fd3a3a4 100644 --- a/PKHeX.Core/MysteryGifts/WA9.cs +++ b/PKHeX.Core/MysteryGifts/WA9.cs @@ -153,7 +153,7 @@ public override ushort SID16 public override byte Form { get => Data[0x272]; set => Data[0x272] = value; } public override byte Gender { get => Data[0x273]; set => Data[0x273] = value; } public override byte Level { get => Data[0x274]; set => Data[0x274] = value; } - public override bool IsEgg { get => Data[0x275] == 1; set => Data[0x275] = value ? (byte)1 : (byte)0; } // before level; might be a flag for random level? + public override bool IsEgg { get => Data[0x275] == 1; set => Data[0x275] = value ? (byte)1 : (byte)0; } public Nature Nature { get @@ -843,7 +843,8 @@ public GenerateParam9a GetParams(PersonalInfo9ZA pi) { const byte rollCount = 1; var hp = IV_HP; - var ivs = new IndividualValueSet((sbyte)hp, (sbyte)IV_ATK, (sbyte)IV_DEF, (sbyte)IV_SPE, (sbyte)IV_SPA, (sbyte)IV_SPD); + var flawless = FlawlessIVCount; + var ivs = flawless != 0 ? default : new IndividualValueSet((sbyte)hp, (sbyte)IV_ATK, (sbyte)IV_DEF, (sbyte)IV_SPE, (sbyte)IV_SPA, (sbyte)IV_SPD); var sizeType = Scale == 256 ? SizeType9.RANDOM : SizeType9.VALUE; var gender = Gender switch { @@ -852,14 +853,14 @@ public GenerateParam9a GetParams(PersonalInfo9ZA pi) 2 => PersonalInfo.RatioMagicGenderless, _ => pi.Gender, }; - return new GenerateParam9a(gender, FlawlessIVCount, rollCount, Correlation, sizeType, (byte)Scale, Nature, Ability, Shiny, ivs); + return new GenerateParam9a(gender, flawless, rollCount, Correlation, sizeType, (byte)Scale, Nature, Ability, Shiny, ivs); } private static byte GetFlawlessIVCount(int hp) { - var tryFlawless = 0xFF - hp; - if ((uint)tryFlawless < 6) - return (byte)tryFlawless; + var tryFlawless = hp - 0xFC; + if ((uint)tryFlawless < 3) + return (byte)(tryFlawless + 1); return 0; } } diff --git a/PKHeX.Core/PKM/PA9.cs b/PKHeX.Core/PKM/PA9.cs index 367a6669c..4a35c62eb 100644 --- a/PKHeX.Core/PKM/PA9.cs +++ b/PKHeX.Core/PKM/PA9.cs @@ -317,8 +317,9 @@ public void FixRelearn() public byte HeightScalar { get => Data[0x48]; set => Data[0x48] = value; } public byte WeightScalar { get => Data[0x49]; set => Data[0x49] = value; } public byte Scale { get => Data[0x4A]; set => Data[0x4A] = value; } + public byte LevelBoost { get => Data[0x4B]; set => Data[0x4B] = value; } - // 0x4B-0x57 is unused. S/V used them for DLC TM Record Flags. + // 0x4C-0x57 is unused. S/V used them for DLC TM Record Flags. #endregion #region Block B @@ -679,9 +680,17 @@ private void SetMovePlusFlag1(bool value, int index) } public bool GetMovePlusFlagAny() => GetMovePlusFlagAny0() || GetMovePlusFlagAny1(); - public bool GetMovePlusFlagAnyImpossible() => PlusFlags0 is not [.., 0, 0] - || ((PlusFlags0[^3] & ~0x7F) != 0) // 17 bits unused - || GetMovePlusFlagAny1(); // All bits unused + public bool GetMovePlusFlagAnyImpossible() + { + // 340 flags used of 360 + var tail = PlusFlags1; + if (tail is not [.., 0, 0]) + return true; + // 20 bits unused -- 2 bytes + 4 bits (high) unused + if ((tail[^3] & 0b11110000) != 0) + return true; + return false; + } private bool GetMovePlusFlagAny0() => PlusFlags0.ContainsAnyExcept(0); private bool GetMovePlusFlagAny1() => PlusFlags1.ContainsAnyExcept(0); diff --git a/PKHeX.Core/PKM/Util/Conversion/FormConverter.cs b/PKHeX.Core/PKM/Util/Conversion/FormConverter.cs index 47d3a9bac..4c719d5ee 100644 --- a/PKHeX.Core/PKM/Util/Conversion/FormConverter.cs +++ b/PKHeX.Core/PKM/Util/Conversion/FormConverter.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core; /// -/// Retrieves localized form names for indicating values. +/// Retrieves localized form names for indicating values. /// public static class FormConverter { @@ -22,8 +22,6 @@ public static class FormConverter /// A list of strings corresponding to the forms that a Pokémon can have. public static string[] GetFormList(ushort species, IReadOnlyList types, IReadOnlyList forms, IReadOnlyList genders, EntityContext context) { - byte generation = context.Generation(); - // Mega List if (context.IsMegaContext() && IsFormListSingleMega(species, context)) return GetMegaSingle(types, forms); @@ -35,13 +33,13 @@ public static string[] GetFormList(ushort species, IReadOnlyList types, { <= Legal.MaxSpeciesID_1 => GetFormsGen1(species, types, forms, context), <= Legal.MaxSpeciesID_2 => GetFormsGen2(species, types, forms, context), - <= Legal.MaxSpeciesID_3 => GetFormsGen3(species, types, forms, generation), - <= Legal.MaxSpeciesID_4 => GetFormsGen4(species, types, forms, generation), - <= Legal.MaxSpeciesID_5 => GetFormsGen5(species, types, forms, generation), + <= Legal.MaxSpeciesID_3 => GetFormsGen3(species, types, forms, context), + <= Legal.MaxSpeciesID_4 => GetFormsGen4(species, types, forms, context), + <= Legal.MaxSpeciesID_5 => GetFormsGen5(species, types, forms, context), <= Legal.MaxSpeciesID_6 => GetFormsGen6(species, types, forms, genders, context), - <= Legal.MaxSpeciesID_7_USUM => GetFormsGen7(species, types, forms, generation), - <= Legal.MaxSpeciesID_8a => GetFormsGen8(species, generation, types, forms, genders), - _ => GetFormsGen9(species, generation, types, forms, genders), + <= Legal.MaxSpeciesID_7_USUM => GetFormsGen7(species, types, forms, context), + <= Legal.MaxSpeciesID_8a => GetFormsGen8(species, context, types, forms, genders), + _ => GetFormsGen9(species, context, types, forms, genders), }; } @@ -60,7 +58,6 @@ public static string[] GetFormList(ushort species, IReadOnlyList types, private static string[] GetFormsGen1(ushort species, IReadOnlyList types, IReadOnlyList forms, EntityContext context) { - byte generation = context.Generation(); return (Species)species switch { Charizard or Mewtwo when context.IsMegaContext() => GetMegaXY(types, forms), @@ -70,11 +67,11 @@ private static string[] GetFormsGen1(ushort species, IReadOnlyList types Starter, ], Pikachu => GetFormsPikachu(context, types, forms), - Slowbro when generation >= 8 => GetFormsGalarSlowbro(types, forms), + Slowbro when context.Generation() >= 8 => GetFormsGalarSlowbro(types, forms), - Weezing or Ponyta or Rapidash or Slowpoke or MrMime or Farfetchd or Articuno or Zapdos or Moltres when generation >= 8 => GetFormsGalar(types, forms), - Growlithe or Arcanine or Voltorb or Electrode when generation >= 8 => GetFormsHisui(species, generation, types, forms), - Tauros when generation >= 9 => GetFormsPaldea(species, types, forms), + Weezing or Ponyta or Rapidash or Slowpoke or MrMime or Farfetchd or Articuno or Zapdos or Moltres when context.Generation() >= 8 => GetFormsGalar(types, forms), + Growlithe or Arcanine or Voltorb or Electrode when context.Generation() >= 8 => GetFormsHisui(species, context, types, forms), + Tauros when context.Generation() >= 9 => GetFormsPaldea(species, types, forms), _ => GetFormsAlolan(context, types, forms, species), }; @@ -82,30 +79,30 @@ private static string[] GetFormsGen1(ushort species, IReadOnlyList types private static string[] GetFormsGen2(ushort species, IReadOnlyList types, IReadOnlyList forms, EntityContext context) { - byte generation = context.Generation(); return (Species)species switch { Pichu when context is Gen4 => GetFormsPichu(types, forms), - Slowking or Corsola when generation >= 8 => GetFormsGalar(types, forms), - Typhlosion or Qwilfish or Sneasel when generation >= 8 => GetFormsHisui(species, generation, types, forms), - Wooper when generation >= 9 => GetFormsPaldea(species, types, forms), - Unown => GetFormsUnown(generation), + Slowking or Corsola when context.Generation() >= 8 => GetFormsGalar(types, forms), + Typhlosion or Qwilfish or Sneasel when context.Generation() >= 8 => GetFormsHisui(species, context, types, forms), + Wooper when context.Generation() >= 9 => GetFormsPaldea(species, types, forms), + Unown => GetFormsUnown(context), _ => EMPTY, }; } - private static string[] GetFormsGen3(ushort species, IReadOnlyList types, IReadOnlyList forms, byte generation) + private static string[] GetFormsGen3(ushort species, IReadOnlyList types, IReadOnlyList forms, EntityContext context) { return (Species)species switch { - Zigzagoon or Linoone when generation >= 8 => GetFormsGalar(types, forms), + Zigzagoon or Linoone when context.Generation() >= 8 => GetFormsGalar(types, forms), + Absol when context.IsMegaContext() => GetMegaZ(types, forms), // Single mega would return earlier Castform => [ types[0], // Normal forms[889], // Sunny forms[890], // Rainy forms[891], // Snowy ], - Kyogre or Groudon when generation < 8 => [ + Kyogre or Groudon when context.IsMegaContext() => [ types[0], // Normal forms[899], // Primal ], @@ -119,7 +116,7 @@ private static string[] GetFormsGen3(ushort species, IReadOnlyList types }; } - private static string[] GetFormsGen4(ushort species, IReadOnlyList types, IReadOnlyList forms, byte generation) + private static string[] GetFormsGen4(ushort species, IReadOnlyList types, IReadOnlyList forms, EntityContext context) { return (Species)species switch { @@ -136,6 +133,7 @@ private static string[] GetFormsGen4(ushort species, IReadOnlyList types forms[(int)Shellos], // West forms[911], // East ], + Garchomp or Lucario when context.IsMegaContext() => GetMegaZ(types, forms), // Single mega would return earlier Rotom => [ types[0], // Normal forms[917], // Heat @@ -144,7 +142,7 @@ private static string[] GetFormsGen4(ushort species, IReadOnlyList types forms[920], // Fan forms[921], // Mow ], - Dialga or Palkia when generation >= 8 => [ + Dialga or Palkia when context.Generation() >= 8 => [ types[0], // Normal forms[922], // Origin ], @@ -156,17 +154,17 @@ private static string[] GetFormsGen4(ushort species, IReadOnlyList types forms[(int)Shaymin], // Land forms[923], // Sky ], - Arceus => GetFormsArceus(species, generation, types, forms), + Arceus => GetFormsArceus(context, types, forms), _ => EMPTY, }; } - private static string[] GetFormsGen5(ushort species, IReadOnlyList types, IReadOnlyList forms, byte generation) + private static string[] GetFormsGen5(ushort species, IReadOnlyList types, IReadOnlyList forms, EntityContext context) { return (Species)species switch { - Samurott or Lilligant or Zorua or Zoroark or Braviary when generation >= 8 => GetFormsHisui(species, generation, types, forms), - Basculin when generation >= 8 => [ + Samurott or Lilligant or Zorua or Zoroark or Braviary when context.Generation() >= 8 => GetFormsHisui(species, context, types, forms), + Basculin when context.Generation() >= 8 => [ forms[(int)Basculin], // Red forms[942], // Blue forms[989], // White @@ -175,8 +173,8 @@ private static string[] GetFormsGen5(ushort species, IReadOnlyList types forms[(int)Basculin], // Red forms[942], // Blue ], - Darumaka or Stunfisk or Yamask when generation >= 8 => GetFormsGalar(types, forms), - Darmanitan when generation >= 8 => [ + Darumaka or Stunfisk or Yamask when context.Generation() >= 8 => GetFormsGalar(types, forms), + Darmanitan when context.Generation() >= 8 => [ forms[(int)Darmanitan], // Standard forms[943], // Zen forms[Galarian], // Standard @@ -222,10 +220,9 @@ private static string[] GetFormsGen5(ushort species, IReadOnlyList types private static string[] GetFormsGen6(ushort species, IReadOnlyList types, IReadOnlyList forms, IReadOnlyList genders, EntityContext context) { - var generation = context.Generation(); return (Species)species switch { - Greninja => GetFormsGreninja(types, forms, new string[!context.IsMegaContext() ? 2 : generation >= 9 ? 4 : 3]), + Greninja => GetFormsGreninja(types, forms, new string[!context.IsMegaContext() ? 2 : context.Generation() >= 9 ? 4 : 3]), Scatterbug or Spewpa or Vivillon => [ forms[(int)Vivillon], // Icy Snow forms[963], // Polar @@ -255,7 +252,7 @@ private static string[] GetFormsGen6(ushort species, IReadOnlyList types forms[988], // Blue forms[989], // White ], - Floette => GetFormsFloette(forms, new string[!context.IsMegaContext() ? 5 : generation >= 9 ? 7 : 6]), + Floette => GetFormsFloette(forms, new string[!context.IsMegaContext() ? 5 : context.Generation() >= 9 ? 7 : 6]), Furfrou => [ forms[(int)Furfrou], // Natural forms[995], // Heart @@ -268,6 +265,12 @@ private static string[] GetFormsGen6(ushort species, IReadOnlyList types forms[1002], // Kabuki forms[1003], // Pharaoh ], + Meowstic when context.IsMegaContext() && context.Generation() >= 9 => [ + genders[000], // Male + genders[001], // Female + $"{genders[000]}-{forms[Mega]}", // Mega (Male) + $"{genders[001]}-{forms[Mega]}", // Mega (Female) + ], Meowstic => [ genders[000], // Male genders[001], // Female @@ -276,8 +279,8 @@ private static string[] GetFormsGen6(ushort species, IReadOnlyList types forms[(int)Aegislash], // Shield forms[1005], // Blade ], - Sliggoo or Goodra or Avalugg when generation >= 8 => GetFormsHisui(species, generation, types, forms), - Pumpkaboo or Gourgeist when generation >= 9 => [ + Sliggoo or Goodra or Avalugg when context.Generation() >= 8 => GetFormsHisui(species, context, types, forms), + Pumpkaboo or Gourgeist when context.Generation() >= 9 => [ forms[MediumVariety], forms[SmallVariety], forms[LargeVariety], @@ -289,11 +292,11 @@ private static string[] GetFormsGen6(ushort species, IReadOnlyList types forms[1007], // Large forms[1008], // Super ], - Xerneas when generation < 9 => [ + Xerneas when context.Generation() < 9 => [ forms[(int)Xerneas], // Neutral forms[1012], // Active ], - Zygarde => GetFormsZygarde(forms, new string[context.IsMegaContext() && generation >= 9 ? 6 : 5]), + Zygarde => GetFormsZygarde(forms, new string[context.IsMegaContext() && context.Generation() >= 9 ? 6 : 5]), Hoopa => [ forms[(int)Hoopa], // Confined forms[1018], // Unbound @@ -302,11 +305,11 @@ private static string[] GetFormsGen6(ushort species, IReadOnlyList types }; } - private static string[] GetFormsGen7(ushort species, IReadOnlyList types, IReadOnlyList forms, byte generation) + private static string[] GetFormsGen7(ushort species, IReadOnlyList types, IReadOnlyList forms, EntityContext context) { return (Species)species switch { - Decidueye when generation >= 8 => GetFormsHisui(species, generation, types, forms), + Decidueye when context.Generation() >= 8 => GetFormsHisui(species, context, types, forms), Oricorio => [ forms[(int)Oricorio], // "RED" - Baile forms[1021], // "YLW" - Pom-Pom @@ -326,7 +329,7 @@ private static string[] GetFormsGen7(ushort species, IReadOnlyList types forms[(int)Wishiwashi], forms[1025], // School ], - Silvally => GetFormsArceus(species, 7, types, forms), + Silvally => GetFormsArceus(Gen7, types, forms), Minior => [ forms[(int)Minior], // "R-Meteor", // Meteor Red forms[1045], // "O-Meteor", // Meteor Orange @@ -347,7 +350,7 @@ private static string[] GetFormsGen7(ushort species, IReadOnlyList types forms[(int)Mimikyu], // Disguised forms[1058], // Busted ], - Necrozma when generation == 7 => [ + Necrozma when context is Gen7 => [ types[0], // Normal forms[1065], // Dusk Mane forms[1066], // Dawn Wings @@ -358,6 +361,12 @@ private static string[] GetFormsGen7(ushort species, IReadOnlyList types forms[1065], // Dusk Mane forms[1066], // Dawn Wings ], + Magearna when context.IsMegaContext() && context.Generation() >= 9 => [ + types[0], + forms[1062], // Original Color + $"{types[0]}-{forms[Mega]}", // Mega + $"{forms[1062]}-{forms[Mega]}", // Mega (Original Color) + ], Magearna => [ types[0], forms[1062], // Original @@ -366,7 +375,7 @@ private static string[] GetFormsGen7(ushort species, IReadOnlyList types }; } - private static string[] GetFormsGen8(ushort species, byte generation, IReadOnlyList types, IReadOnlyList forms, IReadOnlyList genders) + private static string[] GetFormsGen8(ushort species, EntityContext context, IReadOnlyList types, IReadOnlyList forms, IReadOnlyList genders) { return (Species)species switch { @@ -410,7 +419,7 @@ private static string[] GetFormsGen8(ushort species, byte generation, IReadOnlyL forms[HeroOfManyBattles], forms[Crowned], ], - Eternatus when generation == 8 => [ + Eternatus when context.Generation() == 8 => [ types[0], // Normal forms[Eternamax], ], @@ -427,11 +436,11 @@ private static string[] GetFormsGen8(ushort species, byte generation, IReadOnlyL forms[IceRider], forms[ShadowRider], ], - Kleavor when generation == 8 => [ + Kleavor when context.Generation() == 8 => [ types[0], forms[Lord], ], - Ursaluna when generation >= 9 => [ + Ursaluna when context.Generation() >= 9 => [ types[0], forms[Bloodmoon], ], @@ -443,7 +452,7 @@ private static string[] GetFormsGen8(ushort species, byte generation, IReadOnlyL }; } - private static string[] GetFormsGen9(ushort species, byte generation, IReadOnlyList types, IReadOnlyList forms, IReadOnlyList genders) + private static string[] GetFormsGen9(ushort species, EntityContext context, IReadOnlyList types, IReadOnlyList forms, IReadOnlyList genders) { return (Species)species switch { @@ -465,6 +474,14 @@ private static string[] GetFormsGen9(ushort species, byte generation, IReadOnlyL forms[Zero], forms[HeroPalafin], ], + Tatsugiri when context.IsMegaContext() => [ + forms[Curly], + forms[Droopy], + forms[Stretchy], + $"{forms[Curly]}-{forms[Mega]}", + $"{forms[Droopy]}-{forms[Mega]}", + $"{forms[Stretchy]}-{forms[Mega]}", + ], Tatsugiri => [ forms[Curly], forms[Droopy], @@ -533,6 +550,13 @@ private static string[] GetFormsAlolan(EntityContext context, IReadOnlyList= 9 && context.IsMegaContext() => [ + types[0], + forms[Alolan], // Alolan + forms[MegaX], // Mega X + forms[MegaY], // Mega Y + ], + // Only reached when Gen8+, as Totem logic picks up Gen7 earlier. Rattata or Raticate or Raichu @@ -553,10 +577,10 @@ or Exeggutor private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList types, IReadOnlyList forms) { - byte generation = context.Generation(); - return generation switch + return context switch { - 6 => [ + < Gen6 => EMPTY, + Gen6 => [ types[0], // Normal forms[729], // Rockstar forms[730], // Belle @@ -565,7 +589,7 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList [ + Gen7b => [ types[0], // Normal forms[813], // Original forms[814], // Hoenn @@ -576,7 +600,7 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList [ + Gen7 => [ types[0], // Normal forms[813], // Original forms[814], // Hoenn @@ -586,7 +610,7 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList [ + _ => [ types[0], // Normal forms[813], // Original forms[814], // Hoenn @@ -598,7 +622,6 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList EMPTY, }; } @@ -611,11 +634,11 @@ private static string[] GetFormsPichu(IReadOnlyList types, IReadOnlyList ]; } - private static string[] GetFormsArceus(ushort species, byte generation, IReadOnlyList types, IReadOnlyList forms) + private static string[] GetFormsArceus(EntityContext context, IReadOnlyList types, IReadOnlyList forms) { - return generation switch + return context switch { - 4 => [ + Gen4 => [ types[00], // Normal types[01], // Fighting types[02], // Flying @@ -635,7 +658,7 @@ private static string[] GetFormsArceus(ushort species, byte generation, IReadOnl types[15], types[16], // No Fairy Type ], - 5 => [ + Gen5 => [ types[00], // Normal types[01], // Fighting types[02], // Flying @@ -654,7 +677,7 @@ private static string[] GetFormsArceus(ushort species, byte generation, IReadOnl types[15], types[16], // No Fairy type ], - 8 when (Species)species is Arceus => + Gen8a => [ types[00], // Normal types[01], // Fighting @@ -721,9 +744,9 @@ private static string[] GetFormsArceus(ushort species, byte generation, IReadOnl ], }; - private static string[] GetFormsUnown(byte generation) => generation switch + private static string[] GetFormsUnown(EntityContext context) => context switch { - 2 => + Gen2 => [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", @@ -744,15 +767,20 @@ private static string[] GetFormsArceus(ushort species, byte generation, IReadOnl "!", "?", ], }; + private static bool IsFormListSingleMega(ushort species, EntityContext context) { - if (context.Generation() >= 9 && species is (int)Slowbro) // Kanto, Mega, Galar - return false; - if (IsFormListSingleMega6(species)) + if (context.Generation() < 9) + return IsFormListSingleMega6(species); + + if (species is (int)Slowbro) + return false; // Galar, Mega + if (species is (int)Absol or (int)Garchomp or (int)Lucario) + return false; // Mega, Z Mega + if (IsFormListSingleMega9(species)) return true; - if (context.Generation() >= 9 && IsFormListSingleMega9(species)) - return true; - return false; + + return IsFormListSingleMega6(species); } private static bool IsFormListSingleMega6(ushort species) => (Species)species is @@ -767,6 +795,15 @@ private static bool IsFormListSingleMega(ushort species, EntityContext context) ; private static bool IsFormListSingleMega9(ushort species) => (Species)species is + // XY + Venusaur or Blastoise or Alakazam or Gengar or Kangaskhan or Pinsir or Gyarados or Aerodactyl or Ampharos or Scizor or + Heracross or Houndoom or Tyranitar or Blaziken or Gardevoir or Mawile or Aggron or Medicham or Manectric or Banette or + /* Absol or */ Latias or Latios /* or Garchomp or Lucario */ or Abomasnow or + + // AO + Beedrill or Pidgeot or Slowbro or Steelix or Sceptile or Swampert or Sableye or Sharpedo or Camerupt or Altaria or + Glalie or Salamence or Metagross or Rayquaza or Lopunny or Gallade or Audino or Diancie or + // ZA Clefable or Victreebel or Starmie or Dragonite or Meganium or Feraligatr or Skarmory or @@ -775,6 +812,13 @@ Froslass or Chesnaught or Delphox or Pyroar or Malamar or Barbaracle or Dragalge or Hawlucha or Drampa or Falinks + + // MD + or Chimecho + or Staraptor or Heatran or Darkrai + or Golurk + or Crabominable or Golisopod or Zeraora + or Scovillain or Glimmora or Baxcalibur ; private static string[] GetMegaSingle(IReadOnlyList types, IReadOnlyList forms) @@ -796,6 +840,16 @@ private static string[] GetMegaXY(IReadOnlyList types, IReadOnlyList types, IReadOnlyList forms) + { + return + [ + types[0], // Normal + forms[Mega], // Mega + forms[MegaZ], // Mega Z + ]; + } + private static string[] GetFormsGalar(IReadOnlyList types, IReadOnlyList forms) { return @@ -805,9 +859,9 @@ private static string[] GetFormsGalar(IReadOnlyList types, IReadOnlyList ]; } - private static string[] GetFormsHisui(ushort species, byte generation, IReadOnlyList types, IReadOnlyList forms) => generation switch + private static string[] GetFormsHisui(ushort species, EntityContext context, IReadOnlyList types, IReadOnlyList forms) => context switch { - 8 => (Species)species switch + Gen8a => (Species)species switch { Lilligant => [ @@ -896,9 +950,22 @@ private static string[] GetFormsZygarde(IReadOnlyList forms, string[] re return result; } + public static MegaFormNames GetMegaFormNames(ReadOnlySpan forms) => new() + { + Regular = forms[Mega], + X = forms[MegaX], + Y = forms[MegaY], + Z = forms[MegaZ], + + Tatsu0 = $"{forms[Curly]}-{forms[Mega]}", + Tatsu1 = $"{forms[Droopy]}-{forms[Mega]}", + Tatsu2 = $"{forms[Stretchy]}-{forms[Mega]}", + }; + private const int Mega = 804; private const int MegaX = 805; private const int MegaY = 806; + private const int MegaZ = 1141; private const int Alolan = 810; @@ -1061,3 +1128,15 @@ public static string GetStringFromForm(byte form, GameStrings strings, ushort sp return result; } } + +public sealed record MegaFormNames +{ + public required string Regular { get; init; } + public required string X { get; init; } + public required string Y { get; init; } + public required string Z { get; init; } + + public required string Tatsu0 { get; init; } + public required string Tatsu1 { get; init; } + public required string Tatsu2 { get; init; } +} diff --git a/PKHeX.Core/PersonalInfo/Info/PersonalInfo9ZA.cs b/PKHeX.Core/PersonalInfo/Info/PersonalInfo9ZA.cs index 02536ce35..8e4eb85c9 100644 --- a/PKHeX.Core/PersonalInfo/Info/PersonalInfo9ZA.cs +++ b/PKHeX.Core/PersonalInfo/Info/PersonalInfo9ZA.cs @@ -131,13 +131,20 @@ public void SetAllLearnTM(Span result) 404, 369, 417, 430, 164, 528, 231, 191, 390, 399, 174, 605, 200, 018, 269, 056, 377, 127, 118, 441, 527, 411, 526, 394, 059, 087, 370, + // ZA DLC + 004, 263, 886, + 047, 491, 490, 488, 885, 006, 318, 325, 466, 246, + 259, 206, 305, 706, 102, 443, 138, 402, 509, 451, + 409, 458, 299, 814, 530, 815, 480, 524, 207, 330, + 252, 660, 799, 813, 013, 130, 161, 503, 333, 410, + 080, 669, 143, 090, 329, 800, 796, 307, 308, 338, ]; public override int BaseEXP { get => ReadUInt16LittleEndian(Data[0x4C..]); set => WriteUInt16LittleEndian(Data[0x4C..], (ushort)value); } public ushort AlphaMove { get => ReadUInt16LittleEndian(Data[0x4E..]); set => WriteUInt16LittleEndian(Data[0x4E..], value); } public int PlusCountTotal => (33 + 12) * 8; // 360 - public int PlusCountUsed => 247; + public int PlusCountUsed => 340; // as of Mega Dimension DLC 2.0.0 // Set by Seed of Mastery or Alpha Move granted public static ReadOnlySpan PlusMoves => @@ -168,6 +175,16 @@ public void SetAllLearnTM(Span result) 611, 612, 613, 614, 615, 616, 617, 621, 670, 679, 687, 693, 710, 748, 784, 812, 920, 097, // lol + 004, 006, 013, 047, 080, 090, 102, 130, 138, + 143, 147, 155, 160, 161, 176, 206, 207, 246, 252, + 259, 263, 295, 296, 299, 305, 307, 308, 318, 325, + 329, 330, 333, 338, 402, 409, 410, 443, 451, 458, + 463, 464, 466, 480, 488, 490, 491, 503, 509, 524, + 530, 533, 546, 547, 548, 618, 619, 620, 659, 660, + 665, 669, 705, 706, 708, 712, 721, 742, 753, 783, + 786, 794, 796, 799, 800, 813, 814, 815, 830, 839, + 854, 856, 858, 862, 864, 866, 874, 880, 885, 886, + 889, 890, 891, 893, ]; public ReadOnlySpan PlusMoveIndexes => PlusMoves; diff --git a/PKHeX.Core/Resources/byte/evolve/evos_za.pkl b/PKHeX.Core/Resources/byte/evolve/evos_za.pkl index 4244054db..d4e67c135 100644 Binary files a/PKHeX.Core/Resources/byte/evolve/evos_za.pkl and b/PKHeX.Core/Resources/byte/evolve/evos_za.pkl differ diff --git a/PKHeX.Core/Resources/byte/levelup/lvlmove_za.pkl b/PKHeX.Core/Resources/byte/levelup/lvlmove_za.pkl index 0cb1ee7b0..8f3c0619a 100644 Binary files a/PKHeX.Core/Resources/byte/levelup/lvlmove_za.pkl and b/PKHeX.Core/Resources/byte/levelup/lvlmove_za.pkl differ diff --git a/PKHeX.Core/Resources/byte/personal/personal_za b/PKHeX.Core/Resources/byte/personal/personal_za index 9d6857c16..a22fea1fe 100644 Binary files a/PKHeX.Core/Resources/byte/personal/personal_za and b/PKHeX.Core/Resources/byte/personal/personal_za differ diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_de.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_de.txt index 245bd872c..5e6909fca 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_de.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_de.txt @@ -2,7 +2,9 @@ Corni Rioluis Picanto Fluffy +Smoothie Échan Bondo Tranquillo -Panca \ No newline at end of file +Panca +Trian \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_en.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_en.txt index 3723355da..fdb8711c1 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_en.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_en.txt @@ -2,7 +2,9 @@ Bois Riolouie Spicy Floffy +Alias Tracie Bond Quille -Griddella \ No newline at end of file +Griddella +Trian \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_es-419.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_es-419.txt index ffb338ad8..61e8ded9f 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_es-419.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_es-419.txt @@ -2,7 +2,9 @@ Gastón Riolito Apetito Pachoncito +Bisel Lidia Sandro Plácido -Mónica \ No newline at end of file +Mónica +Polifacio \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_es.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_es.txt index 50250fcbf..3438794d7 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_es.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_es.txt @@ -2,7 +2,9 @@ Gastón Riolito Riquiño Panqueque +Bisel Camille Ludovic Plácido -Loli \ No newline at end of file +Loli +Policarpo \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_fr.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_fr.txt index a9f18d4fc..6cfb36da2 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_fr.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_fr.txt @@ -2,7 +2,9 @@ Dyna Ribébou Piment Raidoudou +Polissé Odile Marsaut Kylian -Rozell \ No newline at end of file +Rozell +Trian \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_it.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_it.txt index 17e824222..5fe20aa8b 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_it.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_it.txt @@ -2,7 +2,9 @@ Cornì Rioletto Spezia Sofficio +Tondino Echan Balzac Quilliam -Suzette \ No newline at end of file +Suzette +Trian \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_ja.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_ja.txt index e86f7bdc1..7500c0c19 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_ja.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_ja.txt @@ -2,7 +2,9 @@ リオぼう スパイス ふわふわ +なめらか エシャン ボンド トランキー -クレープ \ No newline at end of file +クレープ +トリアン \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_ko.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_ko.txt index b84c96aca..8ea1d2922 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_ko.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_ko.txt @@ -2,7 +2,9 @@ 리오룽 스파이스 푹신이 +매끈이 에스얀 본드 트랭키 -크레이프 \ No newline at end of file +크레이프 +트리앙 \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_zh-Hans.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_zh-Hans.txt index de486ba17..623a252f5 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_zh-Hans.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_zh-Hans.txt @@ -2,7 +2,9 @@ 利欧宝 香料 飘绵绵 +滑滑 娇环 斐岳 佑哉 -可莉萍 \ No newline at end of file +可莉萍 +多连安 \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_zh-Hant.txt b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_zh-Hant.txt index 68e7b4e66..61b8ae280 100644 --- a/PKHeX.Core/Resources/legality/gen9a/text_tradeza_zh-Hant.txt +++ b/PKHeX.Core/Resources/legality/gen9a/text_tradeza_zh-Hant.txt @@ -2,7 +2,9 @@ 利歐寶 香料 飄綿綿 +滑滑 嬌環 斐岳 佑哉 -可莉萍 \ No newline at end of file +可莉萍 +多連安 \ No newline at end of file diff --git a/PKHeX.Core/Resources/legality/mgdb/wa9.pkl b/PKHeX.Core/Resources/legality/mgdb/wa9.pkl index f1b5e3b15..0791ff830 100644 Binary files a/PKHeX.Core/Resources/legality/mgdb/wa9.pkl and b/PKHeX.Core/Resources/legality/mgdb/wa9.pkl differ diff --git a/PKHeX.Core/Resources/legality/misc/plus_za.pkl b/PKHeX.Core/Resources/legality/misc/plus_za.pkl index 3e64f8097..d273d64bd 100644 Binary files a/PKHeX.Core/Resources/legality/misc/plus_za.pkl and b/PKHeX.Core/Resources/legality/misc/plus_za.pkl differ diff --git a/PKHeX.Core/Resources/text/items/text_Items_de.txt b/PKHeX.Core/Resources/text/items/text_Items_de.txt index 2156fa677..712577b47 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_de.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_de.txt @@ -2565,8 +2565,8 @@ Meganienit Impergatornit Panzaeronit Frosdedjenit - - +Heatranit +Darkrainit Flambirexonit Stalobornit Cerapendranit @@ -2584,7 +2584,7 @@ Tandraknit Resladeronit Zygardenit Sen-Longnit - +Zeraoranit Legiosnit Zimmerschlüssel 202 Illumina-Gigalette @@ -2599,19 +2599,19 @@ Signierter Anhänger Gourmetmüll Vitalzweig Duros Tasche - - - - - - - - - - - - - +Illumina-Butter +Superbutter +Hyperbutter +Ultrabutter +Meisterbutter +Dimensionsbutter +Hoenn-Steinsalz +Dunkelwürze +Olithena-Öl +Knisterbrause +Wichtiger Brief +Besonderer Ring +Dreckiger Schal @@ -2633,3 +2633,53 @@ Grüner Canary-Anhänger Blauer Canary-Anhänger Blauer Canary-Anhänger Blauer Canary-Anhänger +Raichunit X +Raichunit Y +Palimpalimonit +Absolnit Z +Staraptornit +Knakracknit Z +Lucarionit Z +Golgantesnit +Psiaugonit +Krawellonit +Tectassnit +Magearnanit +Halupenjonit +Espinodonit +Nigiraginit +Lumifloranit +Dimensions-Amrenabeere +Dimensions-Maronbeere +Dimensions-Pirsifbeere +Dimensions-Fragiabeere +Dimensions-Wilbirbeere +Dimensions-Sinelbeere +Dimensions-Persimbeere +Dimensions-Prunusbeere +Dimensions-Tsitrubeere +Dimensions-Granabeere +Dimensions-Setangbeere +Dimensions-Qualotbeere +Dimensions-Honmelbeere +Dimensions-Labrusbeere +Dimensions-Tamotbeere +Dimensions-Koakobeere +Dimensions-Foepasbeere +Dimensions-Kerzalbeere +Dimensions-Grindobeere +Dimensions-Kiroyabeere +Dimensions-Rospelbeere +Dimensions-Grarzbeere +Dimensions-Schukebeere +Dimensions-Kobabeere +Dimensions-Pyapabeere +Dimensions-Tanigabeere +Dimensions-Chiaribeere +Dimensions-Zitarzbeere +Dimensions-Terirobeere +Dimensions-Burleobeere +Dimensions-Babiribeere +Dimensions-Latchibeere +Dimensions-Hibisbeere +Canary-Brot \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_en.txt b/PKHeX.Core/Resources/text/items/text_Items_en.txt index 2784831ba..7b721ddc5 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_en.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_en.txt @@ -2565,8 +2565,8 @@ Meganiumite Feraligite Skarmorite Froslassite - - +Heatranite +Darkranite Emboarite Excadrite Scolipite @@ -2584,7 +2584,7 @@ Dragalgite Hawluchanite Zygardite Drampanite - +Zeraorite Falinksite Key to Room 202 Super Lumiose Galette @@ -2599,19 +2599,19 @@ Autographed Plush Tasty Trash Revitalizing Twig Lida’s Things - - - - - - - - - - - - - +Lumiosian Butter +Nice Butter +Great Butter +Amazing Butter +Supreme Butter +Hyperspace Butter +Hoennian Salt +Épice Noire +Arboliva Oil +Popping Candy +Important Letter +Cherished Ring +Dirty Scarf @@ -2632,4 +2632,54 @@ Green Canari Plush Green Canari Plush Blue Canari Plush Blue Canari Plush -Blue Canari Plush \ No newline at end of file +Blue Canari Plush +Raichunite X +Raichunite Y +Chimechite +Absolite Z +Staraptite +Garchompite Z +Lucarionite Z +Golurkite +Meowsticite +Crabominite +Golisopite +Magearnite +Scovillainite +Baxcalibrite +Tatsugirinite +Glimmoranite +Hyper Cheri Berry +Hyper Chesto Berry +Hyper Pecha Berry +Hyper Rawst Berry +Hyper Aspear Berry +Hyper Oran Berry +Hyper Persim Berry +Hyper Lum Berry +Hyper Sitrus Berry +Hyper Pomeg Berry +Hyper Kelpsy Berry +Hyper Qualot Berry +Hyper Hondew Berry +Hyper Grepa Berry +Hyper Tamato Berry +Hyper Occa Berry +Hyper Passho Berry +Hyper Wacan Berry +Hyper Rindo Berry +Hyper Yache Berry +Hyper Chople Berry +Hyper Kebia Berry +Hyper Shuca Berry +Hyper Coba Berry +Hyper Payapa Berry +Hyper Tanga Berry +Hyper Charti Berry +Hyper Kasib Berry +Hyper Haban Berry +Hyper Colbur Berry +Hyper Babiri Berry +Hyper Chilan Berry +Hyper Roseli Berry +Canari Bread \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_es-419.txt b/PKHeX.Core/Resources/text/items/text_Items_es-419.txt index 76a9a608c..11ca314fe 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_es-419.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_es-419.txt @@ -2565,8 +2565,8 @@ Meganiumita Feraligatrita Skarmorita Froslassita - - +Heatranita +Darkrainita Emboarita Excadrillita Scolipedita @@ -2584,7 +2584,7 @@ Dragalgita Hawluchanita Zygardita Drampanita - +Zeraoranita Falinksita Llave Habitación 202 Supergalette Luminalia @@ -2599,19 +2599,19 @@ Nariamuleto Autografiado Basura Suculenta Ramita Revitalizante Cosas de Adira - - - - - - - - - - - - - +Mantequilla de Luminalia +Supermantequilla +Hipermantequilla +Ultramantequilla +Mantequilla Máxima +Mantequilla D +Sal Gruesa de Hoenn +Especia Negra +Aceite de Arboliva +Caramelos Chispeantes +Carta Importante +Anillo Entrañable +Pañuelo Mugriento @@ -2632,4 +2632,54 @@ Nariamuleto Verde Nariamuleto Verde Nariamuleto Azul Nariamuleto Azul -Nariamuleto Azul \ No newline at end of file +Nariamuleto Azul +Raichunita X +Raichunita Y +Chimechita +Absolita Z +Staraptorita +Garchompita Z +Lucarita Z +Golurkita +Meowsticita +Crabominablita +Golisopodita +Magearnita +Scovillainita +Baxcaliburita +Tatsugirita +Glimmoranita +Baya Zreza D +Baya Atania D +Baya Duraz D +Baya Safre D +Baya Perasi D +Baya Aranja D +Baya Caquic D +Baya Ziuela D +Baya Citrón D +Baya Grana D +Baya Algama D +Baya Ispero D +Baya Meluce D +Baya Uvav D +Baya Tamate D +Baya Caoca D +Baya Pasio D +Baya Gualot D +Baya Tamar D +Baya Rimoya D +Baya Pomaro D +Baya Kebia D +Baya Acardo D +Baya Kouba D +Baya Payapa D +Baya Yecana D +Baya Alcho D +Baya Drasi D +Baya Anjiro D +Baya Dillo D +Baya Baribá D +Baya Chilan D +Baya Hibis D +Pan de Naria \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_es.txt b/PKHeX.Core/Resources/text/items/text_Items_es.txt index abb647809..1db6b19f2 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_es.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_es.txt @@ -2565,8 +2565,8 @@ Meganiumita Feraligatrita Skarmorita Froslassita - - +Heatranita +Darkrainita Emboarita Excadrillita Scolipedita @@ -2584,7 +2584,7 @@ Dragalgita Hawluchanita Zygardita Drampanita - +Zeraoranita Falinksita Llave Habitación 202 Supergalette Luminalia @@ -2599,19 +2599,19 @@ Amuleto de Naria Firmado Basura Suculenta Ramita Revitalizante Enseres de Bárbara - - - - - - - - - - - - - +Mantequilla de Luminalia +Supermantequilla +Hipermantequilla +Ultramantequilla +Mantequilla Máxima +Mantequilla D +Sal Gruesa de Hoenn +Especia Negra +Aceite de Arboliva +Caramelos Chispeantes +Carta Importante +Anillo Preciado +Pañuelo Mugriento @@ -2633,3 +2633,53 @@ Amuleto de Naria Verde Amuleto de Naria Azul Amuleto de Naria Azul Amuleto de Naria Azul +Raichunita X +Raichunita Y +Chimechita +Absolita Z +Staraptorita +Garchompita Z +Lucarita Z +Golurkita +Meowsticita +Crabominablita +Golisopodita +Magearnita +Scovillainita +Baxcaliburita +Tatsugirita +Glimmoranita +Baya Zreza D +Baya Atania D +Baya Meloc D +Baya Safre D +Baya Perasi D +Baya Aranja D +Baya Caquic D +Baya Ziuela D +Baya Zidra D +Baya Grana D +Baya Algama D +Baya Ispero D +Baya Meluce D +Baya Uvav D +Baya Tamate D +Baya Caoca D +Baya Pasio D +Baya Gualot D +Baya Tamar D +Baya Rimoya D +Baya Pomaro D +Baya Kebia D +Baya Acardo D +Baya Kouba D +Baya Payapa D +Baya Yecana D +Baya Alcho D +Baya Drasi D +Baya Anjiro D +Baya Dillo D +Baya Baribá D +Baya Chilan D +Baya Hibis D +Pan de Naria \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_fr.txt b/PKHeX.Core/Resources/text/items/text_Items_fr.txt index 53bf683db..2ec40c1dc 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_fr.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_fr.txt @@ -2565,8 +2565,8 @@ Méganiumite Aligatueurite Airmurite Momartikite - - +Heatranite +Darkraïte Roitiflamite Minotaupite Brutapodite @@ -2584,7 +2584,7 @@ Kravarekite Brutalibrite Zygardite Draïeulite - +Zeraorite Hexadronite Clé de la Chambre 202 Galette de Choc @@ -2599,19 +2599,19 @@ Naricâline Dédicacée Déchets Alléchants Rameau de Vie Sacoche de Rudi - - - - - - - - - - - - - +Beurre d’Illumis +Super Beurre +Hyper Beurre +Ultra Beurre +Master Beurre +Extra Beurre +Gros Sel de Hoenn +Épice Noire +Huile d’Arboliva +Bonbon Zap-Zap +Lettre Importante +Bague Souvenirs +Mouchoir Sale @@ -2632,4 +2632,54 @@ Naricâline Verte Naricâline Verte Naricâline Bleue Naricâline Bleue -Naricâline Bleue \ No newline at end of file +Naricâline Bleue +Raichuïte X +Raichuïte Y +Éokite +Absolite Z +Étouraptorite +Carchacrokite Z +Lucarite Z +Golemastokite +Mistigrixite +Crabominablite +Sarmuraïte +Magearnite +Scovilainite +Glaivodite +Nigirigonite +Floréclatite +Extra Baie Ceriz +Extra Baie Maron +Extra Baie Pêcha +Extra Baie Fraive +Extra Baie Willia +Extra Baie Oran +Extra Baie Kika +Extra Baie Prine +Extra Baie Sitrus +Extra Baie Grena +Extra Baie Alga +Extra Baie Qualot +Extra Baie Lonme +Extra Baie Résin +Extra Baie Tamato +Extra Baie Chocco +Extra Baie Pocpoc +Extra Baie Parma +Extra Baie Ratam +Extra Baie Nanone +Extra Baie Pomroz +Extra Baie Kébia +Extra Baie Jouca +Extra Baie Cobaba +Extra Baie Yapap +Extra Baie Panga +Extra Baie Charti +Extra Baie Sédra +Extra Baie Fraigo +Extra Baie Lampou +Extra Baie Babiri +Extra Baie Zalis +Extra Baie Selro +Pain Narica \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_it.txt b/PKHeX.Core/Resources/text/items/text_Items_it.txt index 07d5fd8a1..644032590 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_it.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_it.txt @@ -2565,8 +2565,8 @@ Meganiumite Feraligatrite Skarmorite Froslassite - - +Heatranite +Darkraite Emboarite Excadrillite Scolipedite @@ -2584,7 +2584,7 @@ Dragalgite Hawluchite Zygardite Drampite - +Zeraorite Falinksite Chiave stanza 202 Pan di Lumi speciale @@ -2599,19 +2599,19 @@ Peluche autografato Rifiuti prelibati Rametto energizzante Sacca di Cerril - - - - - - - - - - - - - +Burro di Luminopoli +Burro super +Burro mega +Burro ultra +Burro master +Burro dimensionale +Sale grosso di Hoenn +Nero di spezie +Olio d’Arboliva +Caramelle zipzap +Lettera importante +Anello prezioso +Sciarpa sporca @@ -2632,4 +2632,54 @@ Peluche di Canary verde Peluche di Canary verde Peluche di Canary blu Peluche di Canary blu -Peluche di Canary blu \ No newline at end of file +Peluche di Canary blu +Raichuite X +Raichuite Y +Chimechite +Absolite Z +Staraptorite +Garchompite Z +Lucarite Z +Golurkite +Meowsticite +Crabominablite +Golisopodite +Magearnite +Scovillainite +Baxcaliburite +Tatsugirite +Glimmorite +Baccaliegia dimensionale +Baccastagna dimensionale +Baccapesca dimensionale +Baccafrago dimensionale +Baccaperina dimensionale +Baccarancia dimensionale +Baccaki dimensionale +Baccaprugna dimensionale +Baccacedro dimensionale +Baccagrana dimensionale +Baccalga dimensionale +Baccaloquat dimensionale +Baccamelon dimensionale +Baccauva dimensionale +Baccamodoro dimensionale +Baccacao dimensionale +Baccapasflo dimensionale +Baccaparmen dimensionale +Baccarindo dimensionale +Baccamoya dimensionale +Baccarosmel dimensionale +Baccakebia dimensionale +Baccanaca dimensionale +Baccababa dimensionale +Baccapayapa dimensionale +Baccaitan dimensionale +Baccaciofo dimensionale +Baccacitrus dimensionale +Baccahaban dimensionale +Baccaxan dimensionale +Baccababiri dimensionale +Baccacinlan dimensionale +Baccarcadè dimensionale +Pan di Canary \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_ja.txt b/PKHeX.Core/Resources/text/items/text_Items_ja.txt index 79762f1fd..51cab8aa6 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_ja.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_ja.txt @@ -2565,8 +2565,8 @@ Bステンレスボトル オーダイルナイト エアームドナイト ユキメノコナイト - - +ヒードラナイト +ダークライナイト エンブオナイト ドリュウズナイト ペンドラナイト @@ -2584,7 +2584,7 @@ Bステンレスボトル ルチャブルナイト ジガルデナイト ジジーロナイト - +ゼラオラナイト タイレーツナイト 202ごうしつのカギ すごいミアレガレット @@ -2599,19 +2599,19 @@ Bステンレスボトル おいしいゴミ げんきのこえだ デウロのわすれもの - - - - - - - - - - - - - +ミアレバター +スーパーバター +ハイパーバター +ウルトラバター +マスターバター +いじげんバター +ホウエンのあらじお +スパイスブラック +オリーヴァオイル +パチパチキャンディ +たいせつなてがみ +おもいでのゆびわ +よごれたスカーフ @@ -2632,4 +2632,54 @@ Bステンレスボトル みどりのカナリィぬい あおのカナリィぬい あおのカナリィぬい -あおのカナリィぬい \ No newline at end of file +あおのカナリィぬい +ライチュウナイトX +ライチュウナイトY +チリーンナイト +アブソルナイトZ +ムクホークナイト +ガブリアスナイトZ +ルカリオナイトZ +ゴルーグナイト +ニャオニクスナイト +ケケンカニナイト +グソクムシャナイト +マギアナイト +スコヴィラナイト +セグレイブナイト +シャリタツナイト +キラフロルナイト +いじげんクラボのみ +いじげんカゴのみ +いじげんモモンのみ +いじげんチーゴのみ +いじげんナナシのみ +いじげんオレンのみ +いじげんキーのみ +いじげんラムのみ +いじげんオボンのみ +いじげんザロクのみ +いじげんネコブのみ +いじげんタポルのみ +いじげんロメのみ +いじげんウブのみ +いじげんマトマのみ +いじげんオッカのみ +いじげんイトケのみ +いじげんソクノのみ +いじげんリンドのみ +いじげんヤチェのみ +いじげんヨプのみ +いじげんビアーのみ +いじげんシュカのみ +いじげんバコウのみ +いじげんウタンのみ +いじげんタンガのみ +いじげんヨロギのみ +いじげんカシブのみ +いじげんハバンのみ +いじげんナモのみ +いじげんリリバのみ +いじげんホズのみ +いじげんロゼルのみ +カナリィパン \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_ko.txt b/PKHeX.Core/Resources/text/items/text_Items_ko.txt index b7fe55bb6..419b4ee7f 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_ko.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_ko.txt @@ -2565,8 +2565,8 @@ B 스테인리스 보틀 장크로다일나이트 무장조나이트 눈여아나이트 - - +히드런나이트 +다크라이나이트 염무왕나이트 몰드류나이트 펜드라나이트 @@ -2584,7 +2584,7 @@ B 스테인리스 보틀 루차불나이트 지가르데나이트 할비롱나이트 - +제라오라나이트 대여르나이트 202호실열쇠 대단한미르갈레트 @@ -2599,19 +2599,19 @@ B 스테인리스 보틀 맛있는쓰레기 기력의잔가지 루디의 잊은물건 - - - - - - - - - - - - - +미르버터 +슈퍼버터 +하이퍼버터 +울트라버터 +마스터버터 +이차원버터 +호연산왕소금 +스파이스블랙 +올리르바오일 +톡톡캔디 +중요한편지 +추억의반지 +더러운스카프 @@ -2632,4 +2632,54 @@ B 스테인리스 보틀 초록카나리인형 파랑카나리인형 파랑카나리인형 -파랑카나리인형 \ No newline at end of file +파랑카나리인형 +라이츄나이트X +라이츄나이트Y +치렁나이트 +앱솔나이트Z +찌르호크나이트 +한카리아스나이트Z +루카리오나이트Z +골루그나이트 +냐오닉스나이트 +모단단게나이트 +갑주무사나이트 +마기아나이트 +스코빌런나이트 +드닐레이브나이트 +싸리용나이트 +킬라플로르나이트 +이차원 버치열매 +이차원 유루열매 +이차원 복슝열매 +이차원 복분열매 +이차원 배리열매 +이차원 오랭열매 +이차원 시몬열매 +이차원 리샘열매 +이차원 자뭉열매 +이차원 유석열매 +이차원 시마열매 +이차원 파비열매 +이차원 로매열매 +이차원 또뽀열매 +이차원 토망열매 +이차원 오카열매 +이차원 꼬시개열매 +이차원 초나열매 +이차원 린드열매 +이차원 플카열매 +이차원 로플열매 +이차원 으름열매 +이차원 슈캐열매 +이차원 바코열매 +이차원 야파열매 +이차원 리체열매 +이차원 루미열매 +이차원 수불열매 +이차원 하반열매 +이차원 마코열매 +이차원 바리비열매 +이차원 카리열매 +이차원 로셀열매 +카나리빵 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/items/text_Items_zh-Hans.txt b/PKHeX.Core/Resources/text/items/text_Items_zh-Hans.txt index 00f8c631b..17e1ed494 100644 --- a/PKHeX.Core/Resources/text/items/text_Items_zh-Hans.txt +++ b/PKHeX.Core/Resources/text/items/text_Items_zh-Hans.txt @@ -2565,8 +2565,8 @@ 大力鳄进化石 盔甲鸟进化石 雪妖女进化石 - - +席多蓝恩进化石 +达克莱伊进化石 炎武王进化石 龙头地鼠进化石 蜈蚣王进化石 @@ -2584,7 +2584,7 @@ 摔角鹰人进化石 基格尔德进化石 老翁龙进化石 - +捷拉奥拉进化石 列阵兵进化石 202号客房的钥匙 厉害密阿雷格雷派饼 @@ -2599,19 +2599,19 @@ 美味垃圾 活力小树枝 玳萝的遗忘物 - - - - - - - - - - - - - +密阿雷黄油 +超级黄油 +高级黄油 +究极黄油 +大师黄油 +异次元黄油 +丰缘的粗盐 +黑香料 +奥利瓦油 +噼里啪啦糖果 +重要信件 +纪念戒指 +脏围巾 @@ -2632,4 +2632,54 @@ 绿色卡娜莉玩偶 蓝色卡娜莉玩偶 蓝色卡娜莉玩偶 -蓝色卡娜莉玩偶 \ No newline at end of file +蓝色卡娜莉玩偶 +雷丘进化石X +雷丘进化石Y +风铃铃进化石 +阿勃梭鲁进化石Z +姆克鹰进化石 +烈咬陆鲨进化石Z +路卡利欧进化石Z +泥偶巨人进化石 +超能妙喵进化石 +好胜毛蟹进化石 +具甲武者进化石 +玛机雅娜进化石 +狠辣椒进化石 +戟脊龙进化石 +米立龙进化石 +晶光花进化石 +异次元樱子果 +异次元零余果 +异次元桃桃果 +异次元莓莓果 +异次元利木果 +异次元橙橙果 +异次元柿仔果 +异次元木子果 +异次元文柚果 +异次元榴石果 +异次元藻根果 +异次元比巴果 +异次元哈密果 +异次元萄葡果 +异次元茄番果 +异次元巧可果 +异次元千香果 +异次元烛木果 +异次元罗子果 +异次元番荔果 +异次元莲蒲果 +异次元通通果 +异次元腰木果 +异次元棱瓜果 +异次元福禄果 +异次元扁樱果 +异次元草蚕果 +异次元佛柑果 +异次元莓榴果 +异次元刺耳果 +异次元霹霹果 +异次元灯浆果 +异次元洛玫果 +卡娜莉面包 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_de.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_de.txt index 4a88c8c8b..da7b2800b 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_de.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_de.txt @@ -233,4 +233,52 @@ Geschäftsgebäude Illumina-Kunstmuseum Bistro Flordelis Labor von Flordelis -Kanalisation \ No newline at end of file +Kanalisation +Zimmer 201 +Zimmer 202 +Zimmer 203 +Zimmer 204 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Dimensions-Illumina +Portal ins Dimensions-Illumina +Ort des Desasters +Stolze Jagdgründe +Sushi-Paradies +Sphäre des Hellsehers +Brodelndes Inferno +Neumondinsel der Alpträume +Urmeer +Endland +Großer Himmelturm \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_en.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_en.txt index 378768074..412fddbcb 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_en.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_en.txt @@ -233,4 +233,52 @@ Old Building Lumiose Museum Lysandre Café Lysandre Labs -The Sewers \ No newline at end of file +The Sewers +Room 201 +Room 202 +Room 203 +Room 204 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Hyperspace Lumiose +Hyperspace Entry Point +Hyperspace Disaster Arena +Hyperspace Hunting Grounds +Hyperspace Sushi Paradise +Hyperspace Second-Sight Arena +Hyperspace Infernal Arena +Hyperspace Newmoon Nightmare +Hyperspace Primordial Sea +Hyperspace Desolate Land +Hyperspace Sky Pillar \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_es-419.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_es-419.txt index ebd05a221..ff801046a 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_es-419.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_es-419.txt @@ -233,4 +233,52 @@ Local vacante Museo de Luminalia Café Lysandre Laboratorios Lysandre -Alcantarillas \ No newline at end of file +Alcantarillas +Habitación 201 +Habitación 202 +Habitación 203 +Habitación 204 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Luminalia Dimensional +Portal +Territorio Catastrófico +Terreno de Caza Aislado +Buffet de Sushi +Zona de la Clarividencia +Averno Abrasador +Isla Lunanueva Tenebrosa +Mar del Albor +Tierra del Ocaso +Gran Pilar Celeste \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_es.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_es.txt index e6dcdfdd1..612c8bc45 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_es.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_es.txt @@ -233,4 +233,52 @@ Local vacante Museo de Arte de Luminalia Café Lysson Laboratorios Lysson -Alcantarillas \ No newline at end of file +Alcantarillas +Habitación 201 +Habitación 202 +Habitación 203 +Habitación 204 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Luminalia Dimensional +Portal +Paraje Catastrófico +Coto Aislado +Buffet de Sushi +Espacio de la Clarividencia +Averno Abrasador +Isla Lunanueva de Pesadilla +Mar del Albor +Tierra del Ocaso +Gran Pilar Celeste \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_fr.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_fr.txt index 15fc97411..d749c54e1 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_fr.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_fr.txt @@ -233,4 +233,52 @@ Immeuble de bureaux Musée d’Illumis Café Lysandre Labos Lysandre -Égouts \ No newline at end of file +Égouts +Chambre 201 +Chambre 202 +Chambre 203 +Chambre 204 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Extra Illumis +Portail d’accès vers Extra Illumis +Zone du Désastre +Territoire du Chasseur Solitaire +Au Mât Cassé +Antre du Clairvoyant +Enfer Embrasé +Cauchemar de Nouvellune +Mer Primaire +Terre Finale +Pilier des Cieux \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_it.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_it.txt index 2c08b3cfc..99ea97527 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_it.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_it.txt @@ -233,4 +233,52 @@ Edificio commerciale Museo di Luminopoli Caffè Elisio Laboratori Elisio -Acquedotto \ No newline at end of file +Acquedotto +Stanza 201 +Stanza 202 +Stanza 203 +Stanza 204 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Luminopoli dimensionale +Varco d’ingresso dimensionale +Luogo della catastrofe (Luminopoli dimensionale) +Terra di caccia solitaria (Luminopoli dimensionale) +Sushi-bar satollo (Luminopoli dimensionale) +Sala del veggente (Luminopoli dimensionale) +Inferno di fiamme (Luminopoli dimensionale) +Incubo dell’Isola Lunanuova (Luminopoli dimensionale) +Mare primordiale (Luminopoli dimensionale) +Terra estrema (Luminopoli dimensionale) +Pilastro dei cieli (Luminopoli dimensionale) \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_ja.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_ja.txt index d635953d5..6a4c7f536 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_ja.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_ja.txt @@ -233,4 +233,52 @@ AXION 4 ミアレ美術館 フラダリカフェ フラダリラボ -地下水道 \ No newline at end of file +地下水道 +201号室 +202号室 +203号室 +204号室 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +異次元ミアレ +異次元入口 +異次元ミアレ 災いの場所 +異次元ミアレ 孤高の狩場 +異次元ミアレ 満腹寿司屋 +異次元ミアレ 千里眼の間 +異次元ミアレ 火炎地獄 +異次元ミアレ 悪夢の新月島 +異次元ミアレ 始まりの海 +異次元ミアレ 終わりの大地 +異次元ミアレ 大空の柱 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_ko.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_ko.txt index 62d4aff09..62ccb6f3e 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_ko.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_ko.txt @@ -233,4 +233,52 @@ SUBATOMIC 4 미르 미술관 플라드리 카페 플라드리 래버러토리 -지하 수도 \ No newline at end of file +지하 수도 +201호실 +202호실 +203호실 +204호실 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +이차원 미르 +이차원 입구 +이차원 미르 재난의 장소 +이차원 미르 고고한 사냥터 +이차원 미르 배부른 초밥집 +이차원 미르 천리안의 공간 +이차원 미르 화염지옥 +이차원 미르 악몽의 신월섬 +이차원 미르 시작의 바다 +이차원 미르 끝의 대지 +이차원 미르 창공의 기둥 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_zh-Hans.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_zh-Hans.txt index caf970cbc..c66d3a72a 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_zh-Hans.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_zh-Hans.txt @@ -233,4 +233,52 @@ SUBATOMIC 4 密阿雷美术馆 弗拉达利咖啡店 弗拉达利研究所 -下水道 \ No newline at end of file +下水道 +201号客房 +202号客房 +203号客房 +204号客房 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +异次元密阿雷 +异次元入口 +异次元密阿雷:灾祸之地 +异次元密阿雷:孤高狩猎场 +异次元密阿雷:饱足寿司店 +异次元密阿雷:千里眼之域 +异次元密阿雷:火焰地狱 +异次元密阿雷:噩梦新月岛 +异次元密阿雷:始源之海 +异次元密阿雷:终结之地 +异次元密阿雷:长空之柱 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_zh-Hant.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_zh-Hant.txt index b73ab7f42..f3dc37ad6 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_zh-Hant.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_00000_zh-Hant.txt @@ -233,4 +233,52 @@ SUBATOMIC 4 密阿雷美術館 弗拉達利咖啡店 弗拉達利研究所 -下水道 \ No newline at end of file +下水道 +201號客房 +202號客房 +203號客房 +204號客房 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +異次元密阿雷 +異次元入口 +異次元密阿雷:災禍之地 +異次元密阿雷:孤高狩獵場 +異次元密阿雷:飽足壽司店 +異次元密阿雷:千里眼之域 +異次元密阿雷:火焰地獄 +異次元密阿雷:惡夢新月島 +異次元密阿雷:始源之海 +異次元密阿雷:終結之地 +異次元密阿雷:長空之柱 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_de.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_de.txt index cabdeb03e..89ebb7afb 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_de.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_de.txt @@ -30,4 +30,7 @@ Wildsektor 11 Illumina-Kunstmuseum Académie Étoile Rose-Bezirk 2 -Nordring \ No newline at end of file +Nordring +Rouge-Bezirk 1 +Dimensions-Illumina +Quazar Corporation \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_en.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_en.txt index 39e419e13..e9d8a3766 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_en.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_en.txt @@ -30,4 +30,7 @@ Wild Zone 11 the Lumiose Museum Académie Étoile Magenta Sector 2 -North Boulevard \ No newline at end of file +North Boulevard +Rouge Sector 1 +Hyperspace Lumiose +Quasartico Inc. \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_es-419.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_es-419.txt index 0a53bedaf..c06f76a75 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_es-419.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_es-419.txt @@ -30,4 +30,7 @@ Zona salvaje 11 Museo de Luminalia Escuela Andrómeda Distrito Rosa: sector 2 -Bulevar Norte \ No newline at end of file +Bulevar Norte +Distrito Rojo: sector 1 +Luminalia Dimensional +Quastelar S. A. \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_es.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_es.txt index 15d83ac06..88f07834c 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_es.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_es.txt @@ -30,4 +30,7 @@ Zona salvaje 11 Museo de Arte de Luminalia Escuela Perseida Distrito Rosa: sector 2 -Bulevar Norte \ No newline at end of file +Bulevar Norte +Distrito Rojo: sector 1 +Luminalia Dimensional +Quastelar S. A. \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_fr.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_fr.txt index 4b95fa077..a3b69e828 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_fr.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_fr.txt @@ -30,4 +30,7 @@ Zone sauvage nº 11 Musée d’Illumis Institut Nivers 2ᵉ arrondissement de Rosavilliers -Rue Septentrionale \ No newline at end of file +Rue Septentrionale +1ᵉʳ arrondissement de Maurouge +Extra Illumis +Société Quazar \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_it.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_it.txt index db510de5e..c92541c9f 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_it.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_it.txt @@ -30,4 +30,7 @@ zona selvaggia 11 Museo di Luminopoli Istituto Étoile 2º isolato del Quartiere Rosa -Corso Alto \ No newline at end of file +Corso Alto +1º isolato del Quartiere Rosso +Luminopoli dimensionale +Q-asar Inc. \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_ja.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_ja.txt index 7fea603bd..c9ff9a77b 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_ja.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_ja.txt @@ -30,4 +30,7 @@ Pokémon HOME ミアレ美術館 エトワール校 ローズ2番地 -ノースサイドストリート \ No newline at end of file +ノースサイドストリート +ルージュ1番地 +異次元ミアレ +クエーサー社 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_ko.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_ko.txt index 091528edb..94ec31779 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_ko.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_ko.txt @@ -30,4 +30,7 @@ Pokémon HOME 미르 미술관 에투알 스쿨 로즈 2번지 -노스사이드 스트리트 \ No newline at end of file +노스사이드 스트리트 +루주 1번지 +이차원 미르 +퀘이사 주식회사 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_zh-Hans.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_zh-Hans.txt index c6521c64a..3c1b2d92d 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_zh-Hans.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_zh-Hans.txt @@ -30,4 +30,7 @@ Pokémon HOME 密阿雷美术馆 艾特瓦鲁学校 蓉粉2号街区 -北侧大道 \ No newline at end of file +北侧大道 +榴红1号街区 +异次元密阿雷 +阔星公司 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_zh-Hant.txt b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_zh-Hant.txt index bd2996e6c..1d47eef64 100644 --- a/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_zh-Hant.txt +++ b/PKHeX.Core/Resources/text/locations/gen9a/text_za_30000_zh-Hant.txt @@ -30,4 +30,7 @@ Pokémon HOME 密阿雷美術館 艾特瓦魯學校 蓉粉2號街區 -北側大道 \ No newline at end of file +北側大道 +榴紅1號街區 +異次元密阿雷 +闊星公司 \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/de/text_Forms_de.txt b/PKHeX.Core/Resources/text/other/de/text_Forms_de.txt index d6f0f15df..9658eaa0c 100644 --- a/PKHeX.Core/Resources/text/other/de/text_Forms_de.txt +++ b/PKHeX.Core/Resources/text/other/de/text_Forms_de.txt @@ -1138,4 +1138,5 @@ Stellar Mittelgroße Kleine Große -Extragroße \ No newline at end of file +Extragroße +Mega Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/en/text_Forms_en.txt b/PKHeX.Core/Resources/text/other/en/text_Forms_en.txt index 5a0f701f2..6bcf21310 100644 --- a/PKHeX.Core/Resources/text/other/en/text_Forms_en.txt +++ b/PKHeX.Core/Resources/text/other/en/text_Forms_en.txt @@ -1138,4 +1138,5 @@ Stellar Medium Small Large -Jumbo \ No newline at end of file +Jumbo +Mega Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/es-419/text_Forms_es-419.txt b/PKHeX.Core/Resources/text/other/es-419/text_Forms_es-419.txt index 5f9127e3b..7bc8f3567 100644 --- a/PKHeX.Core/Resources/text/other/es-419/text_Forms_es-419.txt +++ b/PKHeX.Core/Resources/text/other/es-419/text_Forms_es-419.txt @@ -1138,4 +1138,5 @@ Astral Mediana Pequeña Grande -Enorme \ No newline at end of file +Enorme +Mega Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/es/text_Forms_es.txt b/PKHeX.Core/Resources/text/other/es/text_Forms_es.txt index 3e0832de8..733e6c774 100644 --- a/PKHeX.Core/Resources/text/other/es/text_Forms_es.txt +++ b/PKHeX.Core/Resources/text/other/es/text_Forms_es.txt @@ -1138,4 +1138,5 @@ Astral Mediana Pequeña Grande -Enorme \ No newline at end of file +Enorme +Mega Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/fr/text_Forms_fr.txt b/PKHeX.Core/Resources/text/other/fr/text_Forms_fr.txt index deaa7af5a..b606c7b3b 100644 --- a/PKHeX.Core/Resources/text/other/fr/text_Forms_fr.txt +++ b/PKHeX.Core/Resources/text/other/fr/text_Forms_fr.txt @@ -1138,4 +1138,5 @@ Stellaire Moyenne Petite Grande -Giga \ No newline at end of file +Giga +Méga Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/it/text_Forms_it.txt b/PKHeX.Core/Resources/text/other/it/text_Forms_it.txt index 53b949344..604d85e05 100644 --- a/PKHeX.Core/Resources/text/other/it/text_Forms_it.txt +++ b/PKHeX.Core/Resources/text/other/it/text_Forms_it.txt @@ -1138,4 +1138,5 @@ Astrale Media Piccola Grande -Gigante \ No newline at end of file +Gigante +Mega Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ja/text_Forms_ja.txt b/PKHeX.Core/Resources/text/other/ja/text_Forms_ja.txt index ba246b302..91b182274 100644 --- a/PKHeX.Core/Resources/text/other/ja/text_Forms_ja.txt +++ b/PKHeX.Core/Resources/text/other/ja/text_Forms_ja.txt @@ -1138,4 +1138,5 @@ ちゅうだましゅ こだましゅ おおだましゅ -ギガだましゅ \ No newline at end of file +ギガだましゅ +メガ Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/ko/text_Forms_ko.txt b/PKHeX.Core/Resources/text/other/ko/text_Forms_ko.txt index 18f6c3a0e..5305e7e38 100644 --- a/PKHeX.Core/Resources/text/other/ko/text_Forms_ko.txt +++ b/PKHeX.Core/Resources/text/other/ko/text_Forms_ko.txt @@ -1138,4 +1138,5 @@ 중과종 소과종 대과종 -특대과종 \ No newline at end of file +특대과종 +메가 Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh-Hans/text_Forms_zh-Hans.txt b/PKHeX.Core/Resources/text/other/zh-Hans/text_Forms_zh-Hans.txt index a1aa36d5d..f5918cd37 100644 --- a/PKHeX.Core/Resources/text/other/zh-Hans/text_Forms_zh-Hans.txt +++ b/PKHeX.Core/Resources/text/other/zh-Hans/text_Forms_zh-Hans.txt @@ -1138,4 +1138,5 @@ 中颗种 小颗种 大颗种 -巨颗种 \ No newline at end of file +巨颗种 +超级 Z \ No newline at end of file diff --git a/PKHeX.Core/Resources/text/other/zh-Hant/text_Forms_zh-Hant.txt b/PKHeX.Core/Resources/text/other/zh-Hant/text_Forms_zh-Hant.txt index 2164ca21a..37122fda1 100644 --- a/PKHeX.Core/Resources/text/other/zh-Hant/text_Forms_zh-Hant.txt +++ b/PKHeX.Core/Resources/text/other/zh-Hant/text_Forms_zh-Hant.txt @@ -1138,4 +1138,5 @@ Mega蒂安希 中顆種 小顆種 大顆種 -巨顆種 \ No newline at end of file +巨顆種 +Mega Z \ No newline at end of file diff --git a/PKHeX.Core/Saves/Access/SaveBlockAccessor9ZA.cs b/PKHeX.Core/Saves/Access/SaveBlockAccessor9ZA.cs index 09232c11f..5df095a1d 100644 --- a/PKHeX.Core/Saves/Access/SaveBlockAccessor9ZA.cs +++ b/PKHeX.Core/Saves/Access/SaveBlockAccessor9ZA.cs @@ -63,6 +63,7 @@ public sealed class SaveBlockAccessor9ZA(SAV9ZA sav) : SCBlockAccessor public const uint KBoxWallpapers = 0x2EB1B190; // Box Wallpapers public const uint KMoney = 0x4F35D0DD; // u32 public const uint KCurrentBox = 0x017C3CBB; // U32 Box Index + public const uint KSaveRevision = 0x0926555A; // u64 revision private const uint KCoordinates = 0x910D381F; // Player Coordinates/Rotation private const uint KInfiniteRoyale = 0x8929BFB6; // object private const uint KConfig = 0xAC6DD22F; // u64 object diff --git a/PKHeX.Core/Saves/SAV9ZA.cs b/PKHeX.Core/Saves/SAV9ZA.cs index 1b78750a6..28b14bbb8 100644 --- a/PKHeX.Core/Saves/SAV9ZA.cs +++ b/PKHeX.Core/Saves/SAV9ZA.cs @@ -14,7 +14,6 @@ private SAV9ZA(IReadOnlyList blocks) : base(Memory.Empty) { AllBlocks = blocks; Blocks = new SaveBlockAccessor9ZA(this); - SaveRevision = 0; Initialize(); } @@ -22,7 +21,7 @@ public SAV9ZA() { AllBlocks = BlankBlocks9a.GetBlankBlocks(); Blocks = new SaveBlockAccessor9ZA(this); - SaveRevision = 0; + SaveRevision = BlankBlocks9a.BlankRevision; Initialize(); ClearBoxes(); } @@ -38,11 +37,17 @@ public override void CopyChangesFrom(SaveFile sav) State.Edited = true; } - public int SaveRevision { get; } + + public int SaveRevision + { + get => (int)GetValue(SaveBlockAccessor9ZA.KSaveRevision); + private init => SetValue(SaveBlockAccessor9ZA.KSaveRevision, (ulong)value); + } public string SaveRevisionString => SaveRevision switch { 0 => "-Base", // Vanilla + 1 => "-MD", // Mega Dimension _ => throw new ArgumentOutOfRangeException(nameof(SaveRevision)), }; @@ -104,14 +109,17 @@ private void Initialize() int rev = SaveRevision; if (rev == 0) { - m_move = Legal.MaxMoveID_9a; - m_spec = Legal.MaxSpeciesID_9a; - m_item = Legal.MaxItemID_9a; - m_abil = Legal.MaxAbilityID_9a; + m_move = Legal.MaxMoveID_9a_IK; + m_spec = Legal.MaxSpeciesID_9a_IK; + m_item = Legal.MaxItemID_9a_IK; + m_abil = Legal.MaxAbilityID_9a_IK; } else { - throw new ArgumentOutOfRangeException(nameof(SaveRevision)); + m_move = Legal.MaxMoveID_9a_MD; + m_spec = Legal.MaxSpeciesID_9a_MD; + m_item = Legal.MaxItemID_9a_MD; + m_abil = Legal.MaxAbilityID_9a_MD; } } diff --git a/PKHeX.Core/Saves/Substructures/Gen9/ZA/BlankBlocks9a.cs b/PKHeX.Core/Saves/Substructures/Gen9/ZA/BlankBlocks9a.cs index 8efed4108..6100348e6 100644 --- a/PKHeX.Core/Saves/Substructures/Gen9/ZA/BlankBlocks9a.cs +++ b/PKHeX.Core/Saves/Substructures/Gen9/ZA/BlankBlocks9a.cs @@ -7,7 +7,7 @@ namespace PKHeX.Core; /// public static class BlankBlocks9a { - public const byte BlankRevision = 0; // Latest + public const byte BlankRevision = 1; /// /// Creates a blank array for @@ -16,46 +16,51 @@ public static class BlankBlocks9a private static ReadOnlySpan DefaultChunkSizes => [ - 0x006ABFB7, 0x00004, 0x017C3CBB, 0x00001, 0x03913534, 0x04000, 0x041137D8, 0x00004, - 0x05773961, 0x00004, 0x08638763, 0x00640, 0x08B59D02, 0x00004, 0x08D4C4DC, 0x00008, - 0x0926555A, 0x00008, 0x0AABCD8F, 0x00200, 0x0B758BF5, 0x00090, 0x0D49F01C, 0x00008, - 0x0D66012C, 0x5FA00, 0x0F0A6814, 0x00004, 0x0FED62EB, 0x00020, 0x10789EC8, 0x00004, - 0x10B0677E, 0x00140, 0x11796819, 0x04000, 0x1354939F, 0x000F0, 0x150F04DB, 0x00900, - 0x1522C79C, 0x00008, 0x1720A5E0, 0x00400, 0x1866780C, 0x000E4, 0x18A80B0E, 0x08000, - 0x19722C89, 0x00440, 0x19FC5B7B, 0x00004, 0x1C140AA0, 0x00004, 0x1C91B58A, 0x00008, - 0x1CDCD72D, 0x00020, 0x1D7EE369, 0x00004, 0x20487806, 0x00044, 0x21BB87D5, 0x00018, - 0x21C9BD44, 0x0BC00, 0x23FF8209, 0x00002, 0x2482AD60, 0x3A980, 0x267FB825, 0x00040, - 0x293B1722, 0x01C20, 0x2A07F494, 0x00300, 0x2A192063, 0x00C00, 0x2C2C6964, 0x00400, - 0x2C5A822A, 0x00008, 0x2D87BE5C, 0x27068, 0x2EB1B190, 0x00020, 0x31379AF7, 0x00028, - 0x324F26DD, 0x05DC0, 0x33395EDE, 0x05A00, 0x33F30168, 0x00008, 0x33F39467, 0x00048, - 0x34597EF7, 0x00008, 0x356087AD, 0x02000, 0x385BD589, 0x00004, 0x3AA1A9AD, 0x00B40, - 0x40CC5A21, 0x00002, 0x41D869BD, 0x00004, 0x48064544, 0x2E2D8, 0x4856C1F4, 0x00200, - 0x4B5C1B96, 0x08000, 0x4BF1E19C, 0x00008, 0x4C26C29B, 0x05DC0, 0x4DCB6EBC, 0x0A5A0, - 0x4F35D0DD, 0x00004, 0x502EA6C8, 0x00640, 0x53106AFC, 0x00200, 0x53FD0223, 0x46500, - 0x550EC7E1, 0x00040, 0x580634CD, 0x00004, 0x58505C5E, 0x08000, 0x5CD6F27B, 0x00004, - 0x5D2A4162, 0x00004, 0x5E8E1711, 0x28488, 0x6019F261, 0x015E0, 0x605EBC30, 0x00001, - 0x618477B1, 0x00008, 0x6249C002, 0x00020, 0x64235B3D, 0x00068, 0x649123E2, 0x000CC, - 0x654FCD1E, 0x0D400, 0x698521C7, 0x00008, 0x6AC77BA1, 0x00068, 0x6BE9A4DA, 0x00008, - 0x6C585058, 0x00008, 0x6CF6C183, 0x0001D, 0x6F11121F, 0x00080, 0x703B681A, 0x00008, - 0x70CDE2DF, 0x00004, 0x711A8242, 0x00008, 0x71392A77, 0x2E2D8, 0x7147C953, 0x27100, - 0x71825204, 0x00001, 0x718B8CB1, 0x00800, 0x7211D868, 0x00100, 0x72A45DD7, 0x00004, - 0x7378188A, 0x00020, 0x79ABCB0B, 0x75300, 0x7B70DA66, 0x00004, 0x7C008151, 0x00004, - 0x7C858F12, 0x00008, 0x7C896A83, 0x02000, 0x7D78DBBB, 0x00050, 0x7DC11835, 0x05000, - 0x812FC3E3, 0x00048, 0x82EEA400, 0x00100, 0x835F3F37, 0x00004, 0x85DBDCE9, 0x0000C, - 0x8881D333, 0x00008, 0x8929BFB6, 0x00018, 0x89816ADE, 0x20000, 0x8C71870A, 0x00004, - 0x8D80EC0F, 0x00400, 0x8E466865, 0x000F0, 0x910D381F, 0x00070, 0x916BCA9E, 0x00158, - 0x92EA5F2C, 0x00030, 0x954C8BAB, 0x00C80, 0x9590D3F0, 0x00008, 0x9A730DE1, 0x00004, - 0x9AD85DFD, 0x00004, 0x9D48303D, 0x00200, 0x9EA30E65, 0x00008, 0x9FEC35B4, 0x00008, - 0xA1EDE127, 0x00008, 0xA9BF43AF, 0x00200, 0xAB54C91A, 0x00180, 0xAC6DD22F, 0x00008, - 0xAF2165F0, 0x03000, 0xB25E7EE5, 0x00400, 0xB654DB77, 0x0028C, 0xB7BA6680, 0x00001, - 0xB9B223B9, 0x04000, 0xB9DBD20C, 0x00008, 0xBAEF1BD4, 0x002B2, 0xBEC26CD5, 0x08D20, - 0xBF60CD09, 0x00004, 0xC074374C, 0x00008, 0xC7409C89, 0x00004, 0xC81B476B, 0x00008, - 0xC9541EB3, 0x00002, 0xCB883AEE, 0x00004, 0xCE3AF8F2, 0x00008, 0xD1A3FF7B, 0x15180, - 0xD1C4A383, 0x00008, 0xD4BCE690, 0x09600, 0xDACF515D, 0x000A0, 0xDD90CEEC, 0x00190, - 0xDE67CD9D, 0x00080, 0xE2CC4DC7, 0x00004, 0xE3AFBE89, 0x00020, 0xE3E89BD1, 0x00078, - 0xE9A56AA6, 0x00008, 0xE9DC8427, 0x00100, 0xEA8121EB, 0x00001, 0xED6F46E7, 0x08000, - 0xEDAFF794, 0x0000C, 0xF1397E13, 0x08000, 0xF286ADA4, 0x00004, 0xF3A8569D, 0x01360, - 0xF428AFF2, 0x00200, 0xF4439BD4, 0x00960, 0xFA089054, 0x00960, 0xFADA7742, 0x01000, - 0xFC08F055, 0x00040, + 0x006ABFB7, 0x00004, 0x017C3CBB, 0x00001, 0x0235471C, 0x00004, 0x027296CD, 0x00808, + 0x03913534, 0x04000, 0x041137D8, 0x00004, 0x05773961, 0x00004, 0x08638763, 0x00640, + 0x08B59D02, 0x00004, 0x08D4C4DC, 0x00008, 0x0926555A, 0x00008, 0x0AABCD8F, 0x00200, + 0x0B758BF5, 0x00090, 0x0D49F01C, 0x00008, 0x0D66012C, 0x5FA00, 0x0F0A6814, 0x00004, + 0x0FED62EB, 0x00020, 0x10789EC8, 0x00004, 0x10B0677E, 0x00140, 0x11796819, 0x04000, + 0x1354939F, 0x000F0, 0x150F04DB, 0x00900, 0x1522C79C, 0x00008, 0x1720A5E0, 0x00400, + 0x1866780C, 0x000E4, 0x18A80B0E, 0x08000, 0x19722C89, 0x00440, 0x19FC5B7B, 0x00004, + 0x1B5C8189, 0x00008, 0x1C140AA0, 0x00004, 0x1C91B58A, 0x00008, 0x1CDCD72D, 0x00020, + 0x1D7EE369, 0x00004, 0x20487806, 0x00044, 0x21BB87D5, 0x00018, 0x21C9BD44, 0x0BC00, + 0x23FF8209, 0x00002, 0x2482AD60, 0x3A980, 0x25335B2A, 0x00048, 0x267FB825, 0x00040, + 0x293B1722, 0x01C20, 0x2A07F494, 0x00300, 0x2A192063, 0x00C00, 0x2A9871E9, 0x00001, + 0x2C2C6964, 0x00400, 0x2C5A822A, 0x00008, 0x2D87BE5C, 0x27068, 0x2EB1B190, 0x00020, + 0x2EDF4180, 0x01800, 0x31379AF7, 0x00028, 0x324F26DD, 0x05DC0, 0x33395EDE, 0x05A00, + 0x33F30168, 0x00008, 0x33F39467, 0x00048, 0x34597EF7, 0x00008, 0x356087AD, 0x02000, + 0x385BD589, 0x00004, 0x3AA1A9AD, 0x00B40, 0x406B7EED, 0x00004, 0x40CC5A21, 0x00002, + 0x41D869BD, 0x00004, 0x48064544, 0x2E2D8, 0x4856C1F4, 0x00200, 0x4B5C1B96, 0x08000, + 0x4B62954E, 0x000C8, 0x4BF1E19C, 0x00008, 0x4C26C29B, 0x05DC0, 0x4DCB6EBC, 0x0A5A0, + 0x4F314909, 0x00014, 0x4F35D0DD, 0x00004, 0x502EA6C8, 0x00640, 0x53106AFC, 0x00200, + 0x53FD0223, 0x46500, 0x550EC7E1, 0x00040, 0x580634CD, 0x00004, 0x58505C5E, 0x08000, + 0x5CD6F27B, 0x00004, 0x5D2A4162, 0x00004, 0x5E8E1711, 0x28488, 0x6019F261, 0x015E0, + 0x605EBC30, 0x00001, 0x618477B1, 0x00008, 0x6249C002, 0x00020, 0x64235B3D, 0x00068, + 0x649123E2, 0x000CC, 0x654FCD1E, 0x0D400, 0x698521C7, 0x00008, 0x6AC77BA1, 0x00068, + 0x6BE9A4DA, 0x00008, 0x6C585058, 0x00008, 0x6CF6C183, 0x0001D, 0x6F11121F, 0x00080, + 0x703B681A, 0x00008, 0x70CDE2DF, 0x00004, 0x711A8242, 0x00008, 0x71392A77, 0x2E2D8, + 0x7147C953, 0x27100, 0x71825204, 0x00001, 0x718B8CB1, 0x00800, 0x7211D868, 0x00100, + 0x72A45DD7, 0x00004, 0x7378188A, 0x00020, 0x79ABCB0B, 0x75300, 0x7B70DA66, 0x00004, + 0x7C008151, 0x00004, 0x7C858F12, 0x00008, 0x7C896A83, 0x02000, 0x7D78DBBB, 0x00050, + 0x7DC11835, 0x05000, 0x812FC3E3, 0x00048, 0x82EEA400, 0x00100, 0x835F3F37, 0x00004, + 0x84D0F3CA, 0x00008, 0x85DBDCE9, 0x0000C, 0x8881D333, 0x00008, 0x8929BFB6, 0x00018, + 0x89816ADE, 0x20000, 0x8C71870A, 0x00004, 0x8D80EC0F, 0x00400, 0x8E466865, 0x000F0, + 0x910D381F, 0x00070, 0x916BCA9E, 0x00158, 0x92EA5F2C, 0x00030, 0x954C8BAB, 0x00C80, + 0x9590D3F0, 0x00008, 0x9854CBC7, 0x00800, 0x9A730DE1, 0x00004, 0x9AD85DFD, 0x00004, + 0x9D48303D, 0x00200, 0x9D74BB52, 0x00008, 0x9E14BFFB, 0x028B8, 0x9EA30E65, 0x00008, + 0x9FEC35B4, 0x00008, 0xA1EDE127, 0x00008, 0xA2C00646, 0x000A8, 0xA9BF43AF, 0x00200, + 0xAB54C91A, 0x00180, 0xAC6DD22F, 0x00008, 0xAF2165F0, 0x03000, 0xB1451E63, 0x00004, + 0xB25E7EE5, 0x00400, 0xB654DB77, 0x0028C, 0xB7BA6680, 0x00001, 0xB9B223B9, 0x04000, + 0xB9DBD20C, 0x00008, 0xBAEF1BD4, 0x002B2, 0xBCCE00D6, 0x00026, 0xBE007476, 0x118F8, + 0xBEC26CD5, 0x08D20, 0xBF60CD09, 0x00004, 0xC074374C, 0x00008, 0xC5FDF49B, 0x00008, + 0xC7409C89, 0x00004, 0xC81B476B, 0x00008, 0xC8976FAA, 0x00004, 0xC9541EB3, 0x00002, + 0xCB883AEE, 0x00004, 0xCE3AF8F2, 0x00008, 0xD035ED5E, 0x00080, 0xD1A3FF7B, 0x15180, + 0xD1C4A383, 0x00008, 0xD4BCE690, 0x09600, 0xD4DDC4F8, 0x00010, 0xDACF515D, 0x000A0, + 0xDD90CEEC, 0x00190, 0xDE67CD9D, 0x00080, 0xE2CC4DC7, 0x00004, 0xE3AFBE89, 0x00028, + 0xE3E89BD1, 0x00078, 0xE9A56AA6, 0x00008, 0xE9DC8427, 0x00100, 0xE9E6CDBA, 0x00008, + 0xEA8121EB, 0x00001, 0xED6F46E7, 0x08000, 0xEDAFF794, 0x0000C, 0xF1397E13, 0x08000, + 0xF286ADA4, 0x00004, 0xF3A8569D, 0x01360, 0xF428AFF2, 0x00200, 0xF4439BD4, 0x00960, + 0xFA089054, 0x00960, 0xFADA7742, 0x01000, 0xFC08F055, 0x00040, ]; } diff --git a/PKHeX.Core/Saves/Substructures/Gen9/ZA/PokeDexEntry9a.cs b/PKHeX.Core/Saves/Substructures/Gen9/ZA/PokeDexEntry9a.cs index 8a25ca003..1c6000e10 100644 --- a/PKHeX.Core/Saves/Substructures/Gen9/ZA/PokeDexEntry9a.cs +++ b/PKHeX.Core/Saves/Substructures/Gen9/ZA/PokeDexEntry9a.cs @@ -151,7 +151,7 @@ public DisplayGender9a GetDisplayGender(Gender gender, ushort species, byte form } // Gender differences? - if (BiGender.Contains(species)) + if (BiGender.Contains(species) || BiGenderDLC.Contains(species)) return gender == Gender.Male ? DisplayGender9a.Male : DisplayGender9a.Female; return DisplayGender9a.GenderedNoDifference; } @@ -159,6 +159,7 @@ public DisplayGender9a GetDisplayGender(Gender gender, ushort species, byte form /// /// Species with gender differences in the dex. /// + /// Unique models to display private static ReadOnlySpan BiGender => [ 003, 025, 026, 064, 065, 123, 129, 130, 133, @@ -169,6 +170,20 @@ public DisplayGender9a GetDisplayGender(Gender gender, ushort species, byte form 668, // Pyroar ]; + private static ReadOnlySpan BiGenderDLC => + [ + (int)Species.Zubat, + (int)Species.Golbat, // no Crobat + + (int)Species.Torchic, + (int)Species.Combusken, + (int)Species.Blaziken, + + (int)Species.Starly, + (int)Species.Staravia, + (int)Species.Staraptor, + ]; + public void SetDisplayGender(Gender gender, ushort species, byte form) { DisplayGender = GetDisplayGender(gender, species, form); diff --git a/PKHeX.Core/Saves/Substructures/Gen9/ZA/TechnicalMachine9a.cs b/PKHeX.Core/Saves/Substructures/Gen9/ZA/TechnicalMachine9a.cs new file mode 100644 index 000000000..d330ca6be --- /dev/null +++ b/PKHeX.Core/Saves/Substructures/Gen9/ZA/TechnicalMachine9a.cs @@ -0,0 +1,73 @@ +namespace PKHeX.Core; + +public static class TechnicalMachine9a +{ + public static readonly (string FieldItem, ushort ItemID, (float X, float Y, float Z) Point)[] TechnicalMachines = + [ + ("itb_a0102_134", 328, (-668.78064f, 0.003661115f,-786.5982f)), // TM001 t1 + ("itb_a0402_98", 329, (-598.0553f, 13.174822f,-287.42545f)), // TM002 t1 + ("itb_a0401_97", 332, (-387.8171f, 20.788715f,-299.42838f)), // TM005 t1 + ("itb_a0402_93", 333, (-548.05615f, 17.956745f,-309.41443f)), // TM007 t1 + ("itb_a0102_106", 400, (-628.5779f, 0.17770624f,-877.47003f)), // TM008 t1 + ("itb_a0301_104", 336, (-203.56674f, 19.54758f,-578.75195f)), // TM009 t1 + ("itb_a0302_107", 358, (-242.89536f, 2.5021734f,-288.7877f)), // TM010 t1 + ("itb_a0201_04", 371, (-413.6917f, -0.63286465f,-812.2086f)), // TM013 t1 + ("itb_a0301_72", 692, (-126.87326f, 21.763037f,-591.8911f)), // TM018 t1 + ("itb_a0102_132", 348, (-589.59576f, 14.404035f,-846.56836f)), // TM019 t1 + ("itb_a0403_01", 367, (-474.7154f, 26.323023f,-262.3075f)), // TM022 t1 + ("itd_d02_09", 354, (-0.22722217f, -0.14778668f,-227.65642f)),// TM025 t3 + ("itb_a0201_84", 380, (-390.05823f, 14.896092f,-893.6906f)), // TM026 t1 + ("itb_a0103_02", 397, (-645.02545f, -0.04693967f,-687.2036f)), // TM027 t1 + ("itb_a0102_125", 362, (-553.793f, 9.140966f,-765.46625f)), // TM033 t1 + ("itb_a0202_79", 386, (-139.0708f, 23.921827f,-676.4186f)), // TM034 t1 + ("itb_a0501_106", 2166,(-727.915f, 25.065262f,-354.03f)), // TM035 t1 + ("itb_a0503_01", 366, (-725.98834f, 11.949879f,-418.04816f)), // TM036 t1 + ("itb_a0301_103", 2160,(-78.887596f, 26.310556f,-494.585f)), // TM037 t1 + ("itb_a0301_19", 369, (-66.5289f, 0.1400345f,-478.4983f)), // TM039 t1 + ("itb_a0202_07", 370, (-404.98746f, 13.583943f,-656.57623f)), // TM040 t1 + ("itb_a0502_11", 390, (-905.83636f, 22.09935f,-593.2861f)), // TM041 t1 + ("itb_a0501_105", 342, (-745.1518f, 7.9030557f,-251.46582f)), // TM044 t1 + ("itb_a0102_133", 381, (-564.167f, 15.68258f,-634.10364f)), // TM049 t1 + ("itb_a0501_11", 383, (-805.57544f, 21.37394f,-166.47404f)), // TM052 t1 + ("itb_a0601_11", 385, (-476.4867f, 0.42864984f,-481.21725f)), // TM054 t1 + ("itb_a0201_82", 387, (-478.0298f, 18.44303f,-743.7157f)), // TM056 t1 + ("itb_a0201_83", 372, (-442.49258f, 17.34272f,-925.71234f)), // TM058 t1 + ("itb_a0101_21", 389, (-785.04614f, 19.495068f,-787.48315f)), // TM062 t1 + ("itb_a0502_80", 356, (-853.27094f, -0.5143876f,-569.87335f)), // TM063 t1 + ("itb_a0302_13", 398, (-215.81284f, 8.283916f,-191.6045f)), // TM065 t1 + ("itb_a0401_94", 404, (-475.05746f, 19.873632f,-47.76264f)), // TM071 t1 + ("itb_a0402_14", 405, (-567.85974f, 0.10609335f,-157.4825f)), // TM072 t1 + ("itb_a0101_108", 357, (-786.8892f, 17.097988f,-751.10626f)), // TM074 t1 + ("itb_a0202_105", 374, (-316.60748f, 24.58596f,-616.53375f)), // TM075 t1 + ("itb_a0203_03", 410, (-377.62292f, 0.18011375f,-659.8689f)), // TM076 t1 + ("itb_a0501_02", 384, (-820.16254f, 5.383784f,-266.6281f)), // TM079 t1 + ("itb_a0101_109", 414, (-848.59955f, 13.002884f,-790.4249f)), // TM080 t1 + ("itb_a0401_61", 396, (-388.79446f, 0.14138407f,-52.917423f)), // TM081 t1 + ("itb_a0502_99", 618, (-704.1312f, 21.50592f,-522.5093f)), // TM086 t1 + ("itb_a0402_94", 690, (-574.86664f, 22.051146f,-181.31502f)), // TM089 t1 + ("itd_d01_01_16", 691, (-67.99764f, 0.005415537f,52.998158f)), // TM090 t2 + ("itb_a0303_03", 693, (-279.5345f, 0.29320198f,-428.36847f)), // TM092 t1 + ("itd_d02_02_05", 2163,(-83.20368f, 3.0284998f,-90.00267f)), // TM095 t3_2 + ("itd_d02_13", 368, (-104.26371f, -0.1468494f,-129.4581f)), // TM098 t3 + ("itb_a0102_116", 415, (-592.1722f, 22.07336f,-927.0465f)), // TM103 t1 + ]; + + /// + /// Utility function to set all overworld Technical Machines to collected or uncollected state. + /// + public static int SetAllTechnicalMachines(SAV9ZA sav, bool collected = false) + { + int ctr = 0; + foreach (var item in TechnicalMachines) + { + var hash = FnvHash.HashFnv1a_64(item.FieldItem); + var index = sav.Blocks.FieldItems.GetIndex(hash); + if (index == -1) + continue; // Shouldn't happen. All TMs should be populated in a save file, except if it's a DLC TM (not applicable). + sav.Blocks.FieldItems.SetValue(index, collected); + sav.Items.SetItemQuantity(item.ItemID, collected ? 1 : 0); + ctr++; + } + return ctr; + } +} diff --git a/PKHeX.Core/Saves/Substructures/Gen9/ZA/Zukan9a.cs b/PKHeX.Core/Saves/Substructures/Gen9/ZA/Zukan9a.cs index 90278eeeb..a6a8edf47 100644 --- a/PKHeX.Core/Saves/Substructures/Gen9/ZA/Zukan9a.cs +++ b/PKHeX.Core/Saves/Substructures/Gen9/ZA/Zukan9a.cs @@ -39,7 +39,7 @@ private void Register(PKM pk, ushort species, byte form) entry.SetIsFormCaught(form, true); if (FormInfo.IsMegaForm(species, form)) entry.SetIsSeenMega(0, true); - if (IsMegaFormXY(species)) + if (IsMegaFormXY(species, SAV.SaveRevision)) entry.SetIsSeenMega(1, true); entry.SetLanguageFlag(pk.Language, true); @@ -69,7 +69,7 @@ private void Register(PKM pk, ushort species, byte form) } /// - /// Fetches extra alternate form flags for all forms it can shift between, for Shiny entities. + /// Fetches extra alternate form flags for all forms it can shift between, for regular entities. /// public static bool GetFormExtraFlags(ushort species, out uint value) { @@ -79,8 +79,12 @@ public static bool GetFormExtraFlags(ushort species, out uint value) (int)Species.Aegislash => 3, // both forms // Returning in DLC + (int)Species.Rotom => 0x3F, // all 5+1 forms + (int)Species.Meloetta => 3, // both forms + (int)Species.Genesect => 0x1F, // all 4+1 forms (int)Species.Mimikyu => 3, // both forms (int)Species.Morpeko => 3, // both forms + (int)Species.Hoopa => 3, // both forms // Not present in game, but left in code from prior games. //(int)Species.Minior => 0, // handled separately (sets both core and meteor forms for the color) (((1u << 7) | 1u) << (form % 7)) @@ -97,7 +101,7 @@ public static bool GetFormExtraFlags(ushort species, out uint value) /// /// Fetches extra alternate form flags for all forms it can shift between, for Shiny entities. /// - public static bool GetFormExtraFlagsShinySeen(ushort species, byte form, out uint value) + public bool GetFormExtraFlagsShinySeen(ushort species, byte form, out uint value) { value = species switch { @@ -107,28 +111,81 @@ public static bool GetFormExtraFlagsShinySeen(ushort species, byte form, out uin (int)Species.Spewpa or (int)Species.Scatterbug => 0xF_FFFF, // all 20 forms of Vivillon. Not for Vivillon! // Returning in DLC + (int)Species.Rotom => 0x3F, // all 5+1 forms + (int)Species.Meloetta => 3, // both forms + (int)Species.Genesect => 0x1F, // all 4+1 forms (int)Species.Mimikyu => 3, // both forms (int)Species.Morpeko => 3, // both forms + (int)Species.Hoopa => 3, // both forms + + (int)Species.Tatsugiri => form switch + { + 0 => 8, + 1 => 16, + 2 => 32, + _ => 0, + }, // Mega + + (int)Species.Magearna => form switch + { + 1 => 8u, + 0 => 4u, + _ => 0u, + }, // Mega // Mega Forms (int)Species.Zygarde => 0b11_1111, // all forms (normally sets 31, but Mega adds another flag) (int)Species.Greninja when form != 2 => 0b1011, // Mega and Ash/Normal forms (normally sets 3, but Mega adds another flag) (int)Species.Floette when form == 5 => 0b10_0000, // Mega (not form 1) - // New Megas (Absol, Lucario, Meowstic, Magearna, Tatsugiri) will need handling in DLC updates. - _ when IsMegaFormXY(species) => 0b_0011, // Two mega forms - _ when FormInfo.HasMegaForm(species) => 0b_0001, // One mega form - _ => 0, + _ => GetFallbackBits(species), }; return value != 0; } - public static bool IsMegaFormXY(ushort species) => species switch + private uint GetFallbackBits(ushort species) { + if (SAV.SaveRevision is not 0) // DLC released + return GetFallbackBitsDLC(species); + return GetFallbackBitsBase(species); + } + + private static uint GetFallbackBitsDLC(ushort species) => species switch + { + (int)Species.Absol or (int)Species.Lucario or (int)Species.Garchomp + => 0b_0110, // Mega + Z Mega + (int)Species.Meowstic => 0b_0100, // Mega only (M,F,Mega) + (int)Species.Raichu => 0b_1100, // X and Y forms (Base,Alolan,X,Y) + + // What about others? Slowbro? + + _ => GetFallbackBitsBase(species), + }; + + private static uint GetFallbackBitsBase(ushort species) + { + if (IsMegaFormXY(species, 0)) + return 0b_0110; // Two mega forms (Base,Mega X,Mega Y) + if (FormInfo.HasMegaForm(species)) + return 0b_0010; // One mega form (Base,Mega) + return 0; + } + + public static bool IsMegaFormXY(ushort species, int revision) => species switch + { + (int)Species.Raichu when revision is not 0 => true, (int)Species.Charizard => true, (int)Species.Mewtwo => true, _ => false, }; + public static bool IsMegaFormZA(ushort species, int revision) => revision is not 0 && species switch + { + (int)Species.Absol => true, + (int)Species.Lucario => true, + (int)Species.Garchomp => true, + _ => false, + }; + public override void SeenNone() { Data.Clear(); @@ -161,8 +218,10 @@ private void SeenAll(ushort species, PersonalInfo9ZA pi, bool value = true, bool entry.SetIsSeenAlpha(value); if (FormInfo.IsMegaForm(species, form)) entry.SetIsSeenMega(0, value); - if (IsMegaFormXY(species)) + if (IsMegaFormXY(species, SAV.SaveRevision) || IsMegaFormZA(species, SAV.SaveRevision)) entry.SetIsSeenMega(1, value); + else if (species is (int)Species.Tatsugiri or (int)Species.Magearna) + entry.SetIsSeenMega(form, value); if (value) { diff --git a/PKHeX.Core/Saves/Substructures/Inventory/Pouch/InventoryPouch.cs b/PKHeX.Core/Saves/Substructures/Inventory/Pouch/InventoryPouch.cs index 82fd298ab..ec870b685 100644 --- a/PKHeX.Core/Saves/Substructures/Inventory/Pouch/InventoryPouch.cs +++ b/PKHeX.Core/Saves/Substructures/Inventory/Pouch/InventoryPouch.cs @@ -295,8 +295,14 @@ private int GetSuggestedItemCount(ITrainerInfo sav, int item, int requestVal = 1 return 1; if (sav is SAV9SV) return InventoryPouch9.GetSuggestedCount(Type, item, requestVal); - if (sav is SAV9ZA za && item is ColorfulScrew9a.ColorfulScrewItemIndex) - return (int)za.Items.GetItemQuantity(ColorfulScrew9a.ColorfulScrewItemIndex); // Don't modify screw count + if (sav is SAV9ZA za) + { + if (item is ColorfulScrew9a.ColorfulScrewItemIndex) + return (int)za.Items.GetItemQuantity(ColorfulScrew9a.ColorfulScrewItemIndex); // Don't modify screw count + if (item is 2612) // Cherished Ring (quest item, never possessed) + return 0; + } + return Math.Min(MaxCount, requestVal); } diff --git a/PKHeX.Core/Saves/Util/SaveUtil.cs b/PKHeX.Core/Saves/Util/SaveUtil.cs index f6fe2d5db..b83d8af90 100644 --- a/PKHeX.Core/Saves/Util/SaveUtil.cs +++ b/PKHeX.Core/Saves/Util/SaveUtil.cs @@ -14,8 +14,9 @@ namespace PKHeX.Core; /// public static class SaveUtil { - private const int SIZE_G9ZA_Min = 0x2F3284; - private const int SIZE_G9ZA_Max = 0x2F3289; + private const int SIZE_G9ZA_100 = 0x2F3284; + private const int SIZE_G9ZA_102 = 0x2F3289; // +5 for Ranked bug fix boolean block + private const int SIZE_G9ZA_200 = 0x309FA6; // Mega Dimension DLC private const int SIZE_G9_0 = 0x31626F; // 1.0.0 fresh private const int SIZE_G9_0a = 0x31627C; // 1.0.0 after multiplayer @@ -120,7 +121,7 @@ public static class SaveUtil new SaveHandlerNSO(), ]; - private static bool IsSizeGen9ZA(int length) => length is (>= SIZE_G9ZA_Min) and (<= SIZE_G9ZA_Max); + private static bool IsSizeGen9ZA(int length) => length is SIZE_G9ZA_100 or SIZE_G9ZA_102 or SIZE_G9ZA_200; private static bool IsSizeGen9SV(int length) => length is SIZE_G9_0 or SIZE_G9_0a or diff --git a/PKHeX.Drawing.PokeSprite/Properties/Resources.Designer.cs b/PKHeX.Drawing.PokeSprite/Properties/Resources.Designer.cs index 903b9a4b6..6ece40be9 100644 --- a/PKHeX.Drawing.PokeSprite/Properties/Resources.Designer.cs +++ b/PKHeX.Drawing.PokeSprite/Properties/Resources.Designer.cs @@ -19,7 +19,7 @@ namespace PKHeX.Drawing.PokeSprite.Properties { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] public class Resources { @@ -3440,6 +3440,26 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_26_2 { + get { + object obj = ResourceManager.GetObject("a_26_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_26_3 { + get { + object obj = ResourceManager.GetObject("a_26_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -4720,6 +4740,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_358_1 { + get { + object obj = ResourceManager.GetObject("a_358_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -4740,6 +4770,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_359_2 { + get { + object obj = ResourceManager.GetObject("a_359_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -5310,6 +5350,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_398_1 { + get { + object obj = ResourceManager.GetObject("a_398_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -5930,6 +5980,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_445_2 { + get { + object obj = ResourceManager.GetObject("a_445_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -5970,6 +6030,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_448_2 { + get { + object obj = ResourceManager.GetObject("a_448_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -6500,6 +6570,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_485_1 { + get { + object obj = ResourceManager.GetObject("a_485_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -6590,6 +6670,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_491_1 { + get { + object obj = ResourceManager.GetObject("a_491_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -8620,6 +8710,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_623_1 { + get { + object obj = ResourceManager.GetObject("a_623_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -9860,6 +9960,26 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_678_2 { + get { + object obj = ResourceManager.GetObject("a_678_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_678_3 { + get { + object obj = ResourceManager.GetObject("a_678_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -10810,6 +10930,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_740_1 { + get { + object obj = ResourceManager.GetObject("a_740_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -11190,6 +11320,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_768_1 { + get { + object obj = ResourceManager.GetObject("a_768_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -11970,6 +12110,26 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_801_2 { + get { + object obj = ResourceManager.GetObject("a_801_2", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_801_3 { + get { + object obj = ResourceManager.GetObject("a_801_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -12030,6 +12190,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_807_1 { + get { + object obj = ResourceManager.GetObject("a_807_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -14510,6 +14680,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_952_1 { + get { + object obj = ResourceManager.GetObject("a_952_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -14720,6 +14900,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_970_1 { + get { + object obj = ResourceManager.GetObject("a_970_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -14820,6 +15010,36 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_978_3 { + get { + object obj = ResourceManager.GetObject("a_978_3", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_978_4 { + get { + object obj = ResourceManager.GetObject("a_978_4", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_978_5 { + get { + object obj = ResourceManager.GetObject("a_978_5", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -15040,6 +15260,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap a_998_1 { + get { + object obj = ResourceManager.GetObject("a_998_1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -15400,6 +15630,46 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_116 { + get { + object obj = ResourceManager.GetObject("aitem_116", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_117 { + get { + object obj = ResourceManager.GetObject("aitem_117", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_118 { + get { + object obj = ResourceManager.GetObject("aitem_118", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_119 { + get { + object obj = ResourceManager.GetObject("aitem_119", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -15900,6 +16170,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_1691 { + get { + object obj = ResourceManager.GetObject("aitem_1691", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17300,6 +17580,26 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2567 { + get { + object obj = ResourceManager.GetObject("aitem_2567", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2568 { + get { + object obj = ResourceManager.GetObject("aitem_2568", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17410,6 +17710,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_258 { + get { + object obj = ResourceManager.GetObject("aitem_258", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17470,6 +17780,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2586 { + get { + object obj = ResourceManager.GetObject("aitem_2586", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17480,6 +17800,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_259 { + get { + object obj = ResourceManager.GetObject("aitem_259", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17500,6 +17830,156 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2635 { + get { + object obj = ResourceManager.GetObject("aitem_2635", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2636 { + get { + object obj = ResourceManager.GetObject("aitem_2636", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2637 { + get { + object obj = ResourceManager.GetObject("aitem_2637", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2638 { + get { + object obj = ResourceManager.GetObject("aitem_2638", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2639 { + get { + object obj = ResourceManager.GetObject("aitem_2639", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2640 { + get { + object obj = ResourceManager.GetObject("aitem_2640", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2641 { + get { + object obj = ResourceManager.GetObject("aitem_2641", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2642 { + get { + object obj = ResourceManager.GetObject("aitem_2642", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2643 { + get { + object obj = ResourceManager.GetObject("aitem_2643", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2644 { + get { + object obj = ResourceManager.GetObject("aitem_2644", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2645 { + get { + object obj = ResourceManager.GetObject("aitem_2645", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2646 { + get { + object obj = ResourceManager.GetObject("aitem_2646", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2647 { + get { + object obj = ResourceManager.GetObject("aitem_2647", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2648 { + get { + object obj = ResourceManager.GetObject("aitem_2648", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2649 { + get { + object obj = ResourceManager.GetObject("aitem_2649", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17510,6 +17990,106 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2650 { + get { + object obj = ResourceManager.GetObject("aitem_2650", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2651 { + get { + object obj = ResourceManager.GetObject("aitem_2651", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2652 { + get { + object obj = ResourceManager.GetObject("aitem_2652", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2653 { + get { + object obj = ResourceManager.GetObject("aitem_2653", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2654 { + get { + object obj = ResourceManager.GetObject("aitem_2654", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2655 { + get { + object obj = ResourceManager.GetObject("aitem_2655", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2656 { + get { + object obj = ResourceManager.GetObject("aitem_2656", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2657 { + get { + object obj = ResourceManager.GetObject("aitem_2657", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2658 { + get { + object obj = ResourceManager.GetObject("aitem_2658", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2659 { + get { + object obj = ResourceManager.GetObject("aitem_2659", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17520,6 +18100,106 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2660 { + get { + object obj = ResourceManager.GetObject("aitem_2660", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2661 { + get { + object obj = ResourceManager.GetObject("aitem_2661", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2662 { + get { + object obj = ResourceManager.GetObject("aitem_2662", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2663 { + get { + object obj = ResourceManager.GetObject("aitem_2663", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2664 { + get { + object obj = ResourceManager.GetObject("aitem_2664", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2665 { + get { + object obj = ResourceManager.GetObject("aitem_2665", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2666 { + get { + object obj = ResourceManager.GetObject("aitem_2666", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2667 { + get { + object obj = ResourceManager.GetObject("aitem_2667", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2668 { + get { + object obj = ResourceManager.GetObject("aitem_2668", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2669 { + get { + object obj = ResourceManager.GetObject("aitem_2669", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17530,6 +18210,106 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2670 { + get { + object obj = ResourceManager.GetObject("aitem_2670", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2671 { + get { + object obj = ResourceManager.GetObject("aitem_2671", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2672 { + get { + object obj = ResourceManager.GetObject("aitem_2672", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2673 { + get { + object obj = ResourceManager.GetObject("aitem_2673", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2674 { + get { + object obj = ResourceManager.GetObject("aitem_2674", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2675 { + get { + object obj = ResourceManager.GetObject("aitem_2675", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2676 { + get { + object obj = ResourceManager.GetObject("aitem_2676", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2677 { + get { + object obj = ResourceManager.GetObject("aitem_2677", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2678 { + get { + object obj = ResourceManager.GetObject("aitem_2678", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2679 { + get { + object obj = ResourceManager.GetObject("aitem_2679", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -17540,6 +18320,56 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2680 { + get { + object obj = ResourceManager.GetObject("aitem_2680", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2681 { + get { + object obj = ResourceManager.GetObject("aitem_2681", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2682 { + get { + object obj = ResourceManager.GetObject("aitem_2682", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2683 { + get { + object obj = ResourceManager.GetObject("aitem_2683", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_2684 { + get { + object obj = ResourceManager.GetObject("aitem_2684", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -18480,6 +19310,26 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_534 { + get { + object obj = ResourceManager.GetObject("aitem_534", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_535 { + get { + object obj = ResourceManager.GetObject("aitem_535", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -18990,6 +19840,16 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_664 { + get { + object obj = ResourceManager.GetObject("aitem_664", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -19180,6 +20040,26 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_684 { + get { + object obj = ResourceManager.GetObject("aitem_684", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_685 { + get { + object obj = ResourceManager.GetObject("aitem_685", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -19260,6 +20140,26 @@ public class Resources { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_752 { + get { + object obj = ResourceManager.GetObject("aitem_752", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap aitem_753 { + get { + object obj = ResourceManager.GetObject("aitem_753", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/PKHeX.Drawing.PokeSprite/Properties/Resources.resx b/PKHeX.Drawing.PokeSprite/Properties/Resources.resx index f6dedf7de..256e1a220 100644 --- a/PKHeX.Drawing.PokeSprite/Properties/Resources.resx +++ b/PKHeX.Drawing.PokeSprite/Properties/Resources.resx @@ -17827,4 +17827,274 @@ ..\Resources\img\ball\_ball9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\img\Artwork Pokemon Sprites\a_998-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_26-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_26-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_358-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_359-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_398-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_445-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_448-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_485-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_491-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_623-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_678-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_740-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_768-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_801-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_801-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_807-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_952-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_970-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_978-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_978-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_978-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_116.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2684.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2683.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2682.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2681.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2680.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2679.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2678.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2677.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2676.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2675.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2674.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2673.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2672.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2671.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2670.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2669.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2668.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2667.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2666.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2665.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2664.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2663.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2662.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2661.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2660.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2659.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2658.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2657.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2656.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2655.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2654.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2653.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2652.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2651.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2650.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2649.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2648.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2647.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2646.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2645.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2644.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2643.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2642.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2641.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2640.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2639.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2638.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2637.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2636.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2635.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2586.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2568.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_2567.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_1691.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_753.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_752.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_685.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_684.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_664.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_535.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_534.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_259.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_258.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_119.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_118.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Items\aitem_117.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\img\Artwork Pokemon Sprites\a_678-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_116.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_116.png new file mode 100644 index 000000000..ace35ba1e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_116.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_117.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_117.png new file mode 100644 index 000000000..f1b2e7f97 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_117.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_118.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_118.png new file mode 100644 index 000000000..58c872604 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_118.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_119.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_119.png new file mode 100644 index 000000000..0463ec5ac Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_119.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1691.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1691.png new file mode 100644 index 000000000..3078a324e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_1691.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2567.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2567.png new file mode 100644 index 000000000..93ae91afd Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2567.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2568.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2568.png new file mode 100644 index 000000000..296feb544 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2568.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_258.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_258.png new file mode 100644 index 000000000..5f3cac0f9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_258.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2586.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2586.png new file mode 100644 index 000000000..5367c2aa5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2586.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_259.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_259.png new file mode 100644 index 000000000..3d453edc8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_259.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2635.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2635.png new file mode 100644 index 000000000..3ce684877 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2635.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2636.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2636.png new file mode 100644 index 000000000..28e7b4e1c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2636.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2637.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2637.png new file mode 100644 index 000000000..dc1d23d07 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2637.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2638.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2638.png new file mode 100644 index 000000000..e9a2341b8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2638.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2639.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2639.png new file mode 100644 index 000000000..8aeed3e57 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2639.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2640.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2640.png new file mode 100644 index 000000000..38567faac Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2640.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2641.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2641.png new file mode 100644 index 000000000..edc1e958f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2641.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2642.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2642.png new file mode 100644 index 000000000..c50aee357 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2642.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2643.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2643.png new file mode 100644 index 000000000..d5bf10c9f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2643.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2644.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2644.png new file mode 100644 index 000000000..21e125cda Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2644.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2645.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2645.png new file mode 100644 index 000000000..fd1520bc9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2645.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2646.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2646.png new file mode 100644 index 000000000..bddf9700d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2646.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2647.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2647.png new file mode 100644 index 000000000..349fe2a55 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2647.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2648.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2648.png new file mode 100644 index 000000000..0f17d79e9 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2648.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2649.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2649.png new file mode 100644 index 000000000..4e3100711 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2649.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2650.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2650.png new file mode 100644 index 000000000..796be4582 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2650.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2651.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2651.png new file mode 100644 index 000000000..c18df1818 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2651.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2652.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2652.png new file mode 100644 index 000000000..90958ab53 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2652.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2653.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2653.png new file mode 100644 index 000000000..3105af195 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2653.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2654.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2654.png new file mode 100644 index 000000000..8d1e910c4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2654.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2655.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2655.png new file mode 100644 index 000000000..12b9fab90 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2655.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2656.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2656.png new file mode 100644 index 000000000..233aff2eb Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2656.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2657.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2657.png new file mode 100644 index 000000000..98f5614f3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2657.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2658.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2658.png new file mode 100644 index 000000000..5c5b0379d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2658.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2659.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2659.png new file mode 100644 index 000000000..bb38cc045 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2659.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2660.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2660.png new file mode 100644 index 000000000..b754c1781 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2660.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2661.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2661.png new file mode 100644 index 000000000..dd5eaab7a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2661.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2662.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2662.png new file mode 100644 index 000000000..773a347d6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2662.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2663.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2663.png new file mode 100644 index 000000000..476f9798a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2663.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2664.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2664.png new file mode 100644 index 000000000..34ec3b2b2 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2664.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2665.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2665.png new file mode 100644 index 000000000..55baf5251 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2665.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2666.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2666.png new file mode 100644 index 000000000..6da839329 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2666.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2667.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2667.png new file mode 100644 index 000000000..7cf0be543 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2667.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2668.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2668.png new file mode 100644 index 000000000..40ea7ef30 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2668.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2669.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2669.png new file mode 100644 index 000000000..cbd047115 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2669.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2670.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2670.png new file mode 100644 index 000000000..b837691d4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2670.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2671.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2671.png new file mode 100644 index 000000000..d1d4ff4a4 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2671.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2672.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2672.png new file mode 100644 index 000000000..1b9b39e02 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2672.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2673.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2673.png new file mode 100644 index 000000000..b024a996b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2673.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2674.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2674.png new file mode 100644 index 000000000..baccc43b7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2674.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2675.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2675.png new file mode 100644 index 000000000..5c2272048 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2675.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2676.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2676.png new file mode 100644 index 000000000..c57709980 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2676.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2677.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2677.png new file mode 100644 index 000000000..34019c5d7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2677.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2678.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2678.png new file mode 100644 index 000000000..9405f745a Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2678.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2679.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2679.png new file mode 100644 index 000000000..3a012c58d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2679.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2680.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2680.png new file mode 100644 index 000000000..9365e1737 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2680.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2681.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2681.png new file mode 100644 index 000000000..a2c110097 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2681.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2682.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2682.png new file mode 100644 index 000000000..d00e9d3f6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2682.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2683.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2683.png new file mode 100644 index 000000000..ad905fbdc Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2683.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2684.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2684.png new file mode 100644 index 000000000..114e70b52 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_2684.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_534.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_534.png new file mode 100644 index 000000000..5a374bc9b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_534.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_535.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_535.png new file mode 100644 index 000000000..35f93a06b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_535.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_664.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_664.png new file mode 100644 index 000000000..fe25f5b9e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_664.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_684.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_684.png new file mode 100644 index 000000000..79c8cb9c5 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_684.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_685.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_685.png new file mode 100644 index 000000000..95b89189c Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_685.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_752.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_752.png new file mode 100644 index 000000000..e3097ebd7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_752.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_753.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_753.png new file mode 100644 index 000000000..be6107ca7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Items/aitem_753.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-2.png new file mode 100644 index 000000000..2b19f747f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-3.png new file mode 100644 index 000000000..2b19f747f Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_26-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_358-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_358-1.png new file mode 100644 index 000000000..7203682e6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_358-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_359-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_359-2.png new file mode 100644 index 000000000..4668ae736 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_359-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_398-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_398-1.png new file mode 100644 index 000000000..15b80808d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_398-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_445-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_445-2.png new file mode 100644 index 000000000..2df36e995 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_445-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_448-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_448-2.png new file mode 100644 index 000000000..f0a3066f7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_448-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_485-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_485-1.png new file mode 100644 index 000000000..6f1585e42 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_485-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_491-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_491-1.png new file mode 100644 index 000000000..7328c4446 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_491-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_623-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_623-1.png new file mode 100644 index 000000000..5a0c5376d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_623-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_678-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_678-2.png new file mode 100644 index 000000000..037bb1769 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_678-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_678-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_678-3.png new file mode 100644 index 000000000..9e4cd33b3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_678-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_740-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_740-1.png new file mode 100644 index 000000000..e9d5a0aa3 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_740-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_768-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_768-1.png new file mode 100644 index 000000000..4e8688e11 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_768-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-2.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-2.png new file mode 100644 index 000000000..c3c8550a7 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-2.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-3.png new file mode 100644 index 000000000..5618d27c6 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_801-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_807-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_807-1.png new file mode 100644 index 000000000..295b17328 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_807-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-1.png new file mode 100644 index 000000000..2f734420d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_952-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_970-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_970-1.png new file mode 100644 index 000000000..709fcf7e8 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_970-1.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-3.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-3.png new file mode 100644 index 000000000..b66da4086 Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-3.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-4.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-4.png new file mode 100644 index 000000000..cf550084e Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-4.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-5.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-5.png new file mode 100644 index 000000000..b861ad12b Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_978-5.png differ diff --git a/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-1.png b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-1.png new file mode 100644 index 000000000..441ae824d Binary files /dev/null and b/PKHeX.Drawing.PokeSprite/Resources/img/Artwork Pokemon Sprites/a_998-1.png differ diff --git a/PKHeX.WinForms/Resources/text/lang_de.txt b/PKHeX.WinForms/Resources/text/lang_de.txt index faa0cd141..db1122b93 100644 --- a/PKHeX.WinForms/Resources/text/lang_de.txt +++ b/PKHeX.WinForms/Resources/text/lang_de.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=Male SAV_Pokedex9a.CHK_SeenMega=Mega SAV_Pokedex9a.GB_Displayed=Displayed SAV_Pokedex9a.GB_Language=Languages -SAV_Pokedex9a.groupBox1=Seen +SAV_Pokedex9a.GB_Seen=Seen SAV_Pokedex9a.L_Caught=Caught: SAV_Pokedex9a.L_DisplayForm=Form: SAV_Pokedex9a.L_goto=goto: diff --git a/PKHeX.WinForms/Resources/text/lang_en.txt b/PKHeX.WinForms/Resources/text/lang_en.txt index 71b7acc86..f19b56910 100644 --- a/PKHeX.WinForms/Resources/text/lang_en.txt +++ b/PKHeX.WinForms/Resources/text/lang_en.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=Male SAV_Pokedex9a.CHK_SeenMega=Mega SAV_Pokedex9a.GB_Displayed=Displayed SAV_Pokedex9a.GB_Language=Languages -SAV_Pokedex9a.groupBox1=Seen +SAV_Pokedex9a.GB_Seen=Seen SAV_Pokedex9a.L_Caught=Caught: SAV_Pokedex9a.L_DisplayForm=Form: SAV_Pokedex9a.L_goto=goto: diff --git a/PKHeX.WinForms/Resources/text/lang_es-419.txt b/PKHeX.WinForms/Resources/text/lang_es-419.txt index d178f61e5..1b670b160 100644 --- a/PKHeX.WinForms/Resources/text/lang_es-419.txt +++ b/PKHeX.WinForms/Resources/text/lang_es-419.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=Male SAV_Pokedex9a.CHK_SeenMega=Mega SAV_Pokedex9a.GB_Displayed=Displayed SAV_Pokedex9a.GB_Language=Languages -SAV_Pokedex9a.groupBox1=Seen +SAV_Pokedex9a.GB_Seen=Seen SAV_Pokedex9a.L_Caught=Caught: SAV_Pokedex9a.L_DisplayForm=Form: SAV_Pokedex9a.L_goto=goto: diff --git a/PKHeX.WinForms/Resources/text/lang_es.txt b/PKHeX.WinForms/Resources/text/lang_es.txt index 7bb5379e1..50b0a2f25 100644 --- a/PKHeX.WinForms/Resources/text/lang_es.txt +++ b/PKHeX.WinForms/Resources/text/lang_es.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=Macho SAV_Pokedex9a.CHK_SeenMega=Mega SAV_Pokedex9a.GB_Displayed=Mostrado SAV_Pokedex9a.GB_Language=Idiomas -SAV_Pokedex9a.groupBox1=Visto +SAV_Pokedex9a.GB_Seen=Visto SAV_Pokedex9a.L_Caught=Capturado: SAV_Pokedex9a.L_DisplayForm=Forma: SAV_Pokedex9a.L_goto=goto: diff --git a/PKHeX.WinForms/Resources/text/lang_fr.txt b/PKHeX.WinForms/Resources/text/lang_fr.txt index f7cc91e16..39db6c0fe 100644 --- a/PKHeX.WinForms/Resources/text/lang_fr.txt +++ b/PKHeX.WinForms/Resources/text/lang_fr.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=Male SAV_Pokedex9a.CHK_SeenMega=Mega SAV_Pokedex9a.GB_Displayed=Displayed SAV_Pokedex9a.GB_Language=Languages -SAV_Pokedex9a.groupBox1=Seen +SAV_Pokedex9a.GB_Seen=Seen SAV_Pokedex9a.L_Caught=Caught: SAV_Pokedex9a.L_DisplayForm=Form: SAV_Pokedex9a.L_goto=goto: diff --git a/PKHeX.WinForms/Resources/text/lang_it.txt b/PKHeX.WinForms/Resources/text/lang_it.txt index d839fdb5c..38e102ec9 100644 --- a/PKHeX.WinForms/Resources/text/lang_it.txt +++ b/PKHeX.WinForms/Resources/text/lang_it.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=Male SAV_Pokedex9a.CHK_SeenMega=Mega SAV_Pokedex9a.GB_Displayed=Displayed SAV_Pokedex9a.GB_Language=Languages -SAV_Pokedex9a.groupBox1=Seen +SAV_Pokedex9a.GB_Seen=Seen SAV_Pokedex9a.L_Caught=Caught: SAV_Pokedex9a.L_DisplayForm=Form: SAV_Pokedex9a.L_goto=goto: diff --git a/PKHeX.WinForms/Resources/text/lang_ja.txt b/PKHeX.WinForms/Resources/text/lang_ja.txt index 68bab2dc0..ea09c893d 100644 --- a/PKHeX.WinForms/Resources/text/lang_ja.txt +++ b/PKHeX.WinForms/Resources/text/lang_ja.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=オス SAV_Pokedex9a.CHK_SeenMega=メガ SAV_Pokedex9a.GB_Displayed=表示 SAV_Pokedex9a.GB_Language=言語 -SAV_Pokedex9a.groupBox1=見つけた +SAV_Pokedex9a.GB_Seen=見つけた SAV_Pokedex9a.L_Caught=捕まえた: SAV_Pokedex9a.L_DisplayForm=フォルム: SAV_Pokedex9a.L_goto=逃げられた: diff --git a/PKHeX.WinForms/Resources/text/lang_ko.txt b/PKHeX.WinForms/Resources/text/lang_ko.txt index 008d671b7..bdb8f222f 100644 --- a/PKHeX.WinForms/Resources/text/lang_ko.txt +++ b/PKHeX.WinForms/Resources/text/lang_ko.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=Male SAV_Pokedex9a.CHK_SeenMega=Mega SAV_Pokedex9a.GB_Displayed=Displayed SAV_Pokedex9a.GB_Language=Languages -SAV_Pokedex9a.groupBox1=Seen +SAV_Pokedex9a.GB_Seen=Seen SAV_Pokedex9a.L_Caught=Caught: SAV_Pokedex9a.L_DisplayForm=Form: SAV_Pokedex9a.L_goto=goto: diff --git a/PKHeX.WinForms/Resources/text/lang_zh-Hans.txt b/PKHeX.WinForms/Resources/text/lang_zh-Hans.txt index 36d99bd0d..936ac7629 100644 --- a/PKHeX.WinForms/Resources/text/lang_zh-Hans.txt +++ b/PKHeX.WinForms/Resources/text/lang_zh-Hans.txt @@ -1704,7 +1704,7 @@ SAV_Pokedex9a.CHK_SeenMale=公 SAV_Pokedex9a.CHK_SeenMega=超级进化 SAV_Pokedex9a.GB_Displayed=显示 SAV_Pokedex9a.GB_Language=语言 -SAV_Pokedex9a.groupBox1=已见 +SAV_Pokedex9a.GB_Seen=已见 SAV_Pokedex9a.L_Caught=已捕获: SAV_Pokedex9a.L_DisplayForm=形态: SAV_Pokedex9a.L_DisplayGender=性别: diff --git a/PKHeX.WinForms/Resources/text/lang_zh-Hant.txt b/PKHeX.WinForms/Resources/text/lang_zh-Hant.txt index 3a18945a6..c3748eaa0 100644 --- a/PKHeX.WinForms/Resources/text/lang_zh-Hant.txt +++ b/PKHeX.WinForms/Resources/text/lang_zh-Hant.txt @@ -1703,7 +1703,7 @@ SAV_Pokedex9a.CHK_SeenMale=Male SAV_Pokedex9a.CHK_SeenMega=Mega SAV_Pokedex9a.GB_Displayed=Displayed SAV_Pokedex9a.GB_Language=Languages -SAV_Pokedex9a.groupBox1=Seen +SAV_Pokedex9a.GB_Seen=Seen SAV_Pokedex9a.L_Caught=Caught: SAV_Pokedex9a.L_DisplayForm=Form: SAV_Pokedex9a.L_goto=goto: diff --git a/PKHeX.WinForms/Subforms/KChart.cs b/PKHeX.WinForms/Subforms/KChart.cs index bb595c5b0..a21546599 100644 --- a/PKHeX.WinForms/Subforms/KChart.cs +++ b/PKHeX.WinForms/Subforms/KChart.cs @@ -102,7 +102,7 @@ static void Stat(DataGridViewCell cell, int value) PersonalInfo8BDSP bs => bs.IsInDex, PersonalInfo8LA bs => bs.IsPresentInGame, PersonalInfo9SV sv => sv.IsInDex, - PersonalInfo9ZA za => za.IsInDex, + PersonalInfo9ZA za => za is { IsInDex: true, DexIndex: <= 232 }, _ => true, }; diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Pokedex9a.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Pokedex9a.Designer.cs index 3b672cbac..1db15f560 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Pokedex9a.Designer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Pokedex9a.Designer.cs @@ -63,10 +63,10 @@ private void InitializeComponent() CHK_LangENG = new System.Windows.Forms.CheckBox(); CHK_LangJPN = new System.Windows.Forms.CheckBox(); CLB_FormSeen = new System.Windows.Forms.CheckedListBox(); - groupBox1 = new System.Windows.Forms.GroupBox(); - CHK_SeenMegaY = new System.Windows.Forms.CheckBox(); - CHK_SeenMegaX = new System.Windows.Forms.CheckBox(); - CHK_SeenMega = new System.Windows.Forms.CheckBox(); + GB_Seen = new System.Windows.Forms.GroupBox(); + CHK_SeenMega0 = new System.Windows.Forms.CheckBox(); + CHK_SeenMega1 = new System.Windows.Forms.CheckBox(); + CHK_SeenMega2 = new System.Windows.Forms.CheckBox(); CHK_SeenAlpha = new System.Windows.Forms.CheckBox(); CHK_SeenGenderless = new System.Windows.Forms.CheckBox(); CHK_SeenFemale = new System.Windows.Forms.CheckBox(); @@ -80,13 +80,13 @@ private void InitializeComponent() modifyMenu.SuspendLayout(); GB_Displayed.SuspendLayout(); GB_Language.SuspendLayout(); - groupBox1.SuspendLayout(); + GB_Seen.SuspendLayout(); SuspendLayout(); // // B_Cancel // B_Cancel.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right; - B_Cancel.Location = new System.Drawing.Point(690, 328); + B_Cancel.Location = new System.Drawing.Point(690, 348); B_Cancel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); B_Cancel.Name = "B_Cancel"; B_Cancel.Size = new System.Drawing.Size(93, 27); @@ -97,11 +97,12 @@ private void InitializeComponent() // // LB_Species // + LB_Species.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left; LB_Species.FormattingEnabled = true; - LB_Species.Location = new System.Drawing.Point(14, 46); + LB_Species.Location = new System.Drawing.Point(14, 49); LB_Species.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); LB_Species.Name = "LB_Species"; - LB_Species.Size = new System.Drawing.Size(186, 310); + LB_Species.Size = new System.Drawing.Size(186, 327); LB_Species.TabIndex = 2; LB_Species.SelectedIndexChanged += ChangeLBSpecies; // @@ -144,7 +145,7 @@ private void InitializeComponent() // B_Save // B_Save.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right; - B_Save.Location = new System.Drawing.Point(690, 299); + B_Save.Location = new System.Drawing.Point(690, 319); B_Save.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); B_Save.Name = "B_Save"; B_Save.Size = new System.Drawing.Size(93, 27); @@ -226,10 +227,10 @@ private void InitializeComponent() CB_DisplayForm.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; CB_DisplayForm.FormattingEnabled = true; CB_DisplayForm.Items.AddRange(new object[] { "♂", "♀", "-" }); - CB_DisplayForm.Location = new System.Drawing.Point(77, 47); + CB_DisplayForm.Location = new System.Drawing.Point(83, 47); CB_DisplayForm.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CB_DisplayForm.Name = "CB_DisplayForm"; - CB_DisplayForm.Size = new System.Drawing.Size(125, 25); + CB_DisplayForm.Size = new System.Drawing.Size(106, 25); CB_DisplayForm.TabIndex = 45; // // GB_Displayed @@ -239,18 +240,18 @@ private void InitializeComponent() GB_Displayed.Controls.Add(CB_Gender); GB_Displayed.Controls.Add(CHK_DisplayShiny); GB_Displayed.Controls.Add(CB_DisplayForm); - GB_Displayed.Location = new System.Drawing.Point(430, 29); + GB_Displayed.Location = new System.Drawing.Point(446, 45); GB_Displayed.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); GB_Displayed.Name = "GB_Displayed"; GB_Displayed.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - GB_Displayed.Size = new System.Drawing.Size(210, 102); + GB_Displayed.Size = new System.Drawing.Size(194, 106); GB_Displayed.TabIndex = 44; GB_Displayed.TabStop = false; GB_Displayed.Text = "Displayed"; // // L_DisplayForm // - L_DisplayForm.Location = new System.Drawing.Point(3, 48); + L_DisplayForm.Location = new System.Drawing.Point(9, 48); L_DisplayForm.Name = "L_DisplayForm"; L_DisplayForm.Size = new System.Drawing.Size(72, 20); L_DisplayForm.TabIndex = 54; @@ -259,7 +260,7 @@ private void InitializeComponent() // // L_DisplayGender // - L_DisplayGender.Location = new System.Drawing.Point(3, 25); + L_DisplayGender.Location = new System.Drawing.Point(9, 25); L_DisplayGender.Name = "L_DisplayGender"; L_DisplayGender.Size = new System.Drawing.Size(72, 20); L_DisplayGender.TabIndex = 53; @@ -271,7 +272,7 @@ private void InitializeComponent() CB_Gender.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; CB_Gender.FormattingEnabled = true; CB_Gender.Items.AddRange(new object[] { "-", "♂", "♀", "♂/♀" }); - CB_Gender.Location = new System.Drawing.Point(77, 22); + CB_Gender.Location = new System.Drawing.Point(83, 22); CB_Gender.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CB_Gender.Name = "CB_Gender"; CB_Gender.Size = new System.Drawing.Size(64, 25); @@ -281,7 +282,7 @@ private void InitializeComponent() // CHK_DisplayShiny.AutoSize = true; CHK_DisplayShiny.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; - CHK_DisplayShiny.Location = new System.Drawing.Point(72, 76); + CHK_DisplayShiny.Location = new System.Drawing.Point(78, 76); CHK_DisplayShiny.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_DisplayShiny.Name = "CHK_DisplayShiny"; CHK_DisplayShiny.Size = new System.Drawing.Size(60, 21); @@ -301,11 +302,11 @@ private void InitializeComponent() GB_Language.Controls.Add(CHK_LangFRE); GB_Language.Controls.Add(CHK_LangENG); GB_Language.Controls.Add(CHK_LangJPN); - GB_Language.Location = new System.Drawing.Point(651, 63); + GB_Language.Location = new System.Drawing.Point(651, 64); GB_Language.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); GB_Language.Name = "GB_Language"; GB_Language.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - GB_Language.Size = new System.Drawing.Size(134, 204); + GB_Language.Size = new System.Drawing.Size(134, 228); GB_Language.TabIndex = 47; GB_Language.TabStop = false; GB_Language.Text = "Languages"; @@ -313,7 +314,7 @@ private void InitializeComponent() // CHK_LangCHT // CHK_LangCHT.AutoSize = true; - CHK_LangCHT.Location = new System.Drawing.Point(7, 179); + CHK_LangCHT.Location = new System.Drawing.Point(9, 201); CHK_LangCHT.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangCHT.Name = "CHK_LangCHT"; CHK_LangCHT.Size = new System.Drawing.Size(79, 21); @@ -324,7 +325,7 @@ private void InitializeComponent() // CHK_LangCHS // CHK_LangCHS.AutoSize = true; - CHK_LangCHS.Location = new System.Drawing.Point(7, 161); + CHK_LangCHS.Location = new System.Drawing.Point(9, 181); CHK_LangCHS.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangCHS.Name = "CHK_LangCHS"; CHK_LangCHS.Size = new System.Drawing.Size(79, 21); @@ -335,7 +336,7 @@ private void InitializeComponent() // CHK_LangKOR // CHK_LangKOR.AutoSize = true; - CHK_LangKOR.Location = new System.Drawing.Point(7, 143); + CHK_LangKOR.Location = new System.Drawing.Point(9, 161); CHK_LangKOR.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangKOR.Name = "CHK_LangKOR"; CHK_LangKOR.Size = new System.Drawing.Size(69, 21); @@ -346,7 +347,7 @@ private void InitializeComponent() // CHK_LangLATAM // CHK_LangLATAM.AutoSize = true; - CHK_LangLATAM.Location = new System.Drawing.Point(7, 125); + CHK_LangLATAM.Location = new System.Drawing.Point(9, 141); CHK_LangLATAM.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangLATAM.Name = "CHK_LangLATAM"; CHK_LangLATAM.Size = new System.Drawing.Size(98, 21); @@ -357,7 +358,7 @@ private void InitializeComponent() // CHK_LangSPA // CHK_LangSPA.AutoSize = true; - CHK_LangSPA.Location = new System.Drawing.Point(7, 107); + CHK_LangSPA.Location = new System.Drawing.Point(9, 121); CHK_LangSPA.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangSPA.Name = "CHK_LangSPA"; CHK_LangSPA.Size = new System.Drawing.Size(100, 21); @@ -368,7 +369,7 @@ private void InitializeComponent() // CHK_LangGER // CHK_LangGER.AutoSize = true; - CHK_LangGER.Location = new System.Drawing.Point(7, 89); + CHK_LangGER.Location = new System.Drawing.Point(9, 101); CHK_LangGER.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangGER.Name = "CHK_LangGER"; CHK_LangGER.Size = new System.Drawing.Size(73, 21); @@ -379,7 +380,7 @@ private void InitializeComponent() // CHK_LangITA // CHK_LangITA.AutoSize = true; - CHK_LangITA.Location = new System.Drawing.Point(7, 71); + CHK_LangITA.Location = new System.Drawing.Point(9, 81); CHK_LangITA.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangITA.Name = "CHK_LangITA"; CHK_LangITA.Size = new System.Drawing.Size(61, 21); @@ -390,7 +391,7 @@ private void InitializeComponent() // CHK_LangFRE // CHK_LangFRE.AutoSize = true; - CHK_LangFRE.Location = new System.Drawing.Point(7, 52); + CHK_LangFRE.Location = new System.Drawing.Point(9, 60); CHK_LangFRE.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangFRE.Name = "CHK_LangFRE"; CHK_LangFRE.Size = new System.Drawing.Size(65, 21); @@ -401,7 +402,7 @@ private void InitializeComponent() // CHK_LangENG // CHK_LangENG.AutoSize = true; - CHK_LangENG.Location = new System.Drawing.Point(7, 34); + CHK_LangENG.Location = new System.Drawing.Point(9, 40); CHK_LangENG.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangENG.Name = "CHK_LangENG"; CHK_LangENG.Size = new System.Drawing.Size(68, 21); @@ -412,7 +413,7 @@ private void InitializeComponent() // CHK_LangJPN // CHK_LangJPN.AutoSize = true; - CHK_LangJPN.Location = new System.Drawing.Point(7, 16); + CHK_LangJPN.Location = new System.Drawing.Point(9, 20); CHK_LangJPN.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_LangJPN.Name = "CHK_LangJPN"; CHK_LangJPN.Size = new System.Drawing.Size(81, 21); @@ -424,78 +425,87 @@ private void InitializeComponent() // CLB_FormSeen.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left; CLB_FormSeen.FormattingEnabled = true; - CLB_FormSeen.Location = new System.Drawing.Point(210, 152); + CLB_FormSeen.Location = new System.Drawing.Point(210, 172); CLB_FormSeen.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CLB_FormSeen.Name = "CLB_FormSeen"; CLB_FormSeen.Size = new System.Drawing.Size(138, 204); CLB_FormSeen.TabIndex = 48; // - // groupBox1 + // GB_Seen // - groupBox1.Controls.Add(CHK_SeenMegaY); - groupBox1.Controls.Add(CHK_SeenMegaX); - groupBox1.Controls.Add(CHK_SeenMega); - groupBox1.Controls.Add(CHK_SeenAlpha); - groupBox1.Controls.Add(CHK_SeenGenderless); - groupBox1.Controls.Add(CHK_SeenFemale); - groupBox1.Controls.Add(CHK_SeenMale); - groupBox1.Location = new System.Drawing.Point(210, 45); - groupBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - groupBox1.Name = "groupBox1"; - groupBox1.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); - groupBox1.Size = new System.Drawing.Size(212, 86); - groupBox1.TabIndex = 49; - groupBox1.TabStop = false; - groupBox1.Text = "Seen"; + GB_Seen.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + GB_Seen.Controls.Add(CHK_SeenMega0); + GB_Seen.Controls.Add(CHK_SeenMega1); + GB_Seen.Controls.Add(CHK_SeenMega2); + GB_Seen.Controls.Add(CHK_SeenAlpha); + GB_Seen.Controls.Add(CHK_SeenGenderless); + GB_Seen.Controls.Add(CHK_SeenFemale); + GB_Seen.Controls.Add(CHK_SeenMale); + GB_Seen.Location = new System.Drawing.Point(210, 45); + GB_Seen.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + GB_Seen.Name = "GB_Seen"; + GB_Seen.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + GB_Seen.Size = new System.Drawing.Size(230, 106); + GB_Seen.TabIndex = 49; + GB_Seen.TabStop = false; + GB_Seen.Text = "Seen"; // - // CHK_SeenMegaY + // CHK_SeenMega0 // - CHK_SeenMegaY.AutoSize = true; - CHK_SeenMegaY.Location = new System.Drawing.Point(122, 56); - CHK_SeenMegaY.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - CHK_SeenMegaY.Name = "CHK_SeenMegaY"; - CHK_SeenMegaY.Size = new System.Drawing.Size(72, 21); - CHK_SeenMegaY.TabIndex = 58; - CHK_SeenMegaY.Text = "Mega Y"; - CHK_SeenMegaY.UseVisualStyleBackColor = true; + CHK_SeenMega0.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + CHK_SeenMega0.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_SeenMega0.Location = new System.Drawing.Point(104, 40); + CHK_SeenMega0.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + CHK_SeenMega0.Name = "CHK_SeenMega0"; + CHK_SeenMega0.Size = new System.Drawing.Size(118, 21); + CHK_SeenMega0.TabIndex = 55; + CHK_SeenMega0.Text = "Mega0"; + CHK_SeenMega0.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_SeenMega0.UseVisualStyleBackColor = true; // - // CHK_SeenMegaX + // CHK_SeenMega1 // - CHK_SeenMegaX.AutoSize = true; - CHK_SeenMegaX.Location = new System.Drawing.Point(122, 38); - CHK_SeenMegaX.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - CHK_SeenMegaX.Name = "CHK_SeenMegaX"; - CHK_SeenMegaX.Size = new System.Drawing.Size(73, 21); - CHK_SeenMegaX.TabIndex = 57; - CHK_SeenMegaX.Text = "Mega X"; - CHK_SeenMegaX.UseVisualStyleBackColor = true; + CHK_SeenMega1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + CHK_SeenMega1.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_SeenMega1.Location = new System.Drawing.Point(104, 60); + CHK_SeenMega1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + CHK_SeenMega1.Name = "CHK_SeenMega1"; + CHK_SeenMega1.Size = new System.Drawing.Size(118, 21); + CHK_SeenMega1.TabIndex = 58; + CHK_SeenMega1.Text = "Mega1"; + CHK_SeenMega1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_SeenMega1.UseVisualStyleBackColor = true; // - // CHK_SeenMega + // CHK_SeenMega2 // - CHK_SeenMega.AutoSize = true; - CHK_SeenMega.Location = new System.Drawing.Point(122, 38); - CHK_SeenMega.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); - CHK_SeenMega.Name = "CHK_SeenMega"; - CHK_SeenMega.Size = new System.Drawing.Size(61, 21); - CHK_SeenMega.TabIndex = 55; - CHK_SeenMega.Text = "Mega"; - CHK_SeenMega.UseVisualStyleBackColor = true; + CHK_SeenMega2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + CHK_SeenMega2.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_SeenMega2.Location = new System.Drawing.Point(104, 80); + CHK_SeenMega2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + CHK_SeenMega2.Name = "CHK_SeenMega2"; + CHK_SeenMega2.Size = new System.Drawing.Size(118, 21); + CHK_SeenMega2.TabIndex = 59; + CHK_SeenMega2.Text = "Mega2"; + CHK_SeenMega2.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_SeenMega2.UseVisualStyleBackColor = true; // // CHK_SeenAlpha // - CHK_SeenAlpha.AutoSize = true; - CHK_SeenAlpha.Location = new System.Drawing.Point(122, 20); + CHK_SeenAlpha.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right; + CHK_SeenAlpha.CheckAlign = System.Drawing.ContentAlignment.MiddleRight; + CHK_SeenAlpha.Location = new System.Drawing.Point(104, 20); CHK_SeenAlpha.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_SeenAlpha.Name = "CHK_SeenAlpha"; - CHK_SeenAlpha.Size = new System.Drawing.Size(60, 21); + CHK_SeenAlpha.Size = new System.Drawing.Size(118, 21); CHK_SeenAlpha.TabIndex = 56; CHK_SeenAlpha.Text = "Alpha"; + CHK_SeenAlpha.TextAlign = System.Drawing.ContentAlignment.MiddleRight; CHK_SeenAlpha.UseVisualStyleBackColor = true; // // CHK_SeenGenderless // CHK_SeenGenderless.AutoSize = true; - CHK_SeenGenderless.Location = new System.Drawing.Point(14, 56); + CHK_SeenGenderless.Location = new System.Drawing.Point(9, 60); CHK_SeenGenderless.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_SeenGenderless.Name = "CHK_SeenGenderless"; CHK_SeenGenderless.Size = new System.Drawing.Size(92, 21); @@ -506,7 +516,7 @@ private void InitializeComponent() // CHK_SeenFemale // CHK_SeenFemale.AutoSize = true; - CHK_SeenFemale.Location = new System.Drawing.Point(14, 38); + CHK_SeenFemale.Location = new System.Drawing.Point(9, 40); CHK_SeenFemale.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_SeenFemale.Name = "CHK_SeenFemale"; CHK_SeenFemale.Size = new System.Drawing.Size(68, 21); @@ -517,7 +527,7 @@ private void InitializeComponent() // CHK_SeenMale // CHK_SeenMale.AutoSize = true; - CHK_SeenMale.Location = new System.Drawing.Point(14, 20); + CHK_SeenMale.Location = new System.Drawing.Point(9, 20); CHK_SeenMale.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_SeenMale.Name = "CHK_SeenMale"; CHK_SeenMale.Size = new System.Drawing.Size(56, 21); @@ -528,7 +538,7 @@ private void InitializeComponent() // CHK_IsNew // CHK_IsNew.AutoSize = true; - CHK_IsNew.Location = new System.Drawing.Point(356, 19); + CHK_IsNew.Location = new System.Drawing.Point(314, 18); CHK_IsNew.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CHK_IsNew.Name = "CHK_IsNew"; CHK_IsNew.Size = new System.Drawing.Size(53, 21); @@ -540,7 +550,7 @@ private void InitializeComponent() // CLB_FormCaught.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left; CLB_FormCaught.FormattingEnabled = true; - CLB_FormCaught.Location = new System.Drawing.Point(356, 152); + CLB_FormCaught.Location = new System.Drawing.Point(356, 172); CLB_FormCaught.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CLB_FormCaught.Name = "CLB_FormCaught"; CLB_FormCaught.Size = new System.Drawing.Size(138, 204); @@ -550,7 +560,7 @@ private void InitializeComponent() // CLB_FormShiny.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left; CLB_FormShiny.FormattingEnabled = true; - CLB_FormShiny.Location = new System.Drawing.Point(502, 152); + CLB_FormShiny.Location = new System.Drawing.Point(502, 172); CLB_FormShiny.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); CLB_FormShiny.Name = "CLB_FormShiny"; CLB_FormShiny.Size = new System.Drawing.Size(138, 204); @@ -559,7 +569,7 @@ private void InitializeComponent() // L_Seen // L_Seen.AutoSize = true; - L_Seen.Location = new System.Drawing.Point(210, 134); + L_Seen.Location = new System.Drawing.Point(210, 152); L_Seen.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); L_Seen.Name = "L_Seen"; L_Seen.Size = new System.Drawing.Size(39, 17); @@ -569,7 +579,7 @@ private void InitializeComponent() // L_Caught // L_Caught.AutoSize = true; - L_Caught.Location = new System.Drawing.Point(356, 134); + L_Caught.Location = new System.Drawing.Point(356, 152); L_Caught.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); L_Caught.Name = "L_Caught"; L_Caught.Size = new System.Drawing.Size(52, 17); @@ -579,7 +589,7 @@ private void InitializeComponent() // L_SeenShiny // L_SeenShiny.AutoSize = true; - L_SeenShiny.Location = new System.Drawing.Point(502, 134); + L_SeenShiny.Location = new System.Drawing.Point(502, 152); L_SeenShiny.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); L_SeenShiny.Name = "L_SeenShiny"; L_SeenShiny.Size = new System.Drawing.Size(81, 17); @@ -589,14 +599,14 @@ private void InitializeComponent() // SAV_Pokedex9a // AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit; - ClientSize = new System.Drawing.Size(798, 368); + ClientSize = new System.Drawing.Size(798, 388); Controls.Add(L_SeenShiny); Controls.Add(L_Caught); Controls.Add(L_Seen); Controls.Add(CLB_FormShiny); Controls.Add(CLB_FormCaught); Controls.Add(CHK_IsNew); - Controls.Add(groupBox1); + Controls.Add(GB_Seen); Controls.Add(CLB_FormSeen); Controls.Add(GB_Language); Controls.Add(GB_Displayed); @@ -619,8 +629,8 @@ private void InitializeComponent() GB_Displayed.PerformLayout(); GB_Language.ResumeLayout(false); GB_Language.PerformLayout(); - groupBox1.ResumeLayout(false); - groupBox1.PerformLayout(); + GB_Seen.ResumeLayout(false); + GB_Seen.PerformLayout(); ResumeLayout(false); PerformLayout(); } @@ -658,7 +668,7 @@ private void InitializeComponent() private System.Windows.Forms.CheckBox CHK_LangENG; private System.Windows.Forms.CheckBox CHK_LangJPN; private System.Windows.Forms.CheckedListBox CLB_FormSeen; - private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.GroupBox GB_Seen; private System.Windows.Forms.CheckBox CHK_SeenGenderless; private System.Windows.Forms.CheckBox CHK_SeenFemale; private System.Windows.Forms.CheckBox CHK_SeenMale; @@ -668,12 +678,12 @@ private void InitializeComponent() private System.Windows.Forms.CheckedListBox CLB_FormCaught; private System.Windows.Forms.CheckedListBox CLB_FormShiny; private System.Windows.Forms.CheckBox CHK_SeenAlpha; - private System.Windows.Forms.CheckBox CHK_SeenMega; + private System.Windows.Forms.CheckBox CHK_SeenMega0; + private System.Windows.Forms.CheckBox CHK_SeenMega1; + private System.Windows.Forms.CheckBox CHK_SeenMega2; private System.Windows.Forms.CheckBox CHK_LangLATAM; private System.Windows.Forms.Label L_Seen; private System.Windows.Forms.Label L_Caught; private System.Windows.Forms.Label L_SeenShiny; - private System.Windows.Forms.CheckBox CHK_SeenMegaY; - private System.Windows.Forms.CheckBox CHK_SeenMegaX; } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Pokedex9a.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Pokedex9a.cs index 66bbb4047..b4f6a3c4b 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Pokedex9a.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Pokedex9a.cs @@ -15,6 +15,7 @@ public partial class SAV_Pokedex9a : Form private int lastIndex; private readonly bool CanSave; private readonly bool Loading; + private readonly MegaFormNames MegaNames; public SAV_Pokedex9a(SAV9ZA sav) { @@ -39,6 +40,7 @@ public SAV_Pokedex9a(SAV9ZA sav) // Fill List var filtered = GameInfo.FilteredSources; + MegaNames = FormConverter.GetMegaFormNames(filtered.Source.Strings.forms); int maxSpecies = sav.MaxSpeciesID; // no DLC species CB_Species.InitializeBinding(); @@ -150,18 +152,49 @@ private void GetEntry(ushort species) CHK_SeenGenderless.Checked = entry.GetIsGenderSeen(2); CHK_SeenAlpha.Checked = entry.GetIsSeenAlpha(); - if (Zukan9a.IsMegaFormXY(species)) + if (Zukan9a.IsMegaFormXY(species, SAV.SaveRevision)) { - CHK_SeenMegaX.Checked = entry.GetIsSeenMega(0); - CHK_SeenMegaY.Checked = entry.GetIsSeenMega(1); - CHK_SeenMegaX.Visible = CHK_SeenMegaY.Visible = true; - CHK_SeenMega.Visible = false; + CHK_SeenMega0.Checked = entry.GetIsSeenMega(0); + CHK_SeenMega1.Checked = entry.GetIsSeenMega(1); + CHK_SeenMega2.Visible = false; + + CHK_SeenMega0.Text = MegaNames.X; + CHK_SeenMega1.Text = MegaNames.Y; + CHK_SeenMega0.Visible = true; + CHK_SeenMega1.Visible = true; + } + else if (Zukan9a.IsMegaFormZA(species, SAV.SaveRevision)) + { + CHK_SeenMega0.Checked = entry.GetIsSeenMega(0); + CHK_SeenMega1.Checked = entry.GetIsSeenMega(1); + CHK_SeenMega2.Visible = false; + + CHK_SeenMega0.Text = MegaNames.Regular; + CHK_SeenMega1.Text = MegaNames.Z; + CHK_SeenMega0.Visible = true; + CHK_SeenMega1.Visible = true; + } + else if (species is (int)Species.Tatsugiri) + { + CHK_SeenMega0.Checked = entry.GetIsSeenMega(0); + CHK_SeenMega1.Checked = entry.GetIsSeenMega(1); + CHK_SeenMega2.Checked = entry.GetIsSeenMega(2); + + CHK_SeenMega0.Text = MegaNames.Tatsu0; + CHK_SeenMega1.Text = MegaNames.Tatsu1; + CHK_SeenMega2.Text = MegaNames.Tatsu2; + CHK_SeenMega0.Visible = true; + CHK_SeenMega1.Visible = true; + CHK_SeenMega2.Visible = true; } else { - CHK_SeenMega.Checked = entry.GetIsSeenMega(0); - CHK_SeenMegaX.Visible = CHK_SeenMegaY.Visible = false; - CHK_SeenMega.Visible = true; + CHK_SeenMega0.Checked = entry.GetIsSeenMega(0); + + CHK_SeenMega0.Text = MegaNames.Regular; + CHK_SeenMega0.Visible = true; + CHK_SeenMega1.Visible = false; + CHK_SeenMega2.Visible = false; } for (byte i = 0; i < forms.Length; i++) @@ -219,14 +252,20 @@ private void SetEntry(ushort species) entry.SetIsGenderSeen(2, CHK_SeenGenderless.Checked); entry.SetIsSeenAlpha(CHK_SeenAlpha.Checked); - if (Zukan9a.IsMegaFormXY(species)) + if (Zukan9a.IsMegaFormXY(species, SAV.SaveRevision) || Zukan9a.IsMegaFormZA(species, SAV.SaveRevision)) { - entry.SetIsSeenMega(0, CHK_SeenMegaX.Checked); - entry.SetIsSeenMega(1, CHK_SeenMegaY.Checked); + entry.SetIsSeenMega(0, CHK_SeenMega0.Checked); + entry.SetIsSeenMega(1, CHK_SeenMega1.Checked); + } + else if (species == (int)Species.Tatsugiri) + { + entry.SetIsSeenMega(0, CHK_SeenMega0.Checked); + entry.SetIsSeenMega(1, CHK_SeenMega1.Checked); + entry.SetIsSeenMega(2, CHK_SeenMega2.Checked); } else { - entry.SetIsSeenMega(0, CHK_SeenMega.Checked); + entry.SetIsSeenMega(0, CHK_SeenMega0.Checked); } for (byte i = 0; i < CLB_FormSeen.Items.Count; i++) diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9a.Designer.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9a.Designer.cs index 28c39d517..6c857e22e 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9a.Designer.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9a.Designer.cs @@ -118,6 +118,7 @@ private void InitializeComponent() P_Picture1 = new System.Windows.Forms.PictureBox(); P_Picture2 = new System.Windows.Forms.PictureBox(); P_Picture3 = new System.Windows.Forms.PictureBox(); + B_CollectTechnicalMachines = new System.Windows.Forms.Button(); B_CollectScrews = new System.Windows.Forms.Button(); TC_Editor.SuspendLayout(); Tab_Overview.SuspendLayout(); @@ -700,6 +701,7 @@ private void InitializeComponent() // // Tab_MiscValues // + Tab_MiscValues.Controls.Add(B_CollectTechnicalMachines); Tab_MiscValues.Controls.Add(B_CollectScrews); Tab_MiscValues.Controls.Add(label3); Tab_MiscValues.Controls.Add(L_RoyaleTicketPointsInfinite); @@ -984,6 +986,16 @@ private void InitializeComponent() P_Picture3.TabStop = false; P_Picture3.Click += P_Picture3_Click; // + // B_CollectTechnicalMachines + // + B_CollectTechnicalMachines.Location = new System.Drawing.Point(365, 106); + B_CollectTechnicalMachines.Name = "B_CollectTechnicalMachines"; + B_CollectTechnicalMachines.Size = new System.Drawing.Size(120, 64); + B_CollectTechnicalMachines.TabIndex = 85; + B_CollectTechnicalMachines.Text = "Collect All Technical Machines"; + B_CollectTechnicalMachines.UseVisualStyleBackColor = true; + B_CollectTechnicalMachines.Click += B_CollectTechnicalMachines_Click; + // // B_CollectScrews // B_CollectScrews.Location = new System.Drawing.Point(365, 106); @@ -1119,6 +1131,7 @@ private void InitializeComponent() private System.Windows.Forms.PictureBox P_Picture1; private System.Windows.Forms.PictureBox P_Picture2; private System.Windows.Forms.PictureBox P_Picture3; + private System.Windows.Forms.Button B_CollectTechnicalMachines; private System.Windows.Forms.Button B_CollectScrews; } } diff --git a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9a.cs b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9a.cs index c403dafc9..60fdc7a83 100644 --- a/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9a.cs +++ b/PKHeX.WinForms/Subforms/Save Editors/Gen9/SAV_Trainer9a.cs @@ -201,6 +201,15 @@ private void Change255(object sender, EventArgs e) private void P_Picture2_Click(object sender, EventArgs e) => SAV_Trainer9.IMG_Save(P_Picture2.Image!, nameof(KPictureInitialData)); private void P_Picture3_Click(object sender, EventArgs e) => SAV_Trainer9.IMG_Save(P_Picture3.Image!, nameof(KPictureCurrentData)); + private void B_CollectTechnicalMachines_Click(object sender, EventArgs e) + { + var count = TechnicalMachine9a.SetAllTechnicalMachines(SAV, true); + if (count == 0) + WinFormsUtil.Alert("All Technical Machines have already been collected."); + else + WinFormsUtil.Alert($"Collected Technical Machines x{count}!"); + } + private void B_CollectScrews_Click(object sender, EventArgs e) { if (ModifierKeys == (Keys.Alt | Keys.Control | Keys.Shift)) diff --git a/PKHeX.WinForms/Util/DevUtil.cs b/PKHeX.WinForms/Util/DevUtil.cs index 4d41a0704..7a024d9de 100644 --- a/PKHeX.WinForms/Util/DevUtil.cs +++ b/PKHeX.WinForms/Util/DevUtil.cs @@ -232,6 +232,7 @@ private static IEnumerable GetExtraControls() $"{nameof(SAV_BlockDump8)}.L_BlockName", // Block name (dynamic) $"{nameof(SAV_PokedexResearchEditorLA)}.L_", // Dynamic label $"{nameof(SAV_OPower)}.L_", // Dynamic label + $"{nameof(SAV_Pokedex9a)}.CHK_SeenMega", // Dynamic text checkbox ]; // paths should match the project structure, so that the files are in the correct place when the logic updates them. diff --git a/Tests/PKHeX.Core.Tests/Util/StringQualityTests.cs b/Tests/PKHeX.Core.Tests/Util/StringQualityTests.cs index bac81ea30..737704e9f 100644 --- a/Tests/PKHeX.Core.Tests/Util/StringQualityTests.cs +++ b/Tests/PKHeX.Core.Tests/Util/StringQualityTests.cs @@ -45,7 +45,7 @@ private static void CheckSpeciesNames(string language) if (!hashset.Add(hash)) duplicates.Add(line); } - duplicates.Count.Should().Be(0, "expected no duplicate strings."); + duplicates.Count.Should().Be(0, "expected no duplicate species strings."); } private static void CheckMoveNames(string language) @@ -53,7 +53,7 @@ private static void CheckMoveNames(string language) var strings = GameInfo.GetStrings(language); var arr = strings.movelist; var duplicates = GetDuplicates(arr); - duplicates.Count.Should().Be(0, "expected no duplicate strings."); + duplicates.Count.Should().Be(0, "expected no duplicate move strings."); } private static void CheckItemNames(string language) @@ -63,7 +63,7 @@ private static void CheckItemNames(string language) var duplicates = GetDuplicates(arr); var questionmarks = arr[129]; duplicates.RemoveAll(z => z == questionmarks); - duplicates.Count.Should().Be(0, "expected no duplicate strings."); + duplicates.Count.Should().Be(0, "expected no duplicate item strings."); } private static List GetDuplicates(string[] arr)