Changes for Legends: Z-A (Mega Dimension) support (#4653)
Refer to pull request notes and the eventual changelog for a high-level summary. Co-authored-by: Matt <17801814+sora10pls@users.noreply.github.com> Co-authored-by: Lusamine <30205550+Lusamine@users.noreply.github.com> Co-authored-by: SciresM <8676005+SciresM@users.noreply.github.com>
|
|
@ -313,6 +313,14 @@ private void SanitizeItemsZA(Span<string> 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);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -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,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -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<ushort> Balls => // 1
|
||||
|
|
@ -23,16 +24,19 @@ public sealed class ItemStorage9ZA : IItemStorage
|
|||
public static ReadOnlySpan<ushort> 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<ushort> Treasure => // 3
|
||||
|
|
@ -42,9 +46,11 @@ public sealed class ItemStorage9ZA : IItemStorage
|
|||
|
||||
public static ReadOnlySpan<ushort> 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<ushort> 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<ushort> 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<InventoryType> ValidTypes =>
|
||||
|
|
@ -97,8 +117,12 @@ public sealed class ItemStorage9ZA : IItemStorage
|
|||
|
||||
public static ReadOnlySpan<ushort> 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);
|
||||
|
||||
/// <summary>
|
||||
/// 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.
|
||||
/// </summary>
|
||||
/// <returns>0 if no item is expected for this species and form combination (in other words, not a mega form).</returns>
|
||||
public static ushort GetExpectedMegaStone(ushort species, byte form) => (Species)species switch
|
||||
/// <returns>0 if no item is expected for this species and form combination (in other words, not a Mega Evolution or Primal Reversion).</returns>
|
||||
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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ namespace PKHeX.Core;
|
|||
/// Gift Encounter found in <see cref="GameVersion.ZA"/>.
|
||||
/// </summary>
|
||||
public sealed record EncounterGift9a(ushort Species, byte Form, byte Level, byte Size = EncounterGift9a.NoScale)
|
||||
: IEncounter9a, IEncounterConvertible<PA9>, IFixedGender, IFixedNature, IFixedIVSet, IMoveset, IFixedTrainer
|
||||
: IEncounter9a, IEncounterConvertible<PA9>, 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<char> trainer, int language)
|
||||
{
|
||||
var expect = GetFixedTrainerName(Trainer, pk.Language);
|
||||
return trainer.SequenceEqual(expect);
|
||||
}
|
||||
public bool IsNicknameMatch(PKM pk, ReadOnlySpan<char> 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,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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; }
|
||||
|
|
|
|||
|
|
@ -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),
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.";
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -220,6 +220,7 @@ public enum LegalityCheckResultCode : ushort
|
|||
IVNotCorrect,
|
||||
|
||||
// Level
|
||||
LevelBoostNotZero,
|
||||
LevelEXPThreshold,
|
||||
LevelEXPTooHigh,
|
||||
LevelMetBelow,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,13 @@ public static bool IsMegaForm(ushort species, byte form)
|
|||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the form is a Primal form.
|
||||
/// </summary>
|
||||
/// <param name="species">Entity species</param>
|
||||
/// <param name="form">Entity form</param>
|
||||
public static bool IsPrimalForm(ushort species, byte form) => species is (ushort)Kyogre or (ushort)Groudon && form == 1;
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the species has a Mega form.
|
||||
/// </summary>
|
||||
|
|
@ -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,
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -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,
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
|
|
|
|||
|
|
@ -118,12 +118,12 @@ internal static class MoveInfo9a
|
|||
/// </remarks>
|
||||
public static ReadOnlySpan<byte> 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
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<byte>(0);
|
||||
private bool GetMovePlusFlagAny1() => PlusFlags1.ContainsAnyExcept<byte>(0);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
namespace PKHeX.Core;
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves localized form names for indicating <see cref="PKM.Form"/> values.
|
||||
/// Retrieves localized form names for indicating <see cref="ISpeciesForm.Form"/> values.
|
||||
/// </summary>
|
||||
public static class FormConverter
|
||||
{
|
||||
|
|
@ -22,8 +22,6 @@ public static class FormConverter
|
|||
/// <returns>A list of strings corresponding to the forms that a Pokémon can have.</returns>
|
||||
public static string[] GetFormList(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> forms, IReadOnlyList<string> 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<string> 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<string> types,
|
|||
|
||||
private static string[] GetFormsGen1(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> 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<string> 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<string> types
|
|||
|
||||
private static string[] GetFormsGen2(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> 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<string> types, IReadOnlyList<string> forms, byte generation)
|
||||
private static string[] GetFormsGen3(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> 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<string> types
|
|||
};
|
||||
}
|
||||
|
||||
private static string[] GetFormsGen4(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> forms, byte generation)
|
||||
private static string[] GetFormsGen4(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> forms, EntityContext context)
|
||||
{
|
||||
return (Species)species switch
|
||||
{
|
||||
|
|
@ -136,6 +133,7 @@ private static string[] GetFormsGen4(ushort species, IReadOnlyList<string> 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<string> 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<string> 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<string> types, IReadOnlyList<string> forms, byte generation)
|
||||
private static string[] GetFormsGen5(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> 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<string> 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<string> types
|
|||
|
||||
private static string[] GetFormsGen6(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> forms, IReadOnlyList<string> 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<string> 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<string> 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<string> 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<string> 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<string> types
|
|||
};
|
||||
}
|
||||
|
||||
private static string[] GetFormsGen7(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> forms, byte generation)
|
||||
private static string[] GetFormsGen7(ushort species, IReadOnlyList<string> types, IReadOnlyList<string> 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<string> 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<string> 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<string> 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<string> types
|
|||
};
|
||||
}
|
||||
|
||||
private static string[] GetFormsGen8(ushort species, byte generation, IReadOnlyList<string> types, IReadOnlyList<string> forms, IReadOnlyList<string> genders)
|
||||
private static string[] GetFormsGen8(ushort species, EntityContext context, IReadOnlyList<string> types, IReadOnlyList<string> forms, IReadOnlyList<string> 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<string> types, IReadOnlyList<string> forms, IReadOnlyList<string> genders)
|
||||
private static string[] GetFormsGen9(ushort species, EntityContext context, IReadOnlyList<string> types, IReadOnlyList<string> forms, IReadOnlyList<string> 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<stri
|
|||
forms[Galarian], // Galarian
|
||||
],
|
||||
|
||||
Raichu when generation >= 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<string> types, IReadOnlyList<string> 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<str
|
|||
forms[733], // Libre
|
||||
forms[734], // Cosplay
|
||||
],
|
||||
7 when context is Gen7b => [
|
||||
Gen7b => [
|
||||
types[0], // Normal
|
||||
forms[813], // Original
|
||||
forms[814], // Hoenn
|
||||
|
|
@ -576,7 +600,7 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList<str
|
|||
forms[1063], // Partner
|
||||
Starter,
|
||||
],
|
||||
7 => [
|
||||
Gen7 => [
|
||||
types[0], // Normal
|
||||
forms[813], // Original
|
||||
forms[814], // Hoenn
|
||||
|
|
@ -586,7 +610,7 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList<str
|
|||
forms[818], // Alola
|
||||
forms[1063], // Partner
|
||||
],
|
||||
8 or 9 => [
|
||||
_ => [
|
||||
types[0], // Normal
|
||||
forms[813], // Original
|
||||
forms[814], // Hoenn
|
||||
|
|
@ -598,7 +622,6 @@ private static string[] GetFormsPikachu(EntityContext context, IReadOnlyList<str
|
|||
Starter,
|
||||
forms[1085], // World
|
||||
],
|
||||
_ => EMPTY,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -611,11 +634,11 @@ private static string[] GetFormsPichu(IReadOnlyList<string> types, IReadOnlyList
|
|||
];
|
||||
}
|
||||
|
||||
private static string[] GetFormsArceus(ushort species, byte generation, IReadOnlyList<string> types, IReadOnlyList<string> forms)
|
||||
private static string[] GetFormsArceus(EntityContext context, IReadOnlyList<string> types, IReadOnlyList<string> 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<string> types, IReadOnlyList<string> forms)
|
||||
|
|
@ -796,6 +840,16 @@ private static string[] GetMegaXY(IReadOnlyList<string> types, IReadOnlyList<str
|
|||
];
|
||||
}
|
||||
|
||||
private static string[] GetMegaZ(IReadOnlyList<string> types, IReadOnlyList<string> forms)
|
||||
{
|
||||
return
|
||||
[
|
||||
types[0], // Normal
|
||||
forms[Mega], // Mega
|
||||
forms[MegaZ], // Mega Z
|
||||
];
|
||||
}
|
||||
|
||||
private static string[] GetFormsGalar(IReadOnlyList<string> types, IReadOnlyList<string> forms)
|
||||
{
|
||||
return
|
||||
|
|
@ -805,9 +859,9 @@ private static string[] GetFormsGalar(IReadOnlyList<string> types, IReadOnlyList
|
|||
];
|
||||
}
|
||||
|
||||
private static string[] GetFormsHisui(ushort species, byte generation, IReadOnlyList<string> types, IReadOnlyList<string> forms) => generation switch
|
||||
private static string[] GetFormsHisui(ushort species, EntityContext context, IReadOnlyList<string> types, IReadOnlyList<string> forms) => context switch
|
||||
{
|
||||
8 => (Species)species switch
|
||||
Gen8a => (Species)species switch
|
||||
{
|
||||
Lilligant =>
|
||||
[
|
||||
|
|
@ -896,9 +950,22 @@ private static string[] GetFormsZygarde(IReadOnlyList<string> forms, string[] re
|
|||
return result;
|
||||
}
|
||||
|
||||
public static MegaFormNames GetMegaFormNames(ReadOnlySpan<string> 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; }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -131,13 +131,20 @@ public void SetAllLearnTM(Span<bool> 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<ushort> PlusMoves =>
|
||||
|
|
@ -168,6 +175,16 @@ public void SetAllLearnTM(Span<bool> 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<ushort> PlusMoveIndexes => PlusMoves;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,9 @@ Corni
|
|||
Rioluis
|
||||
Picanto
|
||||
Fluffy
|
||||
Smoothie
|
||||
Échan
|
||||
Bondo
|
||||
Tranquillo
|
||||
Panca
|
||||
Trian
|
||||
|
|
@ -2,7 +2,9 @@ Bois
|
|||
Riolouie
|
||||
Spicy
|
||||
Floffy
|
||||
Alias
|
||||
Tracie
|
||||
Bond
|
||||
Quille
|
||||
Griddella
|
||||
Trian
|
||||
|
|
@ -2,7 +2,9 @@ Gastón
|
|||
Riolito
|
||||
Apetito
|
||||
Pachoncito
|
||||
Bisel
|
||||
Lidia
|
||||
Sandro
|
||||
Plácido
|
||||
Mónica
|
||||
Polifacio
|
||||
|
|
@ -2,7 +2,9 @@ Gastón
|
|||
Riolito
|
||||
Riquiño
|
||||
Panqueque
|
||||
Bisel
|
||||
Camille
|
||||
Ludovic
|
||||
Plácido
|
||||
Loli
|
||||
Policarpo
|
||||
|
|
@ -2,7 +2,9 @@ Dyna
|
|||
Ribébou
|
||||
Piment
|
||||
Raidoudou
|
||||
Polissé
|
||||
Odile
|
||||
Marsaut
|
||||
Kylian
|
||||
Rozell
|
||||
Trian
|
||||
|
|
@ -2,7 +2,9 @@ Cornì
|
|||
Rioletto
|
||||
Spezia
|
||||
Sofficio
|
||||
Tondino
|
||||
Echan
|
||||
Balzac
|
||||
Quilliam
|
||||
Suzette
|
||||
Trian
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
リオぼう
|
||||
スパイス
|
||||
ふわふわ
|
||||
なめらか
|
||||
エシャン
|
||||
ボンド
|
||||
トランキー
|
||||
クレープ
|
||||
トリアン
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
리오룽
|
||||
스파이스
|
||||
푹신이
|
||||
매끈이
|
||||
에스얀
|
||||
본드
|
||||
트랭키
|
||||
크레이프
|
||||
트리앙
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
利欧宝
|
||||
香料
|
||||
飘绵绵
|
||||
滑滑
|
||||
娇环
|
||||
斐岳
|
||||
佑哉
|
||||
可莉萍
|
||||
多连安
|
||||
|
|
@ -2,7 +2,9 @@
|
|||
利歐寶
|
||||
香料
|
||||
飄綿綿
|
||||
滑滑
|
||||
嬌環
|
||||
斐岳
|
||||
佑哉
|
||||
可莉萍
|
||||
多連安
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
|
@ -2633,3 +2633,53 @@ Green Canari Plush
|
|||
Blue Canari Plush
|
||||
Blue Canari Plush
|
||||
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
|
||||
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
|
@ -2633,3 +2633,53 @@ Nariamuleto Verde
|
|||
Nariamuleto Azul
|
||||
Nariamuleto Azul
|
||||
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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
|
@ -2633,3 +2633,53 @@ Naricâline Verte
|
|||
Naricâline Bleue
|
||||
Naricâline Bleue
|
||||
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
|
||||
|
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
|
@ -2633,3 +2633,53 @@ Peluche di Canary verde
|
|||
Peluche di Canary blu
|
||||
Peluche di Canary blu
|
||||
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
|
||||
|
|
@ -2565,8 +2565,8 @@ Bステンレスボトル
|
|||
オーダイルナイト
|
||||
エアームドナイト
|
||||
ユキメノコナイト
|
||||
|
||||
|
||||
ヒードラナイト
|
||||
ダークライナイト
|
||||
エンブオナイト
|
||||
ドリュウズナイト
|
||||
ペンドラナイト
|
||||
|
|
@ -2584,7 +2584,7 @@ Bステンレスボトル
|
|||
ルチャブルナイト
|
||||
ジガルデナイト
|
||||
ジジーロナイト
|
||||
|
||||
ゼラオラナイト
|
||||
タイレーツナイト
|
||||
202ごうしつのカギ
|
||||
すごいミアレガレット
|
||||
|
|
@ -2599,19 +2599,19 @@ Bステンレスボトル
|
|||
おいしいゴミ
|
||||
げんきのこえだ
|
||||
デウロのわすれもの
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ミアレバター
|
||||
スーパーバター
|
||||
ハイパーバター
|
||||
ウルトラバター
|
||||
マスターバター
|
||||
いじげんバター
|
||||
ホウエンのあらじお
|
||||
スパイスブラック
|
||||
オリーヴァオイル
|
||||
パチパチキャンディ
|
||||
たいせつなてがみ
|
||||
おもいでのゆびわ
|
||||
よごれたスカーフ
|
||||
|
||||
|
||||
|
||||
|
|
@ -2633,3 +2633,53 @@ Bステンレスボトル
|
|||
あおのカナリィぬい
|
||||
あおのカナリィぬい
|
||||
あおのカナリィぬい
|
||||
ライチュウナイトX
|
||||
ライチュウナイトY
|
||||
チリーンナイト
|
||||
アブソルナイトZ
|
||||
ムクホークナイト
|
||||
ガブリアスナイトZ
|
||||
ルカリオナイトZ
|
||||
ゴルーグナイト
|
||||
ニャオニクスナイト
|
||||
ケケンカニナイト
|
||||
グソクムシャナイト
|
||||
マギアナイト
|
||||
スコヴィラナイト
|
||||
セグレイブナイト
|
||||
シャリタツナイト
|
||||
キラフロルナイト
|
||||
いじげんクラボのみ
|
||||
いじげんカゴのみ
|
||||
いじげんモモンのみ
|
||||
いじげんチーゴのみ
|
||||
いじげんナナシのみ
|
||||
いじげんオレンのみ
|
||||
いじげんキーのみ
|
||||
いじげんラムのみ
|
||||
いじげんオボンのみ
|
||||
いじげんザロクのみ
|
||||
いじげんネコブのみ
|
||||
いじげんタポルのみ
|
||||
いじげんロメのみ
|
||||
いじげんウブのみ
|
||||
いじげんマトマのみ
|
||||
いじげんオッカのみ
|
||||
いじげんイトケのみ
|
||||
いじげんソクノのみ
|
||||
いじげんリンドのみ
|
||||
いじげんヤチェのみ
|
||||
いじげんヨプのみ
|
||||
いじげんビアーのみ
|
||||
いじげんシュカのみ
|
||||
いじげんバコウのみ
|
||||
いじげんウタンのみ
|
||||
いじげんタンガのみ
|
||||
いじげんヨロギのみ
|
||||
いじげんカシブのみ
|
||||
いじげんハバンのみ
|
||||
いじげんナモのみ
|
||||
いじげんリリバのみ
|
||||
いじげんホズのみ
|
||||
いじげんロゼルのみ
|
||||
カナリィパン
|
||||
|
|
@ -2565,8 +2565,8 @@ B 스테인리스 보틀
|
|||
장크로다일나이트
|
||||
무장조나이트
|
||||
눈여아나이트
|
||||
|
||||
|
||||
히드런나이트
|
||||
다크라이나이트
|
||||
염무왕나이트
|
||||
몰드류나이트
|
||||
펜드라나이트
|
||||
|
|
@ -2584,7 +2584,7 @@ B 스테인리스 보틀
|
|||
루차불나이트
|
||||
지가르데나이트
|
||||
할비롱나이트
|
||||
|
||||
제라오라나이트
|
||||
대여르나이트
|
||||
202호실열쇠
|
||||
대단한미르갈레트
|
||||
|
|
@ -2599,19 +2599,19 @@ B 스테인리스 보틀
|
|||
맛있는쓰레기
|
||||
기력의잔가지
|
||||
루디의 잊은물건
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
미르버터
|
||||
슈퍼버터
|
||||
하이퍼버터
|
||||
울트라버터
|
||||
마스터버터
|
||||
이차원버터
|
||||
호연산왕소금
|
||||
스파이스블랙
|
||||
올리르바오일
|
||||
톡톡캔디
|
||||
중요한편지
|
||||
추억의반지
|
||||
더러운스카프
|
||||
|
||||
|
||||
|
||||
|
|
@ -2633,3 +2633,53 @@ B 스테인리스 보틀
|
|||
파랑카나리인형
|
||||
파랑카나리인형
|
||||
파랑카나리인형
|
||||
라이츄나이트X
|
||||
라이츄나이트Y
|
||||
치렁나이트
|
||||
앱솔나이트Z
|
||||
찌르호크나이트
|
||||
한카리아스나이트Z
|
||||
루카리오나이트Z
|
||||
골루그나이트
|
||||
냐오닉스나이트
|
||||
모단단게나이트
|
||||
갑주무사나이트
|
||||
마기아나이트
|
||||
스코빌런나이트
|
||||
드닐레이브나이트
|
||||
싸리용나이트
|
||||
킬라플로르나이트
|
||||
이차원 버치열매
|
||||
이차원 유루열매
|
||||
이차원 복슝열매
|
||||
이차원 복분열매
|
||||
이차원 배리열매
|
||||
이차원 오랭열매
|
||||
이차원 시몬열매
|
||||
이차원 리샘열매
|
||||
이차원 자뭉열매
|
||||
이차원 유석열매
|
||||
이차원 시마열매
|
||||
이차원 파비열매
|
||||
이차원 로매열매
|
||||
이차원 또뽀열매
|
||||
이차원 토망열매
|
||||
이차원 오카열매
|
||||
이차원 꼬시개열매
|
||||
이차원 초나열매
|
||||
이차원 린드열매
|
||||
이차원 플카열매
|
||||
이차원 로플열매
|
||||
이차원 으름열매
|
||||
이차원 슈캐열매
|
||||
이차원 바코열매
|
||||
이차원 야파열매
|
||||
이차원 리체열매
|
||||
이차원 루미열매
|
||||
이차원 수불열매
|
||||
이차원 하반열매
|
||||
이차원 마코열매
|
||||
이차원 바리비열매
|
||||
이차원 카리열매
|
||||
이차원 로셀열매
|
||||
카나리빵
|
||||
|
|
@ -2565,8 +2565,8 @@
|
|||
大力鳄进化石
|
||||
盔甲鸟进化石
|
||||
雪妖女进化石
|
||||
|
||||
|
||||
席多蓝恩进化石
|
||||
达克莱伊进化石
|
||||
炎武王进化石
|
||||
龙头地鼠进化石
|
||||
蜈蚣王进化石
|
||||
|
|
@ -2584,7 +2584,7 @@
|
|||
摔角鹰人进化石
|
||||
基格尔德进化石
|
||||
老翁龙进化石
|
||||
|
||||
捷拉奥拉进化石
|
||||
列阵兵进化石
|
||||
202号客房的钥匙
|
||||
厉害密阿雷格雷派饼
|
||||
|
|
@ -2599,19 +2599,19 @@
|
|||
美味垃圾
|
||||
活力小树枝
|
||||
玳萝的遗忘物
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
密阿雷黄油
|
||||
超级黄油
|
||||
高级黄油
|
||||
究极黄油
|
||||
大师黄油
|
||||
异次元黄油
|
||||
丰缘的粗盐
|
||||
黑香料
|
||||
奥利瓦油
|
||||
噼里啪啦糖果
|
||||
重要信件
|
||||
纪念戒指
|
||||
脏围巾
|
||||
|
||||
|
||||
|
||||
|
|
@ -2633,3 +2633,53 @@
|
|||
蓝色卡娜莉玩偶
|
||||
蓝色卡娜莉玩偶
|
||||
蓝色卡娜莉玩偶
|
||||
雷丘进化石X
|
||||
雷丘进化石Y
|
||||
风铃铃进化石
|
||||
阿勃梭鲁进化石Z
|
||||
姆克鹰进化石
|
||||
烈咬陆鲨进化石Z
|
||||
路卡利欧进化石Z
|
||||
泥偶巨人进化石
|
||||
超能妙喵进化石
|
||||
好胜毛蟹进化石
|
||||
具甲武者进化石
|
||||
玛机雅娜进化石
|
||||
狠辣椒进化石
|
||||
戟脊龙进化石
|
||||
米立龙进化石
|
||||
晶光花进化石
|
||||
异次元樱子果
|
||||
异次元零余果
|
||||
异次元桃桃果
|
||||
异次元莓莓果
|
||||
异次元利木果
|
||||
异次元橙橙果
|
||||
异次元柿仔果
|
||||
异次元木子果
|
||||
异次元文柚果
|
||||
异次元榴石果
|
||||
异次元藻根果
|
||||
异次元比巴果
|
||||
异次元哈密果
|
||||
异次元萄葡果
|
||||
异次元茄番果
|
||||
异次元巧可果
|
||||
异次元千香果
|
||||
异次元烛木果
|
||||
异次元罗子果
|
||||
异次元番荔果
|
||||
异次元莲蒲果
|
||||
异次元通通果
|
||||
异次元腰木果
|
||||
异次元棱瓜果
|
||||
异次元福禄果
|
||||
异次元扁樱果
|
||||
异次元草蚕果
|
||||
异次元佛柑果
|
||||
异次元莓榴果
|
||||
异次元刺耳果
|
||||
异次元霹霹果
|
||||
异次元灯浆果
|
||||
异次元洛玫果
|
||||
卡娜莉面包
|
||||
|
|
@ -234,3 +234,51 @@ Illumina-Kunstmuseum
|
|||
Bistro Flordelis
|
||||
Labor von Flordelis
|
||||
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
|
||||
|
|
@ -234,3 +234,51 @@ Lumiose Museum
|
|||
Lysandre Café
|
||||
Lysandre Labs
|
||||
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
|
||||
|
|
@ -234,3 +234,51 @@ Museo de Luminalia
|
|||
Café Lysandre
|
||||
Laboratorios Lysandre
|
||||
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
|
||||
|
|
@ -234,3 +234,51 @@ Museo de Arte de Luminalia
|
|||
Café Lysson
|
||||
Laboratorios Lysson
|
||||
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
|
||||
|
|
@ -234,3 +234,51 @@ Musée d’Illumis
|
|||
Café Lysandre
|
||||
Labos Lysandre
|
||||
É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
|
||||
|
|
@ -234,3 +234,51 @@ Museo di Luminopoli
|
|||
Caffè Elisio
|
||||
Laboratori Elisio
|
||||
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)
|
||||
|
|
@ -234,3 +234,51 @@ AXION 4
|
|||
フラダリカフェ
|
||||
フラダリラボ
|
||||
地下水道
|
||||
201号室
|
||||
202号室
|
||||
203号室
|
||||
204号室
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
異次元ミアレ
|
||||
異次元入口
|
||||
異次元ミアレ 災いの場所
|
||||
異次元ミアレ 孤高の狩場
|
||||
異次元ミアレ 満腹寿司屋
|
||||
異次元ミアレ 千里眼の間
|
||||
異次元ミアレ 火炎地獄
|
||||
異次元ミアレ 悪夢の新月島
|
||||
異次元ミアレ 始まりの海
|
||||
異次元ミアレ 終わりの大地
|
||||
異次元ミアレ 大空の柱
|
||||
|
|
@ -234,3 +234,51 @@ SUBATOMIC 4
|
|||
플라드리 카페
|
||||
플라드리 래버러토리
|
||||
지하 수도
|
||||
201호실
|
||||
202호실
|
||||
203호실
|
||||
204호실
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
이차원 미르
|
||||
이차원 입구
|
||||
이차원 미르 재난의 장소
|
||||
이차원 미르 고고한 사냥터
|
||||
이차원 미르 배부른 초밥집
|
||||
이차원 미르 천리안의 공간
|
||||
이차원 미르 화염지옥
|
||||
이차원 미르 악몽의 신월섬
|
||||
이차원 미르 시작의 바다
|
||||
이차원 미르 끝의 대지
|
||||
이차원 미르 창공의 기둥
|
||||
|
|
@ -234,3 +234,51 @@ SUBATOMIC 4
|
|||
弗拉达利咖啡店
|
||||
弗拉达利研究所
|
||||
下水道
|
||||
201号客房
|
||||
202号客房
|
||||
203号客房
|
||||
204号客房
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
异次元密阿雷
|
||||
异次元入口
|
||||
异次元密阿雷:灾祸之地
|
||||
异次元密阿雷:孤高狩猎场
|
||||
异次元密阿雷:饱足寿司店
|
||||
异次元密阿雷:千里眼之域
|
||||
异次元密阿雷:火焰地狱
|
||||
异次元密阿雷:噩梦新月岛
|
||||
异次元密阿雷:始源之海
|
||||
异次元密阿雷:终结之地
|
||||
异次元密阿雷:长空之柱
|
||||
|
|
@ -234,3 +234,51 @@ SUBATOMIC 4
|
|||
弗拉達利咖啡店
|
||||
弗拉達利研究所
|
||||
下水道
|
||||
201號客房
|
||||
202號客房
|
||||
203號客房
|
||||
204號客房
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
異次元密阿雷
|
||||
異次元入口
|
||||
異次元密阿雷:災禍之地
|
||||
異次元密阿雷:孤高狩獵場
|
||||
異次元密阿雷:飽足壽司店
|
||||
異次元密阿雷:千里眼之域
|
||||
異次元密阿雷:火焰地獄
|
||||
異次元密阿雷:惡夢新月島
|
||||
異次元密阿雷:始源之海
|
||||
異次元密阿雷:終結之地
|
||||
異次元密阿雷:長空之柱
|
||||
|
|
@ -31,3 +31,6 @@ Illumina-Kunstmuseum
|
|||
Académie Étoile
|
||||
Rose-Bezirk 2
|
||||
Nordring
|
||||
Rouge-Bezirk 1
|
||||
Dimensions-Illumina
|
||||
Quazar Corporation
|
||||
|
|
@ -31,3 +31,6 @@ the Lumiose Museum
|
|||
Académie Étoile
|
||||
Magenta Sector 2
|
||||
North Boulevard
|
||||
Rouge Sector 1
|
||||
Hyperspace Lumiose
|
||||
Quasartico Inc.
|
||||
|
|
@ -31,3 +31,6 @@ Museo de Luminalia
|
|||
Escuela Andrómeda
|
||||
Distrito Rosa: sector 2
|
||||
Bulevar Norte
|
||||
Distrito Rojo: sector 1
|
||||
Luminalia Dimensional
|
||||
Quastelar S. A.
|
||||
|
|
@ -31,3 +31,6 @@ Museo de Arte de Luminalia
|
|||
Escuela Perseida
|
||||
Distrito Rosa: sector 2
|
||||
Bulevar Norte
|
||||
Distrito Rojo: sector 1
|
||||
Luminalia Dimensional
|
||||
Quastelar S. A.
|
||||
|
|
@ -31,3 +31,6 @@ Musée d’Illumis
|
|||
Institut Nivers
|
||||
2ᵉ arrondissement de Rosavilliers
|
||||
Rue Septentrionale
|
||||
1ᵉʳ arrondissement de Maurouge
|
||||
Extra Illumis
|
||||
Société Quazar
|
||||
|
|
@ -31,3 +31,6 @@ Museo di Luminopoli
|
|||
Istituto Étoile
|
||||
2º isolato del Quartiere Rosa
|
||||
Corso Alto
|
||||
1º isolato del Quartiere Rosso
|
||||
Luminopoli dimensionale
|
||||
Q-asar Inc.
|
||||
|
|
@ -31,3 +31,6 @@ Pokémon HOME
|
|||
エトワール校
|
||||
ローズ2番地
|
||||
ノースサイドストリート
|
||||
ルージュ1番地
|
||||
異次元ミアレ
|
||||
クエーサー社
|
||||
|
|
@ -31,3 +31,6 @@ Pokémon HOME
|
|||
에투알 스쿨
|
||||
로즈 2번지
|
||||
노스사이드 스트리트
|
||||
루주 1번지
|
||||
이차원 미르
|
||||
퀘이사 주식회사
|
||||
|
|
@ -31,3 +31,6 @@ Pokémon HOME
|
|||
艾特瓦鲁学校
|
||||
蓉粉2号街区
|
||||
北侧大道
|
||||
榴红1号街区
|
||||
异次元密阿雷
|
||||
阔星公司
|
||||
|
|
@ -31,3 +31,6 @@ Pokémon HOME
|
|||
艾特瓦魯學校
|
||||
蓉粉2號街區
|
||||
北側大道
|
||||
榴紅1號街區
|
||||
異次元密阿雷
|
||||
闊星公司
|
||||
|
|
@ -1139,3 +1139,4 @@ Mittelgroße
|
|||
Kleine
|
||||
Große
|
||||
Extragroße
|
||||
Mega Z
|
||||
|
|
@ -1139,3 +1139,4 @@ Medium
|
|||
Small
|
||||
Large
|
||||
Jumbo
|
||||
Mega Z
|
||||
|
|
@ -1139,3 +1139,4 @@ Mediana
|
|||
Pequeña
|
||||
Grande
|
||||
Enorme
|
||||
Mega Z
|
||||
|
|
@ -1139,3 +1139,4 @@ Mediana
|
|||
Pequeña
|
||||
Grande
|
||||
Enorme
|
||||
Mega Z
|
||||
|
|
@ -1139,3 +1139,4 @@ Moyenne
|
|||
Petite
|
||||
Grande
|
||||
Giga
|
||||
Méga Z
|
||||
|
|
@ -1139,3 +1139,4 @@ Media
|
|||
Piccola
|
||||
Grande
|
||||
Gigante
|
||||
Mega Z
|
||||
|
|
@ -1139,3 +1139,4 @@
|
|||
こだましゅ
|
||||
おおだましゅ
|
||||
ギガだましゅ
|
||||
メガ Z
|
||||
|
|
@ -1139,3 +1139,4 @@
|
|||
소과종
|
||||
대과종
|
||||
특대과종
|
||||
메가 Z
|
||||
|
|
@ -1139,3 +1139,4 @@
|
|||
小颗种
|
||||
大颗种
|
||||
巨颗种
|
||||
超级 Z
|
||||
|
|
@ -1139,3 +1139,4 @@ Mega蒂安希
|
|||
小顆種
|
||||
大顆種
|
||||
巨顆種
|
||||
Mega Z
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ private SAV9ZA(IReadOnlyList<SCBlock> blocks) : base(Memory<byte>.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<ulong>(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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace PKHeX.Core;
|
|||
/// </summary>
|
||||
public static class BlankBlocks9a
|
||||
{
|
||||
public const byte BlankRevision = 0; // Latest
|
||||
public const byte BlankRevision = 1;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a blank <see cref="SCBlock"/> array for <see cref="GameVersion.ZA"/>
|
||||
|
|
@ -16,46 +16,51 @@ public static class BlankBlocks9a
|
|||
|
||||
private static ReadOnlySpan<uint> 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,
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
|||
/// <summary>
|
||||
/// Species with gender differences in the dex.
|
||||
/// </summary>
|
||||
/// <remarks>Unique models to display</remarks>
|
||||
private static ReadOnlySpan<ushort> 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<ushort> 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);
|
||||
|
|
|
|||
73
PKHeX.Core/Saves/Substructures/Gen9/ZA/TechnicalMachine9a.cs
Normal file
|
|
@ -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
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Utility function to set all overworld Technical Machines to collected or uncollected state.
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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)
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// 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.
|
||||
/// </summary>
|
||||
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)
|
|||
/// <summary>
|
||||
/// Fetches extra alternate form flags for all forms it can shift between, for Shiny entities.
|
||||
/// </summary>
|
||||
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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,9 @@ namespace PKHeX.Core;
|
|||
/// </summary>
|
||||
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
|
||||
|
|
|
|||
|
|
@ -17827,4 +17827,274 @@
|
|||
<data name="_ball9" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\ball\_ball9.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_998_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_998-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_26_2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_26-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_26_3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_26-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_358_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_358-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_359_2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_359-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_398_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_398-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_445_2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_445-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_448_2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_448-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_485_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_485-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_491_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_491-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_623_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_623-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_678_2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_678-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_740_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_740-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_768_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_768-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_801_2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_801-2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_801_3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_801-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_807_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_807-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_952_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_952-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_970_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_970-1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_978_3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_978-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_978_4" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_978-4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_978_5" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_978-5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_116" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_116.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2684" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2684.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2683" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2683.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2682" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2682.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2681" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2681.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2680" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2680.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2679" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2679.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2678" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2678.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2677" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2677.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2676" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2676.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2675" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2675.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2674" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2674.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2673" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2673.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2672" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2672.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2671" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2671.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2670" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2670.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2669" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2669.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2668" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2668.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2667" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2667.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2666" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2666.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2665" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2665.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2664" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2664.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2663" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2663.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2662" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2662.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2661" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2661.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2660" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2660.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2659" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2659.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2658" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2658.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2657" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2657.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2656" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2656.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2655" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2655.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2654" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2654.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2653" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2653.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2652" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2652.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2651" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2651.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2650" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2650.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2649" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2649.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2648" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2648.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2647" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2647.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2646" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2646.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2645" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2645.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2644" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2644.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2643" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2643.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2642" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2642.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2641" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2641.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2640" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2640.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2639" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2639.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2638" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2638.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2637" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2637.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2636" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2636.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2635" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2635.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2586" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2586.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2568" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2568.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_2567" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_2567.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_1691" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_1691.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_753" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_753.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_752" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_752.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_685" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_685.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_684" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_684.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_664" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_664.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_535" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_535.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_534" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_534.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_259" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_259.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_258" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_258.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_119" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_119.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_118" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_118.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="aitem_117" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Items\aitem_117.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="a_678_3" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\img\Artwork Pokemon Sprites\a_678-3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.4 KiB |